History

[media] V4L: Add VP8 encoder controls

This patch adds new V4L controls for VP8 encoding.

Arun Kumar K committed 13 years ago

Commit bc9028e1 parent d1e9b7c3 files · +229 −7Browse files

Showing the changes to include/uapi/linux (1 of 3 files). Show all

Unified · Split

include/uapi/linux/v4l2-controls.h+29−0
@@ -161,6 +161,8 @@ enum v4l2_colorfx { · 160 unmodified lines
161161 #define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040)
162162
163163 /* MPEG-class control IDs */
164+/* The MPEG controls are applicable to all codec controls
165+ * and the 'MPEG' part of the define is historical */
164166
165167 #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
166168 #define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1)
@@ -522,6 +524,33 @@ enum v4l2_mpeg_video_mpeg4_profile { · 355 unmodified lines
522524 };
523525 #define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407)
524526
527+/* Control IDs for VP8 streams
528+ * Although VP8 is not part of MPEG we add these controls to the MPEG class
529+ * as that class is already handling other video compression standards
530+ */
531+#define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500)
532+enum v4l2_vp8_num_partitions {
533+ V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0,
534+ V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
535+ V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2,
536+ V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3,
537+};
538+#define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501)
539+#define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502)
540+enum v4l2_vp8_num_ref_frames {
541+ V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0,
542+ V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
543+ V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2,
544+};
545+#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503)
546+#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504)
547+#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505)
548+#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506)
549+enum v4l2_vp8_golden_frame_sel {
550+ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0,
551+ V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
552+};
553+
525554 /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
526555 #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
527556 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)