Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] media: Add new SDR formats PC16, PC18 & PC20

This patch adds support for the three new SDR formats. These formats
were prefixed with "planar" indicating I & Q data are not interleaved
as in other formats. Here, I & Q data constitutes the top half and bottom
half of the received buffer respectively.

V4L2_SDR_FMT_PCU16BE - 14-bit complex (I & Q) unsigned big-endian sample
inside 16-bit. V4L2 FourCC: PC16

V4L2_SDR_FMT_PCU18BE - 16-bit complex (I & Q) unsigned big-endian sample
inside 18-bit. V4L2 FourCC: PC18

V4L2_SDR_FMT_PCU20BE - 18-bit complex (I & Q) unsigned big-endian sample
inside 20-bit. V4L2 FourCC: PC20

Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
Signed-off-by: Hans Verkuil <hansverk@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

authored by

Ramesh Shanmugasundaram and committed by
Mauro Carvalho Chehab
c28f2118 b47b79d8

+6
+3
drivers/media/v4l2-core/v4l2-ioctl.c
··· 1229 1229 case V4L2_SDR_FMT_CS8: descr = "Complex S8"; break; 1230 1230 case V4L2_SDR_FMT_CS14LE: descr = "Complex S14LE"; break; 1231 1231 case V4L2_SDR_FMT_RU12LE: descr = "Real U12LE"; break; 1232 + case V4L2_SDR_FMT_PCU16BE: descr = "Planar Complex U16BE"; break; 1233 + case V4L2_SDR_FMT_PCU18BE: descr = "Planar Complex U18BE"; break; 1234 + case V4L2_SDR_FMT_PCU20BE: descr = "Planar Complex U20BE"; break; 1232 1235 case V4L2_TCH_FMT_DELTA_TD16: descr = "16-bit signed deltas"; break; 1233 1236 case V4L2_TCH_FMT_DELTA_TD08: descr = "8-bit signed deltas"; break; 1234 1237 case V4L2_TCH_FMT_TU16: descr = "16-bit unsigned touch data"; break;
+3
include/uapi/linux/videodev2.h
··· 669 669 #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */ 670 670 #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ 671 671 #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ 672 + #define V4L2_SDR_FMT_PCU16BE v4l2_fourcc('P', 'C', '1', '6') /* planar complex u16be */ 673 + #define V4L2_SDR_FMT_PCU18BE v4l2_fourcc('P', 'C', '1', '8') /* planar complex u18be */ 674 + #define V4L2_SDR_FMT_PCU20BE v4l2_fourcc('P', 'C', '2', '0') /* planar complex u20be */ 672 675 673 676 /* Touch formats - used for Touch devices */ 674 677 #define V4L2_TCH_FMT_DELTA_TD16 v4l2_fourcc('T', 'D', '1', '6') /* 16-bit signed deltas */