|
@@ -175,6 +175,15 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
|
|
|
"16-bit CRC",
|
|
|
NULL
|
|
|
};
|
|
|
+ static const char * const mpeg_audio_dec_playback[] = {
|
|
|
+ "Auto",
|
|
|
+ "Stereo",
|
|
|
+ "Left",
|
|
|
+ "Right",
|
|
|
+ "Mono",
|
|
|
+ "Swapped Stereo",
|
|
|
+ NULL
|
|
|
+ };
|
|
|
static const char * const mpeg_video_encoding[] = {
|
|
|
"MPEG-1",
|
|
|
"MPEG-2",
|
|
@@ -374,6 +383,9 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
|
|
|
return mpeg_audio_emphasis;
|
|
|
case V4L2_CID_MPEG_AUDIO_CRC:
|
|
|
return mpeg_audio_crc;
|
|
|
+ case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK:
|
|
|
+ case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK:
|
|
|
+ return mpeg_audio_dec_playback;
|
|
|
case V4L2_CID_MPEG_VIDEO_ENCODING:
|
|
|
return mpeg_video_encoding;
|
|
|
case V4L2_CID_MPEG_VIDEO_ASPECT:
|
|
@@ -492,6 +504,8 @@ const char *v4l2_ctrl_get_name(u32 id)
|
|
|
case V4L2_CID_MPEG_AUDIO_MUTE: return "Audio Mute";
|
|
|
case V4L2_CID_MPEG_AUDIO_AAC_BITRATE: return "Audio AAC Bitrate";
|
|
|
case V4L2_CID_MPEG_AUDIO_AC3_BITRATE: return "Audio AC-3 Bitrate";
|
|
|
+ case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK: return "Audio Playback";
|
|
|
+ case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK: return "Audio Multilingual Playback";
|
|
|
case V4L2_CID_MPEG_VIDEO_ENCODING: return "Video Encoding";
|
|
|
case V4L2_CID_MPEG_VIDEO_ASPECT: return "Video Aspect";
|
|
|
case V4L2_CID_MPEG_VIDEO_B_FRAMES: return "Video B Frames";
|
|
@@ -546,6 +560,8 @@ const char *v4l2_ctrl_get_name(u32 id)
|
|
|
case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB: return "Number of MBs in a Slice";
|
|
|
case V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE: return "Slice Partitioning Method";
|
|
|
case V4L2_CID_MPEG_VIDEO_VBV_SIZE: return "VBV Buffer Size";
|
|
|
+ case V4L2_CID_MPEG_VIDEO_DEC_PTS: return "Video Decoder PTS";
|
|
|
+ case V4L2_CID_MPEG_VIDEO_DEC_FRAME: return "Video Decoder Frame Count";
|
|
|
|
|
|
/* CAMERA controls */
|
|
|
/* Keep the order of the 'case's the same as in videodev2.h! */
|
|
@@ -674,6 +690,8 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
|
|
|
case V4L2_CID_MPEG_AUDIO_MODE_EXTENSION:
|
|
|
case V4L2_CID_MPEG_AUDIO_EMPHASIS:
|
|
|
case V4L2_CID_MPEG_AUDIO_CRC:
|
|
|
+ case V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK:
|
|
|
+ case V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK:
|
|
|
case V4L2_CID_MPEG_VIDEO_ENCODING:
|
|
|
case V4L2_CID_MPEG_VIDEO_ASPECT:
|
|
|
case V4L2_CID_MPEG_VIDEO_BITRATE_MODE:
|
|
@@ -724,6 +742,11 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
|
|
|
*type = V4L2_CTRL_TYPE_INTEGER;
|
|
|
*flags |= V4L2_CTRL_FLAG_READ_ONLY;
|
|
|
break;
|
|
|
+ case V4L2_CID_MPEG_VIDEO_DEC_FRAME:
|
|
|
+ case V4L2_CID_MPEG_VIDEO_DEC_PTS:
|
|
|
+ *type = V4L2_CTRL_TYPE_INTEGER64;
|
|
|
+ *flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_VOLATILE;
|
|
|
+ break;
|
|
|
default:
|
|
|
*type = V4L2_CTRL_TYPE_INTEGER;
|
|
|
break;
|