| @@ -54,7 +54,7 @@ · 53 unmodified lines |
| 54 | | 54 | |
| 55 | /* Control classes */ | 55 | /* Control classes */ |
| 56 | #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ | 56 | #define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */ |
| 57 | #define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */ | 57 | #define V4L2_CTRL_CLASS_CODEC 0x00990000 /* Stateful codec controls */ |
| 58 | #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ | 58 | #define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */ |
| 59 | #define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator controls */ | 59 | #define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator controls */ |
| 60 | #define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */ | 60 | #define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */ |
| @@ -65,6 +65,7 @@ · 4 unmodified lines |
| 65 | #define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */ | 65 | #define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */ |
| 66 | #define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */ | 66 | #define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */ |
| 67 | #define V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */ | 67 | #define V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */ |
| | 68 | #define V4L2_CTRL_CLASS_CODEC_STATELESS 0x00a40000 /* Stateless codecs controls */ |
| 68 | | 69 | |
| 69 | /* User-class control IDs */ | 70 | /* User-class control IDs */ |
| 70 | | 71 | |
| @@ -198,15 +199,21 @@ enum v4l2_colorfx { · 127 unmodified lines |
| 198 | */ | 199 | */ |
| 199 | #define V4L2_CID_USER_ATMEL_ISC_BASE (V4L2_CID_USER_BASE + 0x10c0) | 200 | #define V4L2_CID_USER_ATMEL_ISC_BASE (V4L2_CID_USER_BASE + 0x10c0) |
| 200 | | 201 | |
| | 202 | /* |
| | 203 | * The base for the CODA driver controls. |
| | 204 | * We reserve 16 controls for this driver. |
| | 205 | */ |
| | 206 | #define V4L2_CID_USER_CODA_BASE (V4L2_CID_USER_BASE + 0x10e0) |
| | 207 | |
| 201 | /* MPEG-class control IDs */ | 208 | /* MPEG-class control IDs */ |
| 202 | /* The MPEG controls are applicable to all codec controls | 209 | /* The MPEG controls are applicable to all codec controls |
| 203 | * and the 'MPEG' part of the define is historical */ | 210 | * and the 'MPEG' part of the define is historical */ |
| 204 | | 211 | |
| 205 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) | 212 | #define V4L2_CID_CODEC_BASE (V4L2_CTRL_CLASS_CODEC | 0x900) |
| 206 | #define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1) | 213 | #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1) |
| 207 | | 214 | |
| 208 | /* MPEG streams, specific to multiplexed streams */ | 215 | /* MPEG streams, specific to multiplexed streams */ |
| 209 | #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0) | 216 | #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_CODEC_BASE+0) |
| 210 | enum v4l2_mpeg_stream_type { | 217 | enum v4l2_mpeg_stream_type { |
| 211 | V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */ | 218 | V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */ |
| 212 | V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */ | 219 | V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */ |
| @@ -215,26 +222,26 @@ enum v4l2_mpeg_stream_type { · 2 unmodified lines |
| 215 | V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */ | 222 | V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */ |
| 216 | V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */ | 223 | V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */ |
| 217 | }; | 224 | }; |
| 218 | #define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1) | 225 | #define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_CODEC_BASE+1) |
| 219 | #define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2) | 226 | #define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_CODEC_BASE+2) |
| 220 | #define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3) | 227 | #define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_CODEC_BASE+3) |
| 221 | #define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4) | 228 | #define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_CODEC_BASE+4) |
| 222 | #define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5) | 229 | #define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_CODEC_BASE+5) |
| 223 | #define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6) | 230 | #define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_CODEC_BASE+6) |
| 224 | #define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7) | 231 | #define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_CODEC_BASE+7) |
| 225 | enum v4l2_mpeg_stream_vbi_fmt { | 232 | enum v4l2_mpeg_stream_vbi_fmt { |
| 226 | V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */ | 233 | V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */ |
| 227 | V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */ | 234 | V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */ |
| 228 | }; | 235 | }; |
| 229 | | 236 | |
| 230 | /* MPEG audio controls specific to multiplexed streams */ | 237 | /* MPEG audio controls specific to multiplexed streams */ |
| 231 | #define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100) | 238 | #define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_CODEC_BASE+100) |
| 232 | enum v4l2_mpeg_audio_sampling_freq { | 239 | enum v4l2_mpeg_audio_sampling_freq { |
| 233 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, | 240 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0, |
| 234 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1, | 241 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1, |
| 235 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2, | 242 | V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2, |
| 236 | }; | 243 | }; |
| 237 | #define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101) | 244 | #define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_CODEC_BASE+101) |
| 238 | enum v4l2_mpeg_audio_encoding { | 245 | enum v4l2_mpeg_audio_encoding { |
| 239 | V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0, | 246 | V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0, |
| 240 | V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1, | 247 | V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1, |
| @@ -242,7 +249,7 @@ enum v4l2_mpeg_audio_encoding { · 1 unmodified line |
| 242 | V4L2_MPEG_AUDIO_ENCODING_AAC = 3, | 249 | V4L2_MPEG_AUDIO_ENCODING_AAC = 3, |
| 243 | V4L2_MPEG_AUDIO_ENCODING_AC3 = 4, | 250 | V4L2_MPEG_AUDIO_ENCODING_AC3 = 4, |
| 244 | }; | 251 | }; |
| 245 | #define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102) | 252 | #define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_CODEC_BASE+102) |
| 246 | enum v4l2_mpeg_audio_l1_bitrate { | 253 | enum v4l2_mpeg_audio_l1_bitrate { |
| 247 | V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0, | 254 | V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0, |
| 248 | V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1, | 255 | V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1, |
| @@ -259,7 +266,7 @@ enum v4l2_mpeg_audio_l1_bitrate { · 10 unmodified lines |
| 259 | V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12, | 266 | V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12, |
| 260 | V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13, | 267 | V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13, |
| 261 | }; | 268 | }; |
| 262 | #define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103) | 269 | #define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_CODEC_BASE+103) |
| 263 | enum v4l2_mpeg_audio_l2_bitrate { | 270 | enum v4l2_mpeg_audio_l2_bitrate { |
| 264 | V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0, | 271 | V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0, |
| 265 | V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1, | 272 | V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1, |
| @@ -276,7 +283,7 @@ enum v4l2_mpeg_audio_l2_bitrate { · 10 unmodified lines |
| 276 | V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12, | 283 | V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12, |
| 277 | V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13, | 284 | V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13, |
| 278 | }; | 285 | }; |
| 279 | #define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104) | 286 | #define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_CODEC_BASE+104) |
| 280 | enum v4l2_mpeg_audio_l3_bitrate { | 287 | enum v4l2_mpeg_audio_l3_bitrate { |
| 281 | V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0, | 288 | V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0, |
| 282 | V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1, | 289 | V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1, |
| @@ -293,34 +300,34 @@ enum v4l2_mpeg_audio_l3_bitrate { · 10 unmodified lines |
| 293 | V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12, | 300 | V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12, |
| 294 | V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13, | 301 | V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13, |
| 295 | }; | 302 | }; |
| 296 | #define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105) | 303 | #define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_CODEC_BASE+105) |
| 297 | enum v4l2_mpeg_audio_mode { | 304 | enum v4l2_mpeg_audio_mode { |
| 298 | V4L2_MPEG_AUDIO_MODE_STEREO = 0, | 305 | V4L2_MPEG_AUDIO_MODE_STEREO = 0, |
| 299 | V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1, | 306 | V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1, |
| 300 | V4L2_MPEG_AUDIO_MODE_DUAL = 2, | 307 | V4L2_MPEG_AUDIO_MODE_DUAL = 2, |
| 301 | V4L2_MPEG_AUDIO_MODE_MONO = 3, | 308 | V4L2_MPEG_AUDIO_MODE_MONO = 3, |
| 302 | }; | 309 | }; |
| 303 | #define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106) | 310 | #define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_CODEC_BASE+106) |
| 304 | enum v4l2_mpeg_audio_mode_extension { | 311 | enum v4l2_mpeg_audio_mode_extension { |
| 305 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0, | 312 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0, |
| 306 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1, | 313 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1, |
| 307 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2, | 314 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2, |
| 308 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3, | 315 | V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3, |
| 309 | }; | 316 | }; |
| 310 | #define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107) | 317 | #define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_CODEC_BASE+107) |
| 311 | enum v4l2_mpeg_audio_emphasis { | 318 | enum v4l2_mpeg_audio_emphasis { |
| 312 | V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0, | 319 | V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0, |
| 313 | V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1, | 320 | V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1, |
| 314 | V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2, | 321 | V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2, |
| 315 | }; | 322 | }; |
| 316 | #define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108) | 323 | #define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_CODEC_BASE+108) |
| 317 | enum v4l2_mpeg_audio_crc { | 324 | enum v4l2_mpeg_audio_crc { |
| 318 | V4L2_MPEG_AUDIO_CRC_NONE = 0, | 325 | V4L2_MPEG_AUDIO_CRC_NONE = 0, |
| 319 | V4L2_MPEG_AUDIO_CRC_CRC16 = 1, | 326 | V4L2_MPEG_AUDIO_CRC_CRC16 = 1, |
| 320 | }; | 327 | }; |
| 321 | #define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109) | 328 | #define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_CODEC_BASE+109) |
| 322 | #define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110) | 329 | #define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_CODEC_BASE+110) |
| 323 | #define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111) | 330 | #define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_CODEC_BASE+111) |
| 324 | enum v4l2_mpeg_audio_ac3_bitrate { | 331 | enum v4l2_mpeg_audio_ac3_bitrate { |
| 325 | V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0, | 332 | V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0, |
| 326 | V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1, | 333 | V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1, |
| @@ -342,7 +349,7 @@ enum v4l2_mpeg_audio_ac3_bitrate { · 15 unmodified lines |
| 342 | V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17, | 349 | V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17, |
| 343 | V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, | 350 | V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18, |
| 344 | }; | 351 | }; |
| 345 | #define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112) | 352 | #define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_CODEC_BASE+112) |
| 346 | enum v4l2_mpeg_audio_dec_playback { | 353 | enum v4l2_mpeg_audio_dec_playback { |
| 347 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0, | 354 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0, |
| 348 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1, | 355 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1, |
| @@ -351,52 +358,52 @@ enum v4l2_mpeg_audio_dec_playback { · 2 unmodified lines |
| 351 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4, | 358 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4, |
| 352 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5, | 359 | V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5, |
| 353 | }; | 360 | }; |
| 354 | #define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113) | 361 | #define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_CODEC_BASE+113) |
| 355 | | 362 | |
| 356 | /* MPEG video controls specific to multiplexed streams */ | 363 | /* MPEG video controls specific to multiplexed streams */ |
| 357 | #define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200) | 364 | #define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_CODEC_BASE+200) |
| 358 | enum v4l2_mpeg_video_encoding { | 365 | enum v4l2_mpeg_video_encoding { |
| 359 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, | 366 | V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0, |
| 360 | V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1, | 367 | V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1, |
| 361 | V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2, | 368 | V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2, |
| 362 | }; | 369 | }; |
| 363 | #define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201) | 370 | #define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_CODEC_BASE+201) |
| 364 | enum v4l2_mpeg_video_aspect { | 371 | enum v4l2_mpeg_video_aspect { |
| 365 | V4L2_MPEG_VIDEO_ASPECT_1x1 = 0, | 372 | V4L2_MPEG_VIDEO_ASPECT_1x1 = 0, |
| 366 | V4L2_MPEG_VIDEO_ASPECT_4x3 = 1, | 373 | V4L2_MPEG_VIDEO_ASPECT_4x3 = 1, |
| 367 | V4L2_MPEG_VIDEO_ASPECT_16x9 = 2, | 374 | V4L2_MPEG_VIDEO_ASPECT_16x9 = 2, |
| 368 | V4L2_MPEG_VIDEO_ASPECT_221x100 = 3, | 375 | V4L2_MPEG_VIDEO_ASPECT_221x100 = 3, |
| 369 | }; | 376 | }; |
| 370 | #define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202) | 377 | #define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_CODEC_BASE+202) |
| 371 | #define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203) | 378 | #define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_CODEC_BASE+203) |
| 372 | #define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204) | 379 | #define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_CODEC_BASE+204) |
| 373 | #define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205) | 380 | #define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_CODEC_BASE+205) |
| 374 | #define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206) | 381 | #define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_CODEC_BASE+206) |
| 375 | enum v4l2_mpeg_video_bitrate_mode { | 382 | enum v4l2_mpeg_video_bitrate_mode { |
| 376 | V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0, | 383 | V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0, |
| 377 | V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1, | 384 | V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1, |
| 378 | V4L2_MPEG_VIDEO_BITRATE_MODE_CQ = 2, | 385 | V4L2_MPEG_VIDEO_BITRATE_MODE_CQ = 2, |
| 379 | }; | 386 | }; |
| 380 | #define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207) | 387 | #define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_CODEC_BASE+207) |
| 381 | #define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208) | 388 | #define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_CODEC_BASE+208) |
| 382 | #define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209) | 389 | #define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_CODEC_BASE+209) |
| 383 | #define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210) | 390 | #define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_CODEC_BASE+210) |
| 384 | #define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211) | 391 | #define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_CODEC_BASE+211) |
| 385 | #define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212) | 392 | #define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_CODEC_BASE+212) |
| 386 | #define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213) | 393 | #define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_CODEC_BASE+213) |
| 387 | #define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214) | 394 | #define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_CODEC_BASE+214) |
| 388 | #define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215) | 395 | #define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_CODEC_BASE+215) |
| 389 | #define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216) | 396 | #define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_CODEC_BASE+216) |
| 390 | enum v4l2_mpeg_video_header_mode { | 397 | enum v4l2_mpeg_video_header_mode { |
| 391 | V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0, | 398 | V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0, |
| 392 | V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1, | 399 | V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1, |
| 393 | | 400 | |
| 394 | }; | 401 | }; |
| 395 | #define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217) | 402 | #define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_CODEC_BASE+217) |
| 396 | #define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218) | 403 | #define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_CODEC_BASE+218) |
| 397 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219) | 404 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_CODEC_BASE+219) |
| 398 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220) | 405 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_CODEC_BASE+220) |
| 399 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221) | 406 | #define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_CODEC_BASE+221) |
| 400 | enum v4l2_mpeg_video_multi_slice_mode { | 407 | enum v4l2_mpeg_video_multi_slice_mode { |
| 401 | V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0, | 408 | V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0, |
| 402 | V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1, | 409 | V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB = 1, |
| @@ -407,24 +414,24 @@ enum v4l2_mpeg_video_multi_slice_mode { · 4 unmodified lines |
| 407 | V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2, | 414 | V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2, |
| 408 | #endif | 415 | #endif |
| 409 | }; | 416 | }; |
| 410 | #define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222) | 417 | #define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_CODEC_BASE+222) |
| 411 | #define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223) | 418 | #define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_CODEC_BASE+223) |
| 412 | #define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224) | 419 | #define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_CODEC_BASE+224) |
| 413 | #define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225) | 420 | #define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_CODEC_BASE+225) |
| 414 | #define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226) | 421 | #define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_CODEC_BASE+226) |
| 415 | #define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227) | 422 | #define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_CODEC_BASE+227) |
| 416 | #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228) | 423 | #define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_CODEC_BASE+228) |
| 417 | #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229) | 424 | #define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_CODEC_BASE+229) |
| 418 | | 425 | |
| 419 | /* CIDs for the MPEG-2 Part 2 (H.262) codec */ | 426 | /* CIDs for the MPEG-2 Part 2 (H.262) codec */ |
| 420 | #define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_MPEG_BASE+270) | 427 | #define V4L2_CID_MPEG_VIDEO_MPEG2_LEVEL (V4L2_CID_CODEC_BASE+270) |
| 421 | enum v4l2_mpeg_video_mpeg2_level { | 428 | enum v4l2_mpeg_video_mpeg2_level { |
| 422 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0, | 429 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_LOW = 0, |
| 423 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1, | 430 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_MAIN = 1, |
| 424 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2, | 431 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH_1440 = 2, |
| 425 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3, | 432 | V4L2_MPEG_VIDEO_MPEG2_LEVEL_HIGH = 3, |
| 426 | }; | 433 | }; |
| 427 | #define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_MPEG_BASE+271) | 434 | #define V4L2_CID_MPEG_VIDEO_MPEG2_PROFILE (V4L2_CID_CODEC_BASE+271) |
| 428 | enum v4l2_mpeg_video_mpeg2_profile { | 435 | enum v4l2_mpeg_video_mpeg2_profile { |
| 429 | V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0, | 436 | V4L2_MPEG_VIDEO_MPEG2_PROFILE_SIMPLE = 0, |
| 430 | V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1, | 437 | V4L2_MPEG_VIDEO_MPEG2_PROFILE_MAIN = 1, |
| @@ -435,28 +442,28 @@ enum v4l2_mpeg_video_mpeg2_profile { · 4 unmodified lines |
| 435 | }; | 442 | }; |
| 436 | | 443 | |
| 437 | /* CIDs for the FWHT codec as used by the vicodec driver. */ | 444 | /* CIDs for the FWHT codec as used by the vicodec driver. */ |
| 438 | #define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_MPEG_BASE + 290) | 445 | #define V4L2_CID_FWHT_I_FRAME_QP (V4L2_CID_CODEC_BASE + 290) |
| 439 | #define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_MPEG_BASE + 291) | 446 | #define V4L2_CID_FWHT_P_FRAME_QP (V4L2_CID_CODEC_BASE + 291) |
| 440 | | 447 | |
| 441 | #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300) | 448 | #define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_CODEC_BASE+300) |
| 442 | #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301) | 449 | #define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_CODEC_BASE+301) |
| 443 | #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302) | 450 | #define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_CODEC_BASE+302) |
| 444 | #define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303) | 451 | #define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_CODEC_BASE+303) |
| 445 | #define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304) | 452 | #define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_CODEC_BASE+304) |
| 446 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350) | 453 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_CODEC_BASE+350) |
| 447 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351) | 454 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_CODEC_BASE+351) |
| 448 | #define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352) | 455 | #define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_CODEC_BASE+352) |
| 449 | #define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353) | 456 | #define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_CODEC_BASE+353) |
| 450 | #define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354) | 457 | #define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_CODEC_BASE+354) |
| 451 | #define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355) | 458 | #define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_CODEC_BASE+355) |
| 452 | #define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356) | 459 | #define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_CODEC_BASE+356) |
| 453 | #define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357) | 460 | #define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_CODEC_BASE+357) |
| 454 | enum v4l2_mpeg_video_h264_entropy_mode { | 461 | enum v4l2_mpeg_video_h264_entropy_mode { |
| 455 | V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0, | 462 | V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0, |
| 456 | V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1, | 463 | V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1, |
| 457 | }; | 464 | }; |
| 458 | #define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358) | 465 | #define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_CODEC_BASE+358) |
| 459 | #define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359) | 466 | #define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_CODEC_BASE+359) |
| 460 | enum v4l2_mpeg_video_h264_level { | 467 | enum v4l2_mpeg_video_h264_level { |
| 461 | V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0, | 468 | V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0, |
| 462 | V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1, | 469 | V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1, |
| @@ -479,15 +486,15 @@ enum v4l2_mpeg_video_h264_level { · 16 unmodified lines |
| 479 | V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18, | 486 | V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18, |
| 480 | V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19, | 487 | V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19, |
| 481 | }; | 488 | }; |
| 482 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360) | 489 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_CODEC_BASE+360) |
| 483 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361) | 490 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_CODEC_BASE+361) |
| 484 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362) | 491 | #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_CODEC_BASE+362) |
| 485 | enum v4l2_mpeg_video_h264_loop_filter_mode { | 492 | enum v4l2_mpeg_video_h264_loop_filter_mode { |
| 486 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0, | 493 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0, |
| 487 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1, | 494 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1, |
| 488 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, | 495 | V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, |
| 489 | }; | 496 | }; |
| 490 | #define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363) | 497 | #define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_CODEC_BASE+363) |
| 491 | enum v4l2_mpeg_video_h264_profile { | 498 | enum v4l2_mpeg_video_h264_profile { |
| 492 | V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0, | 499 | V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0, |
| 493 | V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1, | 500 | V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1, |
| @@ -508,10 +515,10 @@ enum v4l2_mpeg_video_h264_profile { · 14 unmodified lines |
| 508 | V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16, | 515 | V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16, |
| 509 | V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17, | 516 | V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17, |
| 510 | }; | 517 | }; |
| 511 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364) | 518 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_CODEC_BASE+364) |
| 512 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365) | 519 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_CODEC_BASE+365) |
| 513 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366) | 520 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_CODEC_BASE+366) |
| 514 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367) | 521 | #define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_CODEC_BASE+367) |
| 515 | enum v4l2_mpeg_video_h264_vui_sar_idc { | 522 | enum v4l2_mpeg_video_h264_vui_sar_idc { |
| 516 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0, | 523 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0, |
| 517 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1, | 524 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1, |
| @@ -532,9 +539,9 @@ enum v4l2_mpeg_video_h264_vui_sar_idc { · 14 unmodified lines |
| 532 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16, | 539 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16, |
| 533 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17, | 540 | V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17, |
| 534 | }; | 541 | }; |
| 535 | #define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368) | 542 | #define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_CODEC_BASE+368) |
| 536 | #define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369) | 543 | #define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_CODEC_BASE+369) |
| 537 | #define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370) | 544 | #define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_CODEC_BASE+370) |
| 538 | enum v4l2_mpeg_video_h264_sei_fp_arrangement_type { | 545 | enum v4l2_mpeg_video_h264_sei_fp_arrangement_type { |
| 539 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0, | 546 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0, |
| 540 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1, | 547 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1, |
| @@ -543,8 +550,8 @@ enum v4l2_mpeg_video_h264_sei_fp_arrangement_type { · 2 unmodified lines |
| 543 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4, | 550 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4, |
| 544 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5, | 551 | V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5, |
| 545 | }; | 552 | }; |
| 546 | #define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371) | 553 | #define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_CODEC_BASE+371) |
| 547 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372) | 554 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_CODEC_BASE+372) |
| 548 | enum v4l2_mpeg_video_h264_fmo_map_type { | 555 | enum v4l2_mpeg_video_h264_fmo_map_type { |
| 549 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0, | 556 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0, |
| 550 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1, | 557 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1, |
| @@ -554,36 +561,36 @@ enum v4l2_mpeg_video_h264_fmo_map_type { · 3 unmodified lines |
| 554 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5, | 561 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5, |
| 555 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6, | 562 | V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6, |
| 556 | }; | 563 | }; |
| 557 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373) | 564 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_CODEC_BASE+373) |
| 558 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374) | 565 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_CODEC_BASE+374) |
| 559 | enum v4l2_mpeg_video_h264_fmo_change_dir { | 566 | enum v4l2_mpeg_video_h264_fmo_change_dir { |
| 560 | V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0, | 567 | V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0, |
| 561 | V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1, | 568 | V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1, |
| 562 | }; | 569 | }; |
| 563 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375) | 570 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_CODEC_BASE+375) |
| 564 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376) | 571 | #define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_CODEC_BASE+376) |
| 565 | #define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377) | 572 | #define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_CODEC_BASE+377) |
| 566 | #define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378) | 573 | #define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_CODEC_BASE+378) |
| 567 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379) | 574 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_CODEC_BASE+379) |
| 568 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380) | 575 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_CODEC_BASE+380) |
| 569 | enum v4l2_mpeg_video_h264_hierarchical_coding_type { | 576 | enum v4l2_mpeg_video_h264_hierarchical_coding_type { |
| 570 | V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0, | 577 | V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0, |
| 571 | V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1, | 578 | V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1, |
| 572 | }; | 579 | }; |
| 573 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381) | 580 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_CODEC_BASE+381) |
| 574 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382) | 581 | #define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_CODEC_BASE+382) |
| 575 | #define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_MPEG_BASE+383) | 582 | #define V4L2_CID_MPEG_VIDEO_H264_CONSTRAINED_INTRA_PREDICTION (V4L2_CID_CODEC_BASE+383) |
| 576 | #define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_MPEG_BASE+384) | 583 | #define V4L2_CID_MPEG_VIDEO_H264_CHROMA_QP_INDEX_OFFSET (V4L2_CID_CODEC_BASE+384) |
| 577 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+385) | 584 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+385) |
| 578 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+386) | 585 | #define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+386) |
| 579 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_MPEG_BASE+387) | 586 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP (V4L2_CID_CODEC_BASE+387) |
| 580 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_MPEG_BASE+388) | 587 | #define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP (V4L2_CID_CODEC_BASE+388) |
| 581 | #define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400) | 588 | #define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_CODEC_BASE+400) |
| 582 | #define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401) | 589 | #define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_CODEC_BASE+401) |
| 583 | #define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402) | 590 | #define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_CODEC_BASE+402) |
| 584 | #define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403) | 591 | #define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_CODEC_BASE+403) |
| 585 | #define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404) | 592 | #define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_CODEC_BASE+404) |
| 586 | #define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405) | 593 | #define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_CODEC_BASE+405) |
| 587 | enum v4l2_mpeg_video_mpeg4_level { | 594 | enum v4l2_mpeg_video_mpeg4_level { |
| 588 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0, | 595 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0, |
| 589 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1, | 596 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1, |
| @@ -594,7 +601,7 @@ enum v4l2_mpeg_video_mpeg4_level { · 4 unmodified lines |
| 594 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6, | 601 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6, |
| 595 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7, | 602 | V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7, |
| 596 | }; | 603 | }; |
| 597 | #define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406) | 604 | #define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_CODEC_BASE+406) |
| 598 | enum v4l2_mpeg_video_mpeg4_profile { | 605 | enum v4l2_mpeg_video_mpeg4_profile { |
| 599 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0, | 606 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0, |
| 600 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1, | 607 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1, |
| @@ -602,40 +609,40 @@ enum v4l2_mpeg_video_mpeg4_profile { · 1 unmodified line |
| 602 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3, | 609 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3, |
| 603 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4, | 610 | V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4, |
| 604 | }; | 611 | }; |
| 605 | #define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407) | 612 | #define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_CODEC_BASE+407) |
| 606 | | 613 | |
| 607 | /* Control IDs for VP8 streams | 614 | /* Control IDs for VP8 streams |
| 608 | * Although VP8 is not part of MPEG we add these controls to the MPEG class | 615 | * Although VP8 is not part of MPEG we add these controls to the MPEG class |
| 609 | * as that class is already handling other video compression standards | 616 | * as that class is already handling other video compression standards |
| 610 | */ | 617 | */ |
| 611 | #define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500) | 618 | #define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_CODEC_BASE+500) |
| 612 | enum v4l2_vp8_num_partitions { | 619 | enum v4l2_vp8_num_partitions { |
| 613 | V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0, | 620 | V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0, |
| 614 | V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1, | 621 | V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1, |
| 615 | V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2, | 622 | V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2, |
| 616 | V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3, | 623 | V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3, |
| 617 | }; | 624 | }; |
| 618 | #define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501) | 625 | #define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_CODEC_BASE+501) |
| 619 | #define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502) | 626 | #define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_CODEC_BASE+502) |
| 620 | enum v4l2_vp8_num_ref_frames { | 627 | enum v4l2_vp8_num_ref_frames { |
| 621 | V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0, | 628 | V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0, |
| 622 | V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1, | 629 | V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1, |
| 623 | V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2, | 630 | V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2, |
| 624 | }; | 631 | }; |
| 625 | #define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503) | 632 | #define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_CODEC_BASE+503) |
| 626 | #define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504) | 633 | #define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_CODEC_BASE+504) |
| 627 | #define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505) | 634 | #define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_CODEC_BASE+505) |
| 628 | #define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506) | 635 | #define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_CODEC_BASE+506) |
| 629 | enum v4l2_vp8_golden_frame_sel { | 636 | enum v4l2_vp8_golden_frame_sel { |
| 630 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0, | 637 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0, |
| 631 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1, | 638 | V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1, |
| 632 | }; | 639 | }; |
| 633 | #define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507) | 640 | #define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_CODEC_BASE+507) |
| 634 | #define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508) | 641 | #define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_CODEC_BASE+508) |
| 635 | #define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509) | 642 | #define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_CODEC_BASE+509) |
| 636 | #define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510) | 643 | #define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_CODEC_BASE+510) |
| 637 | | 644 | |
| 638 | #define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_MPEG_BASE+511) | 645 | #define V4L2_CID_MPEG_VIDEO_VP8_PROFILE (V4L2_CID_CODEC_BASE+511) |
| 639 | enum v4l2_mpeg_video_vp8_profile { | 646 | enum v4l2_mpeg_video_vp8_profile { |
| 640 | V4L2_MPEG_VIDEO_VP8_PROFILE_0 = 0, | 647 | V4L2_MPEG_VIDEO_VP8_PROFILE_0 = 0, |
| 641 | V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1, | 648 | V4L2_MPEG_VIDEO_VP8_PROFILE_1 = 1, |
| @@ -644,14 +651,14 @@ enum v4l2_mpeg_video_vp8_profile { · 2 unmodified lines |
| 644 | }; | 651 | }; |
| 645 | /* Deprecated alias for compatibility reasons. */ | 652 | /* Deprecated alias for compatibility reasons. */ |
| 646 | #define V4L2_CID_MPEG_VIDEO_VPX_PROFILE V4L2_CID_MPEG_VIDEO_VP8_PROFILE | 653 | #define V4L2_CID_MPEG_VIDEO_VPX_PROFILE V4L2_CID_MPEG_VIDEO_VP8_PROFILE |
| 647 | #define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_MPEG_BASE+512) | 654 | #define V4L2_CID_MPEG_VIDEO_VP9_PROFILE (V4L2_CID_CODEC_BASE+512) |
| 648 | enum v4l2_mpeg_video_vp9_profile { | 655 | enum v4l2_mpeg_video_vp9_profile { |
| 649 | V4L2_MPEG_VIDEO_VP9_PROFILE_0 = 0, | 656 | V4L2_MPEG_VIDEO_VP9_PROFILE_0 = 0, |
| 650 | V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1, | 657 | V4L2_MPEG_VIDEO_VP9_PROFILE_1 = 1, |
| 651 | V4L2_MPEG_VIDEO_VP9_PROFILE_2 = 2, | 658 | V4L2_MPEG_VIDEO_VP9_PROFILE_2 = 2, |
| 652 | V4L2_MPEG_VIDEO_VP9_PROFILE_3 = 3, | 659 | V4L2_MPEG_VIDEO_VP9_PROFILE_3 = 3, |
| 653 | }; | 660 | }; |
| 654 | #define V4L2_CID_MPEG_VIDEO_VP9_LEVEL (V4L2_CID_MPEG_BASE+513) | 661 | #define V4L2_CID_MPEG_VIDEO_VP9_LEVEL (V4L2_CID_CODEC_BASE+513) |
| 655 | enum v4l2_mpeg_video_vp9_level { | 662 | enum v4l2_mpeg_video_vp9_level { |
| 656 | V4L2_MPEG_VIDEO_VP9_LEVEL_1_0 = 0, | 663 | V4L2_MPEG_VIDEO_VP9_LEVEL_1_0 = 0, |
| 657 | V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1, | 664 | V4L2_MPEG_VIDEO_VP9_LEVEL_1_1 = 1, |
| @@ -671,32 +678,32 @@ enum v4l2_mpeg_video_vp9_level { · 13 unmodified lines |
| 671 | | 678 | |
| 672 | /* CIDs for HEVC encoding. */ | 679 | /* CIDs for HEVC encoding. */ |
| 673 | | 680 | |
| 674 | #define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_MPEG_BASE + 600) | 681 | #define V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP (V4L2_CID_CODEC_BASE + 600) |
| 675 | #define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_MPEG_BASE + 601) | 682 | #define V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP (V4L2_CID_CODEC_BASE + 601) |
| 676 | #define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_MPEG_BASE + 602) | 683 | #define V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP (V4L2_CID_CODEC_BASE + 602) |
| 677 | #define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_MPEG_BASE + 603) | 684 | #define V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP (V4L2_CID_CODEC_BASE + 603) |
| 678 | #define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_MPEG_BASE + 604) | 685 | #define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP (V4L2_CID_CODEC_BASE + 604) |
| 679 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_MPEG_BASE + 605) | 686 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP (V4L2_CID_CODEC_BASE + 605) |
| 680 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_MPEG_BASE + 606) | 687 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_TYPE (V4L2_CID_CODEC_BASE + 606) |
| 681 | enum v4l2_mpeg_video_hevc_hier_coding_type { | 688 | enum v4l2_mpeg_video_hevc_hier_coding_type { |
| 682 | V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0, | 689 | V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_B = 0, |
| 683 | V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1, | 690 | V4L2_MPEG_VIDEO_HEVC_HIERARCHICAL_CODING_P = 1, |
| 684 | }; | 691 | }; |
| 685 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_MPEG_BASE + 607) | 692 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_LAYER (V4L2_CID_CODEC_BASE + 607) |
| 686 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_MPEG_BASE + 608) | 693 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_QP (V4L2_CID_CODEC_BASE + 608) |
| 687 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_MPEG_BASE + 609) | 694 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_QP (V4L2_CID_CODEC_BASE + 609) |
| 688 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_MPEG_BASE + 610) | 695 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_QP (V4L2_CID_CODEC_BASE + 610) |
| 689 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_MPEG_BASE + 611) | 696 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_QP (V4L2_CID_CODEC_BASE + 611) |
| 690 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_MPEG_BASE + 612) | 697 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_QP (V4L2_CID_CODEC_BASE + 612) |
| 691 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_MPEG_BASE + 613) | 698 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_QP (V4L2_CID_CODEC_BASE + 613) |
| 692 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_MPEG_BASE + 614) | 699 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_QP (V4L2_CID_CODEC_BASE + 614) |
| 693 | #define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_MPEG_BASE + 615) | 700 | #define V4L2_CID_MPEG_VIDEO_HEVC_PROFILE (V4L2_CID_CODEC_BASE + 615) |
| 694 | enum v4l2_mpeg_video_hevc_profile { | 701 | enum v4l2_mpeg_video_hevc_profile { |
| 695 | V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0, | 702 | V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN = 0, |
| 696 | V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1, | 703 | V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE = 1, |
| 697 | V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2, | 704 | V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10 = 2, |
| 698 | }; | 705 | }; |
| 699 | #define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_MPEG_BASE + 616) | 706 | #define V4L2_CID_MPEG_VIDEO_HEVC_LEVEL (V4L2_CID_CODEC_BASE + 616) |
| 700 | enum v4l2_mpeg_video_hevc_level { | 707 | enum v4l2_mpeg_video_hevc_level { |
| 701 | V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0, | 708 | V4L2_MPEG_VIDEO_HEVC_LEVEL_1 = 0, |
| 702 | V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1, | 709 | V4L2_MPEG_VIDEO_HEVC_LEVEL_2 = 1, |
| @@ -712,56 +719,56 @@ enum v4l2_mpeg_video_hevc_level { · 9 unmodified lines |
| 712 | V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11, | 719 | V4L2_MPEG_VIDEO_HEVC_LEVEL_6_1 = 11, |
| 713 | V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12, | 720 | V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2 = 12, |
| 714 | }; | 721 | }; |
| 715 | #define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_MPEG_BASE + 617) | 722 | #define V4L2_CID_MPEG_VIDEO_HEVC_FRAME_RATE_RESOLUTION (V4L2_CID_CODEC_BASE + 617) |
| 716 | #define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_MPEG_BASE + 618) | 723 | #define V4L2_CID_MPEG_VIDEO_HEVC_TIER (V4L2_CID_CODEC_BASE + 618) |
| 717 | enum v4l2_mpeg_video_hevc_tier { | 724 | enum v4l2_mpeg_video_hevc_tier { |
| 718 | V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0, | 725 | V4L2_MPEG_VIDEO_HEVC_TIER_MAIN = 0, |
| 719 | V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1, | 726 | V4L2_MPEG_VIDEO_HEVC_TIER_HIGH = 1, |
| 720 | }; | 727 | }; |
| 721 | #define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_MPEG_BASE + 619) | 728 | #define V4L2_CID_MPEG_VIDEO_HEVC_MAX_PARTITION_DEPTH (V4L2_CID_CODEC_BASE + 619) |
| 722 | #define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE + 620) | 729 | #define V4L2_CID_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE (V4L2_CID_CODEC_BASE + 620) |
| 723 | enum v4l2_cid_mpeg_video_hevc_loop_filter_mode { | 730 | enum v4l2_cid_mpeg_video_hevc_loop_filter_mode { |
| 724 | V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0, | 731 | V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED = 0, |
| 725 | V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1, | 732 | V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_ENABLED = 1, |
| 726 | V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, | 733 | V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2, |
| 727 | }; | 734 | }; |
| 728 | #define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 621) | 735 | #define V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2 (V4L2_CID_CODEC_BASE + 621) |
| 729 | #define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_MPEG_BASE + 622) | 736 | #define V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2 (V4L2_CID_CODEC_BASE + 622) |
| 730 | #define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_MPEG_BASE + 623) | 737 | #define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_TYPE (V4L2_CID_CODEC_BASE + 623) |
| 731 | enum v4l2_cid_mpeg_video_hevc_refresh_type { | 738 | enum v4l2_cid_mpeg_video_hevc_refresh_type { |
| 732 | V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0, | 739 | V4L2_MPEG_VIDEO_HEVC_REFRESH_NONE = 0, |
| 733 | V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1, | 740 | V4L2_MPEG_VIDEO_HEVC_REFRESH_CRA = 1, |
| 734 | V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2, | 741 | V4L2_MPEG_VIDEO_HEVC_REFRESH_IDR = 2, |
| 735 | }; | 742 | }; |
| 736 | #define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_MPEG_BASE + 624) | 743 | #define V4L2_CID_MPEG_VIDEO_HEVC_REFRESH_PERIOD (V4L2_CID_CODEC_BASE + 624) |
| 737 | #define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_MPEG_BASE + 625) | 744 | #define V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU (V4L2_CID_CODEC_BASE + 625) |
| 738 | #define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_MPEG_BASE + 626) | 745 | #define V4L2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED (V4L2_CID_CODEC_BASE + 626) |
| 739 | #define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_MPEG_BASE + 627) | 746 | #define V4L2_CID_MPEG_VIDEO_HEVC_WAVEFRONT (V4L2_CID_CODEC_BASE + 627) |
| 740 | #define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_MPEG_BASE + 628) | 747 | #define V4L2_CID_MPEG_VIDEO_HEVC_GENERAL_PB (V4L2_CID_CODEC_BASE + 628) |
| 741 | #define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_MPEG_BASE + 629) | 748 | #define V4L2_CID_MPEG_VIDEO_HEVC_TEMPORAL_ID (V4L2_CID_CODEC_BASE + 629) |
| 742 | #define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_MPEG_BASE + 630) | 749 | #define V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMOOTHING (V4L2_CID_CODEC_BASE + 630) |
| 743 | #define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_MPEG_BASE + 631) | 750 | #define V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_MINUS1 (V4L2_CID_CODEC_BASE + 631) |
| 744 | #define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_MPEG_BASE + 632) | 751 | #define V4L2_CID_MPEG_VIDEO_HEVC_INTRA_PU_SPLIT (V4L2_CID_CODEC_BASE + 632) |
| 745 | #define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_MPEG_BASE + 633) | 752 | #define V4L2_CID_MPEG_VIDEO_HEVC_TMV_PREDICTION (V4L2_CID_CODEC_BASE + 633) |
| 746 | #define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_MPEG_BASE + 634) | 753 | #define V4L2_CID_MPEG_VIDEO_HEVC_WITHOUT_STARTCODE (V4L2_CID_CODEC_BASE + 634) |
| 747 | #define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_MPEG_BASE + 635) | 754 | #define V4L2_CID_MPEG_VIDEO_HEVC_SIZE_OF_LENGTH_FIELD (V4L2_CID_CODEC_BASE + 635) |
| 748 | enum v4l2_cid_mpeg_video_hevc_size_of_length_field { | 755 | enum v4l2_cid_mpeg_video_hevc_size_of_length_field { |
| 749 | V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0, | 756 | V4L2_MPEG_VIDEO_HEVC_SIZE_0 = 0, |
| 750 | V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1, | 757 | V4L2_MPEG_VIDEO_HEVC_SIZE_1 = 1, |
| 751 | V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2, | 758 | V4L2_MPEG_VIDEO_HEVC_SIZE_2 = 2, |
| 752 | V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3, | 759 | V4L2_MPEG_VIDEO_HEVC_SIZE_4 = 3, |
| 753 | }; | 760 | }; |
| 754 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_MPEG_BASE + 636) | 761 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L0_BR (V4L2_CID_CODEC_BASE + 636) |
| 755 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_MPEG_BASE + 637) | 762 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L1_BR (V4L2_CID_CODEC_BASE + 637) |
| 756 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_MPEG_BASE + 638) | 763 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L2_BR (V4L2_CID_CODEC_BASE + 638) |
| 757 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_MPEG_BASE + 639) | 764 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L3_BR (V4L2_CID_CODEC_BASE + 639) |
| 758 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_MPEG_BASE + 640) | 765 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L4_BR (V4L2_CID_CODEC_BASE + 640) |
| 759 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_MPEG_BASE + 641) | 766 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L5_BR (V4L2_CID_CODEC_BASE + 641) |
| 760 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_MPEG_BASE + 642) | 767 | #define V4L2_CID_MPEG_VIDEO_HEVC_HIER_CODING_L6_BR (V4L2_CID_CODEC_BASE + 642) |
| 761 | #define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_MPEG_BASE + 643) | 768 | #define V4L2_CID_MPEG_VIDEO_REF_NUMBER_FOR_PFRAMES (V4L2_CID_CODEC_BASE + 643) |
| 762 | #define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_MPEG_BASE + 644) | 769 | #define V4L2_CID_MPEG_VIDEO_PREPEND_SPSPPS_TO_IDR (V4L2_CID_CODEC_BASE + 644) |
| 763 | #define V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (V4L2_CID_MPEG_BASE + 645) | 770 | #define V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY (V4L2_CID_CODEC_BASE + 645) |
| 764 | #define V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_BASE + 646) | 771 | #define V4L2_CID_MPEG_VIDEO_FRAME_SKIP_MODE (V4L2_CID_CODEC_BASE + 646) |
| 765 | enum v4l2_mpeg_video_frame_skip_mode { | 772 | enum v4l2_mpeg_video_frame_skip_mode { |
| 766 | V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, | 773 | V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, |
| 767 | V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, | 774 | V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, |
| @@ -769,14 +776,14 @@ enum v4l2_mpeg_video_frame_skip_mode { · 1 unmodified line |
| 769 | }; | 776 | }; |
| 770 | | 777 | |
| 771 | /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ | 778 | /* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */ |
| 772 | #define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000) | 779 | #define V4L2_CID_CODEC_CX2341X_BASE (V4L2_CTRL_CLASS_CODEC | 0x1000) |
| 773 | #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0) | 780 | #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+0) |
| 774 | enum v4l2_mpeg_cx2341x_video_spatial_filter_mode { | 781 | enum v4l2_mpeg_cx2341x_video_spatial_filter_mode { |
| 775 | V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0, | 782 | V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0, |
| 776 | V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1, | 783 | V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1, |
| 777 | }; | 784 | }; |
| 778 | #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1) | 785 | #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+1) |
| 779 | #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2) | 786 | #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+2) |
| 780 | enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type { | 787 | enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type { |
| 781 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0, | 788 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0, |
| 782 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, | 789 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, |
| @@ -784,18 +791,18 @@ enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type { · 1 unmodified line |
| 784 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3, | 791 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3, |
| 785 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4, | 792 | V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4, |
| 786 | }; | 793 | }; |
| 787 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3) | 794 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+3) |
| 788 | enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type { | 795 | enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type { |
| 789 | V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0, | 796 | V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0, |
| 790 | V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, | 797 | V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1, |
| 791 | }; | 798 | }; |
| 792 | #define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4) | 799 | #define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE+4) |
| 793 | enum v4l2_mpeg_cx2341x_video_temporal_filter_mode { | 800 | enum v4l2_mpeg_cx2341x_video_temporal_filter_mode { |
| 794 | V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0, | 801 | V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0, |
| 795 | V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1, | 802 | V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1, |
| 796 | }; | 803 | }; |
| 797 | #define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5) | 804 | #define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_CODEC_CX2341X_BASE+5) |
| 798 | #define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6) | 805 | #define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_CODEC_CX2341X_BASE+6) |
| 799 | enum v4l2_mpeg_cx2341x_video_median_filter_type { | 806 | enum v4l2_mpeg_cx2341x_video_median_filter_type { |
| 800 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0, | 807 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0, |
| 801 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1, | 808 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1, |
| @@ -803,38 +810,38 @@ enum v4l2_mpeg_cx2341x_video_median_filter_type { · 1 unmodified line |
| 803 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3, | 810 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3, |
| 804 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4, | 811 | V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4, |
| 805 | }; | 812 | }; |
| 806 | #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7) | 813 | #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_CODEC_CX2341X_BASE+7) |
| 807 | #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8) | 814 | #define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_CODEC_CX2341X_BASE+8) |
| 808 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9) | 815 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_CODEC_CX2341X_BASE+9) |
| 809 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10) | 816 | #define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_CODEC_CX2341X_BASE+10) |
| 810 | #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11) | 817 | #define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_CODEC_CX2341X_BASE+11) |
| 811 | | 818 | |
| 812 | /* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */ | 819 | /* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */ |
| 813 | #define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100) | 820 | #define V4L2_CID_CODEC_MFC51_BASE (V4L2_CTRL_CLASS_CODEC | 0x1100) |
| 814 | | 821 | |
| 815 | #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0) | 822 | #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_CODEC_MFC51_BASE+0) |
| 816 | #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1) | 823 | #define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_MFC51_BASE+1) |
| 817 | #define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2) | 824 | #define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_CODEC_MFC51_BASE+2) |
| 818 | enum v4l2_mpeg_mfc51_video_frame_skip_mode { | 825 | enum v4l2_mpeg_mfc51_video_frame_skip_mode { |
| 819 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, | 826 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0, |
| 820 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, | 827 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1, |
| 821 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2, | 828 | V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2, |
| 822 | }; | 829 | }; |
| 823 | #define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3) | 830 | #define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_CODEC_MFC51_BASE+3) |
| 824 | enum v4l2_mpeg_mfc51_video_force_frame_type { | 831 | enum v4l2_mpeg_mfc51_video_force_frame_type { |
| 825 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0, | 832 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0, |
| 826 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1, | 833 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1, |
| 827 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2, | 834 | V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2, |
| 828 | }; | 835 | }; |
| 829 | #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4) | 836 | #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_CODEC_MFC51_BASE+4) |
| 830 | #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5) | 837 | #define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_CODEC_MFC51_BASE+5) |
| 831 | #define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6) | 838 | #define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_CODEC_MFC51_BASE+6) |
| 832 | #define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7) | 839 | #define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_CODEC_MFC51_BASE+7) |
| 833 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50) | 840 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_CODEC_MFC51_BASE+50) |
| 834 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51) | 841 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_CODEC_MFC51_BASE+51) |
| 835 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52) | 842 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_CODEC_MFC51_BASE+52) |
| 836 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53) | 843 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_CODEC_MFC51_BASE+53) |
| 837 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54) | 844 | #define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_CODEC_MFC51_BASE+54) |
| 838 | | 845 | |
| 839 | /* Camera class control IDs */ | 846 | /* Camera class control IDs */ |
| 840 | | 847 | |
| @@ -1171,4 +1178,470 @@ enum v4l2_detect_md_mode { · 330 unmodified lines |
| 1171 | #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) | 1178 | #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) |
| 1172 | #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) | 1179 | #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) |
| 1173 | | 1180 | |
| | 1181 | |
| | 1182 | /* Stateless CODECs controls */ |
| | 1183 | #define V4L2_CID_CODEC_STATELESS_BASE (V4L2_CTRL_CLASS_CODEC_STATELESS | 0x900) |
| | 1184 | #define V4L2_CID_CODEC_STATELESS_CLASS (V4L2_CTRL_CLASS_CODEC_STATELESS | 1) |
| | 1185 | |
| | 1186 | #define V4L2_CID_STATELESS_H264_DECODE_MODE (V4L2_CID_CODEC_STATELESS_BASE + 0) |
| | 1187 | /** |
| | 1188 | * enum v4l2_stateless_h264_decode_mode - Decoding mode |
| | 1189 | * |
| | 1190 | * @V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED: indicates that decoding |
| | 1191 | * is performed one slice at a time. In this mode, |
| | 1192 | * V4L2_CID_STATELESS_H264_SLICE_PARAMS must contain the parsed slice |
| | 1193 | * parameters and the OUTPUT buffer must contain a single slice. |
| | 1194 | * V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF feature is used |
| | 1195 | * in order to support multislice frames. |
| | 1196 | * @V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED: indicates that |
| | 1197 | * decoding is performed per frame. The OUTPUT buffer must contain |
| | 1198 | * all slices and also both fields. This mode is typically supported |
| | 1199 | * by device drivers that are able to parse the slice(s) header(s) |
| | 1200 | * in hardware. When this mode is selected, |
| | 1201 | * V4L2_CID_STATELESS_H264_SLICE_PARAMS is not used. |
| | 1202 | */ |
| | 1203 | enum v4l2_stateless_h264_decode_mode { |
| | 1204 | V4L2_STATELESS_H264_DECODE_MODE_SLICE_BASED, |
| | 1205 | V4L2_STATELESS_H264_DECODE_MODE_FRAME_BASED, |
| | 1206 | }; |
| | 1207 | |
| | 1208 | #define V4L2_CID_STATELESS_H264_START_CODE (V4L2_CID_CODEC_STATELESS_BASE + 1) |
| | 1209 | /** |
| | 1210 | * enum v4l2_stateless_h264_start_code - Start code |
| | 1211 | * |
| | 1212 | * @V4L2_STATELESS_H264_START_CODE_NONE: slices are passed |
| | 1213 | * to the driver without any start code. |
| | 1214 | * @V4L2_STATELESS_H264_START_CODE_ANNEX_B: slices are passed |
| | 1215 | * to the driver with an Annex B start code prefix |
| | 1216 | * (legal start codes can be 3-bytes 0x000001 or 4-bytes 0x00000001). |
| | 1217 | * This mode is typically supported by device drivers that parse |
| | 1218 | * the start code in hardware. |
| | 1219 | */ |
| | 1220 | enum v4l2_stateless_h264_start_code { |
| | 1221 | V4L2_STATELESS_H264_START_CODE_NONE, |
| | 1222 | V4L2_STATELESS_H264_START_CODE_ANNEX_B, |
| | 1223 | }; |
| | 1224 | |
| | 1225 | #define V4L2_H264_SPS_CONSTRAINT_SET0_FLAG 0x01 |
| | 1226 | #define V4L2_H264_SPS_CONSTRAINT_SET1_FLAG 0x02 |
| | 1227 | #define V4L2_H264_SPS_CONSTRAINT_SET2_FLAG 0x04 |
| | 1228 | #define V4L2_H264_SPS_CONSTRAINT_SET3_FLAG 0x08 |
| | 1229 | #define V4L2_H264_SPS_CONSTRAINT_SET4_FLAG 0x10 |
| | 1230 | #define V4L2_H264_SPS_CONSTRAINT_SET5_FLAG 0x20 |
| | 1231 | |
| | 1232 | #define V4L2_H264_SPS_FLAG_SEPARATE_COLOUR_PLANE 0x01 |
| | 1233 | #define V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS 0x02 |
| | 1234 | #define V4L2_H264_SPS_FLAG_DELTA_PIC_ORDER_ALWAYS_ZERO 0x04 |
| | 1235 | #define V4L2_H264_SPS_FLAG_GAPS_IN_FRAME_NUM_VALUE_ALLOWED 0x08 |
| | 1236 | #define V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY 0x10 |
| | 1237 | #define V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD 0x20 |
| | 1238 | #define V4L2_H264_SPS_FLAG_DIRECT_8X8_INFERENCE 0x40 |
| | 1239 | |
| | 1240 | #define V4L2_H264_SPS_HAS_CHROMA_FORMAT(sps) \ |
| | 1241 | ((sps)->profile_idc == 100 || (sps)->profile_idc == 110 || \ |
| | 1242 | (sps)->profile_idc == 122 || (sps)->profile_idc == 244 || \ |
| | 1243 | (sps)->profile_idc == 44 || (sps)->profile_idc == 83 || \ |
| | 1244 | (sps)->profile_idc == 86 || (sps)->profile_idc == 118 || \ |
| | 1245 | (sps)->profile_idc == 128 || (sps)->profile_idc == 138 || \ |
| | 1246 | (sps)->profile_idc == 139 || (sps)->profile_idc == 134 || \ |
| | 1247 | (sps)->profile_idc == 135) |
| | 1248 | |
| | 1249 | #define V4L2_CID_STATELESS_H264_SPS (V4L2_CID_CODEC_STATELESS_BASE + 2) |
| | 1250 | /** |
| | 1251 | * struct v4l2_ctrl_h264_sps - H264 sequence parameter set |
| | 1252 | * |
| | 1253 | * All the members on this sequence parameter set structure match the |
| | 1254 | * sequence parameter set syntax as specified by the H264 specification. |
| | 1255 | * |
| | 1256 | * @profile_idc: see H264 specification. |
| | 1257 | * @constraint_set_flags: see H264 specification. |
| | 1258 | * @level_idc: see H264 specification. |
| | 1259 | * @seq_parameter_set_id: see H264 specification. |
| | 1260 | * @chroma_format_idc: see H264 specification. |
| | 1261 | * @bit_depth_luma_minus8: see H264 specification. |
| | 1262 | * @bit_depth_chroma_minus8: see H264 specification. |
| | 1263 | * @log2_max_frame_num_minus4: see H264 specification. |
| | 1264 | * @pic_order_cnt_type: see H264 specification. |
| | 1265 | * @log2_max_pic_order_cnt_lsb_minus4: see H264 specification. |
| | 1266 | * @max_num_ref_frames: see H264 specification. |
| | 1267 | * @num_ref_frames_in_pic_order_cnt_cycle: see H264 specification. |
| | 1268 | * @offset_for_ref_frame: see H264 specification. |
| | 1269 | * @offset_for_non_ref_pic: see H264 specification. |
| | 1270 | * @offset_for_top_to_bottom_field: see H264 specification. |
| | 1271 | * @pic_width_in_mbs_minus1: see H264 specification. |
| | 1272 | * @pic_height_in_map_units_minus1: see H264 specification. |
| | 1273 | * @flags: see V4L2_H264_SPS_FLAG_{}. |
| | 1274 | */ |
| | 1275 | struct v4l2_ctrl_h264_sps { |
| | 1276 | __u8 profile_idc; |
| | 1277 | __u8 constraint_set_flags; |
| | 1278 | __u8 level_idc; |
| | 1279 | __u8 seq_parameter_set_id; |
| | 1280 | __u8 chroma_format_idc; |
| | 1281 | __u8 bit_depth_luma_minus8; |
| | 1282 | __u8 bit_depth_chroma_minus8; |
| | 1283 | __u8 log2_max_frame_num_minus4; |
| | 1284 | __u8 pic_order_cnt_type; |
| | 1285 | __u8 log2_max_pic_order_cnt_lsb_minus4; |
| | 1286 | __u8 max_num_ref_frames; |
| | 1287 | __u8 num_ref_frames_in_pic_order_cnt_cycle; |
| | 1288 | __s32 offset_for_ref_frame[255]; |
| | 1289 | __s32 offset_for_non_ref_pic; |
| | 1290 | __s32 offset_for_top_to_bottom_field; |
| | 1291 | __u16 pic_width_in_mbs_minus1; |
| | 1292 | __u16 pic_height_in_map_units_minus1; |
| | 1293 | __u32 flags; |
| | 1294 | }; |
| | 1295 | |
| | 1296 | #define V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE 0x0001 |
| | 1297 | #define V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT 0x0002 |
| | 1298 | #define V4L2_H264_PPS_FLAG_WEIGHTED_PRED 0x0004 |
| | 1299 | #define V4L2_H264_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT 0x0008 |
| | 1300 | #define V4L2_H264_PPS_FLAG_CONSTRAINED_INTRA_PRED 0x0010 |
| | 1301 | #define V4L2_H264_PPS_FLAG_REDUNDANT_PIC_CNT_PRESENT 0x0020 |
| | 1302 | #define V4L2_H264_PPS_FLAG_TRANSFORM_8X8_MODE 0x0040 |
| | 1303 | #define V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT 0x0080 |
| | 1304 | |
| | 1305 | #define V4L2_CID_STATELESS_H264_PPS (V4L2_CID_CODEC_STATELESS_BASE + 3) |
| | 1306 | /** |
| | 1307 | * struct v4l2_ctrl_h264_pps - H264 picture parameter set |
| | 1308 | * |
| | 1309 | * Except where noted, all the members on this picture parameter set |
| | 1310 | * structure match the sequence parameter set syntax as specified |
| | 1311 | * by the H264 specification. |
| | 1312 | * |
| | 1313 | * In particular, V4L2_H264_PPS_FLAG_SCALING_MATRIX_PRESENT flag |
| | 1314 | * has a specific meaning. This flag should be set if a non-flat |
| | 1315 | * scaling matrix applies to the picture. In this case, applications |
| | 1316 | * are expected to use V4L2_CID_STATELESS_H264_SCALING_MATRIX, |
| | 1317 | * to pass the values of the non-flat matrices. |
| | 1318 | * |
| | 1319 | * @pic_parameter_set_id: see H264 specification. |
| | 1320 | * @seq_parameter_set_id: see H264 specification. |
| | 1321 | * @num_slice_groups_minus1: see H264 specification. |
| | 1322 | * @num_ref_idx_l0_default_active_minus1: see H264 specification. |
| | 1323 | * @num_ref_idx_l1_default_active_minus1: see H264 specification. |
| | 1324 | * @weighted_bipred_idc: see H264 specification. |
| | 1325 | * @pic_init_qp_minus26: see H264 specification. |
| | 1326 | * @pic_init_qs_minus26: see H264 specification. |
| | 1327 | * @chroma_qp_index_offset: see H264 specification. |
| | 1328 | * @second_chroma_qp_index_offset: see H264 specification. |
| | 1329 | * @flags: see V4L2_H264_PPS_FLAG_{}. |
| | 1330 | */ |
| | 1331 | struct v4l2_ctrl_h264_pps { |
| | 1332 | __u8 pic_parameter_set_id; |
| | 1333 | __u8 seq_parameter_set_id; |
| | 1334 | __u8 num_slice_groups_minus1; |
| | 1335 | __u8 num_ref_idx_l0_default_active_minus1; |
| | 1336 | __u8 num_ref_idx_l1_default_active_minus1; |
| | 1337 | __u8 weighted_bipred_idc; |
| | 1338 | __s8 pic_init_qp_minus26; |
| | 1339 | __s8 pic_init_qs_minus26; |
| | 1340 | __s8 chroma_qp_index_offset; |
| | 1341 | __s8 second_chroma_qp_index_offset; |
| | 1342 | __u16 flags; |
| | 1343 | }; |
| | 1344 | |
| | 1345 | #define V4L2_CID_STATELESS_H264_SCALING_MATRIX (V4L2_CID_CODEC_STATELESS_BASE + 4) |
| | 1346 | /** |
| | 1347 | * struct v4l2_ctrl_h264_scaling_matrix - H264 scaling matrices |
| | 1348 | * |
| | 1349 | * @scaling_list_4x4: scaling matrix after applying the inverse |
| | 1350 | * scanning process. Expected list order is Intra Y, Intra Cb, |
| | 1351 | * Intra Cr, Inter Y, Inter Cb, Inter Cr. The values on each |
| | 1352 | * scaling list are expected in raster scan order. |
| | 1353 | * @scaling_list_8x8: scaling matrix after applying the inverse |
| | 1354 | * scanning process. Expected list order is Intra Y, Inter Y, |
| | 1355 | * Intra Cb, Inter Cb, Intra Cr, Inter Cr. The values on each |
| | 1356 | * scaling list are expected in raster scan order. |
| | 1357 | * |
| | 1358 | * Note that the list order is different for the 4x4 and 8x8 |
| | 1359 | * matrices as per the H264 specification, see table 7-2 "Assignment |
| | 1360 | * of mnemonic names to scaling list indices and specification of |
| | 1361 | * fall-back rule". |
| | 1362 | */ |
| | 1363 | struct v4l2_ctrl_h264_scaling_matrix { |
| | 1364 | __u8 scaling_list_4x4[6][16]; |
| | 1365 | __u8 scaling_list_8x8[6][64]; |
| | 1366 | }; |
| | 1367 | |
| | 1368 | struct v4l2_h264_weight_factors { |
| | 1369 | __s16 luma_weight[32]; |
| | 1370 | __s16 luma_offset[32]; |
| | 1371 | __s16 chroma_weight[32][2]; |
| | 1372 | __s16 chroma_offset[32][2]; |
| | 1373 | }; |
| | 1374 | |
| | 1375 | #define V4L2_H264_CTRL_PRED_WEIGHTS_REQUIRED(pps, slice) \ |
| | 1376 | ((((pps)->flags & V4L2_H264_PPS_FLAG_WEIGHTED_PRED) && \ |
| | 1377 | ((slice)->slice_type == V4L2_H264_SLICE_TYPE_P || \ |
| | 1378 | (slice)->slice_type == V4L2_H264_SLICE_TYPE_SP)) || \ |
| | 1379 | ((pps)->weighted_bipred_idc == 1 && \ |
| | 1380 | (slice)->slice_type == V4L2_H264_SLICE_TYPE_B)) |
| | 1381 | |
| | 1382 | #define V4L2_CID_STATELESS_H264_PRED_WEIGHTS (V4L2_CID_CODEC_STATELESS_BASE + 5) |
| | 1383 | /** |
| | 1384 | * struct v4l2_ctrl_h264_pred_weights - Prediction weight table |
| | 1385 | * |
| | 1386 | * Prediction weight table, which matches the syntax specified |
| | 1387 | * by the H264 specification. |
| | 1388 | * |
| | 1389 | * @luma_log2_weight_denom: see H264 specification. |
| | 1390 | * @chroma_log2_weight_denom: see H264 specification. |
| | 1391 | * @weight_factors: luma and chroma weight factors. |
| | 1392 | */ |
| | 1393 | struct v4l2_ctrl_h264_pred_weights { |
| | 1394 | __u16 luma_log2_weight_denom; |
| | 1395 | __u16 chroma_log2_weight_denom; |
| | 1396 | struct v4l2_h264_weight_factors weight_factors[2]; |
| | 1397 | }; |
| | 1398 | |
| | 1399 | #define V4L2_H264_SLICE_TYPE_P 0 |
| | 1400 | #define V4L2_H264_SLICE_TYPE_B 1 |
| | 1401 | #define V4L2_H264_SLICE_TYPE_I 2 |
| | 1402 | #define V4L2_H264_SLICE_TYPE_SP 3 |
| | 1403 | #define V4L2_H264_SLICE_TYPE_SI 4 |
| | 1404 | |
| | 1405 | #define V4L2_H264_SLICE_FLAG_DIRECT_SPATIAL_MV_PRED 0x01 |
| | 1406 | #define V4L2_H264_SLICE_FLAG_SP_FOR_SWITCH 0x02 |
| | 1407 | |
| | 1408 | #define V4L2_H264_TOP_FIELD_REF 0x1 |
| | 1409 | #define V4L2_H264_BOTTOM_FIELD_REF 0x2 |
| | 1410 | #define V4L2_H264_FRAME_REF 0x3 |
| | 1411 | |
| | 1412 | /** |
| | 1413 | * struct v4l2_h264_reference - H264 picture reference |
| | 1414 | * |
| | 1415 | * @fields: indicates how the picture is referenced. |
| | 1416 | * Valid values are V4L2_H264_{}_REF. |
| | 1417 | * @index: index into v4l2_ctrl_h264_decode_params.dpb[]. |
| | 1418 | */ |
| | 1419 | struct v4l2_h264_reference { |
| | 1420 | __u8 fields; |
| | 1421 | __u8 index; |
| | 1422 | }; |
| | 1423 | |
| | 1424 | /* |
| | 1425 | * Maximum DPB size, as specified by section 'A.3.1 Level limits |
| | 1426 | * common to the Baseline, Main, and Extended profiles'. |
| | 1427 | */ |
| | 1428 | #define V4L2_H264_NUM_DPB_ENTRIES 16 |
| | 1429 | #define V4L2_H264_REF_LIST_LEN (2 * V4L2_H264_NUM_DPB_ENTRIES) |
| | 1430 | |
| | 1431 | #define V4L2_CID_STATELESS_H264_SLICE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 6) |
| | 1432 | /** |
| | 1433 | * struct v4l2_ctrl_h264_slice_params - H264 slice parameters |
| | 1434 | * |
| | 1435 | * This structure holds the H264 syntax elements that are specified |
| | 1436 | * as non-invariant for the slices in a given frame. |
| | 1437 | * |
| | 1438 | * Slice invariant syntax elements are contained in struct |
| | 1439 | * v4l2_ctrl_h264_decode_params. This is done to reduce the API surface |
| | 1440 | * on frame-based decoders, where slice header parsing is done by the |
| | 1441 | * hardware. |
| | 1442 | * |
| | 1443 | * Slice invariant syntax elements are specified in specification section |
| | 1444 | * "7.4.3 Slice header semantics". |
| | 1445 | * |
| | 1446 | * Except where noted, the members on this struct match the slice header syntax. |
| | 1447 | * |
| | 1448 | * @header_bit_size: offset in bits to slice_data() from the beginning of this slice. |
| | 1449 | * @first_mb_in_slice: see H264 specification. |
| | 1450 | * @slice_type: see H264 specification. |
| | 1451 | * @colour_plane_id: see H264 specification. |
| | 1452 | * @redundant_pic_cnt: see H264 specification. |
| | 1453 | * @cabac_init_idc: see H264 specification. |
| | 1454 | * @slice_qp_delta: see H264 specification. |
| | 1455 | * @slice_qs_delta: see H264 specification. |
| | 1456 | * @disable_deblocking_filter_idc: see H264 specification. |
| | 1457 | * @slice_alpha_c0_offset_div2: see H264 specification. |
| | 1458 | * @slice_beta_offset_div2: see H264 specification. |
| | 1459 | * @num_ref_idx_l0_active_minus1: see H264 specification. |
| | 1460 | * @num_ref_idx_l1_active_minus1: see H264 specification. |
| | 1461 | * @reserved: padding field. Should be zeroed by applications. |
| | 1462 | * @ref_pic_list0: reference picture list 0 after applying the per-slice modifications. |
| | 1463 | * @ref_pic_list1: reference picture list 1 after applying the per-slice modifications. |
| | 1464 | * @flags: see V4L2_H264_SLICE_FLAG_{}. |
| | 1465 | */ |
| | 1466 | struct v4l2_ctrl_h264_slice_params { |
| | 1467 | __u32 header_bit_size; |
| | 1468 | __u32 first_mb_in_slice; |
| | 1469 | __u8 slice_type; |
| | 1470 | __u8 colour_plane_id; |
| | 1471 | __u8 redundant_pic_cnt; |
| | 1472 | __u8 cabac_init_idc; |
| | 1473 | __s8 slice_qp_delta; |
| | 1474 | __s8 slice_qs_delta; |
| | 1475 | __u8 disable_deblocking_filter_idc; |
| | 1476 | __s8 slice_alpha_c0_offset_div2; |
| | 1477 | __s8 slice_beta_offset_div2; |
| | 1478 | __u8 num_ref_idx_l0_active_minus1; |
| | 1479 | __u8 num_ref_idx_l1_active_minus1; |
| | 1480 | |
| | 1481 | __u8 reserved; |
| | 1482 | |
| | 1483 | struct v4l2_h264_reference ref_pic_list0[V4L2_H264_REF_LIST_LEN]; |
| | 1484 | struct v4l2_h264_reference ref_pic_list1[V4L2_H264_REF_LIST_LEN]; |
| | 1485 | |
| | 1486 | __u32 flags; |
| | 1487 | }; |
| | 1488 | |
| | 1489 | #define V4L2_H264_DPB_ENTRY_FLAG_VALID 0x01 |
| | 1490 | #define V4L2_H264_DPB_ENTRY_FLAG_ACTIVE 0x02 |
| | 1491 | #define V4L2_H264_DPB_ENTRY_FLAG_LONG_TERM 0x04 |
| | 1492 | #define V4L2_H264_DPB_ENTRY_FLAG_FIELD 0x08 |
| | 1493 | |
| | 1494 | /** |
| | 1495 | * struct v4l2_h264_dpb_entry - H264 decoded picture buffer entry |
| | 1496 | * |
| | 1497 | * @reference_ts: timestamp of the V4L2 capture buffer to use as reference. |
| | 1498 | * The timestamp refers to the timestamp field in struct v4l2_buffer. |
| | 1499 | * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64. |
| | 1500 | * @pic_num: matches PicNum variable assigned during the reference |
| | 1501 | * picture lists construction process. |
| | 1502 | * @frame_num: frame identifier which matches frame_num syntax element. |
| | 1503 | * @fields: indicates how the DPB entry is referenced. Valid values are |
| | 1504 | * V4L2_H264_{}_REF. |
| | 1505 | * @reserved: padding field. Should be zeroed by applications. |
| | 1506 | * @top_field_order_cnt: matches TopFieldOrderCnt picture value. |
| | 1507 | * @bottom_field_order_cnt: matches BottomFieldOrderCnt picture value. |
| | 1508 | * Note that picture field is indicated by v4l2_buffer.field. |
| | 1509 | * @flags: see V4L2_H264_DPB_ENTRY_FLAG_{}. |
| | 1510 | */ |
| | 1511 | struct v4l2_h264_dpb_entry { |
| | 1512 | __u64 reference_ts; |
| | 1513 | __u32 pic_num; |
| | 1514 | __u16 frame_num; |
| | 1515 | __u8 fields; |
| | 1516 | __u8 reserved[5]; |
| | 1517 | __s32 top_field_order_cnt; |
| | 1518 | __s32 bottom_field_order_cnt; |
| | 1519 | __u32 flags; |
| | 1520 | }; |
| | 1521 | |
| | 1522 | #define V4L2_H264_DECODE_PARAM_FLAG_IDR_PIC 0x01 |
| | 1523 | #define V4L2_H264_DECODE_PARAM_FLAG_FIELD_PIC 0x02 |
| | 1524 | #define V4L2_H264_DECODE_PARAM_FLAG_BOTTOM_FIELD 0x04 |
| | 1525 | |
| | 1526 | #define V4L2_CID_STATELESS_H264_DECODE_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 7) |
| | 1527 | /** |
| | 1528 | * struct v4l2_ctrl_h264_decode_params - H264 decoding parameters |
| | 1529 | * |
| | 1530 | * @dpb: decoded picture buffer. |
| | 1531 | * @nal_ref_idc: slice header syntax element. |
| | 1532 | * @frame_num: slice header syntax element. |
| | 1533 | * @top_field_order_cnt: matches TopFieldOrderCnt picture value. |
| | 1534 | * @bottom_field_order_cnt: matches BottomFieldOrderCnt picture value. |
| | 1535 | * Note that picture field is indicated by v4l2_buffer.field. |
| | 1536 | * @idr_pic_id: slice header syntax element. |
| | 1537 | * @pic_order_cnt_lsb: slice header syntax element. |
| | 1538 | * @delta_pic_order_cnt_bottom: slice header syntax element. |
| | 1539 | * @delta_pic_order_cnt0: slice header syntax element. |
| | 1540 | * @delta_pic_order_cnt1: slice header syntax element. |
| | 1541 | * @dec_ref_pic_marking_bit_size: size in bits of dec_ref_pic_marking() |
| | 1542 | * syntax element. |
| | 1543 | * @pic_order_cnt_bit_size: size in bits of pic order count syntax. |
| | 1544 | * @slice_group_change_cycle: slice header syntax element. |
| | 1545 | * @reserved: padding field. Should be zeroed by applications. |
| | 1546 | * @flags: see V4L2_H264_DECODE_PARAM_FLAG_{}. |
| | 1547 | */ |
| | 1548 | struct v4l2_ctrl_h264_decode_params { |
| | 1549 | struct v4l2_h264_dpb_entry dpb[V4L2_H264_NUM_DPB_ENTRIES]; |
| | 1550 | __u16 nal_ref_idc; |
| | 1551 | __u16 frame_num; |
| | 1552 | __s32 top_field_order_cnt; |
| | 1553 | __s32 bottom_field_order_cnt; |
| | 1554 | __u16 idr_pic_id; |
| | 1555 | __u16 pic_order_cnt_lsb; |
| | 1556 | __s32 delta_pic_order_cnt_bottom; |
| | 1557 | __s32 delta_pic_order_cnt0; |
| | 1558 | __s32 delta_pic_order_cnt1; |
| | 1559 | __u32 dec_ref_pic_marking_bit_size; |
| | 1560 | __u32 pic_order_cnt_bit_size; |
| | 1561 | __u32 slice_group_change_cycle; |
| | 1562 | |
| | 1563 | __u32 reserved; |
| | 1564 | __u32 flags; |
| | 1565 | }; |
| | 1566 | |
| | 1567 | |
| | 1568 | /* Stateless FWHT control, used by the vicodec driver */ |
| | 1569 | |
| | 1570 | /* Current FWHT version */ |
| | 1571 | #define V4L2_FWHT_VERSION 3 |
| | 1572 | |
| | 1573 | /* Set if this is an interlaced format */ |
| | 1574 | #define V4L2_FWHT_FL_IS_INTERLACED BIT(0) |
| | 1575 | /* Set if this is a bottom-first (NTSC) interlaced format */ |
| | 1576 | #define V4L2_FWHT_FL_IS_BOTTOM_FIRST BIT(1) |
| | 1577 | /* Set if each 'frame' contains just one field */ |
| | 1578 | #define V4L2_FWHT_FL_IS_ALTERNATE BIT(2) |
| | 1579 | /* |
| | 1580 | * If V4L2_FWHT_FL_IS_ALTERNATE was set, then this is set if this |
| | 1581 | * 'frame' is the bottom field, else it is the top field. |
| | 1582 | */ |
| | 1583 | #define V4L2_FWHT_FL_IS_BOTTOM_FIELD BIT(3) |
| | 1584 | /* Set if the Y' plane is uncompressed */ |
| | 1585 | #define V4L2_FWHT_FL_LUMA_IS_UNCOMPRESSED BIT(4) |
| | 1586 | /* Set if the Cb plane is uncompressed */ |
| | 1587 | #define V4L2_FWHT_FL_CB_IS_UNCOMPRESSED BIT(5) |
| | 1588 | /* Set if the Cr plane is uncompressed */ |
| | 1589 | #define V4L2_FWHT_FL_CR_IS_UNCOMPRESSED BIT(6) |
| | 1590 | /* Set if the chroma plane is full height, if cleared it is half height */ |
| | 1591 | #define V4L2_FWHT_FL_CHROMA_FULL_HEIGHT BIT(7) |
| | 1592 | /* Set if the chroma plane is full width, if cleared it is half width */ |
| | 1593 | #define V4L2_FWHT_FL_CHROMA_FULL_WIDTH BIT(8) |
| | 1594 | /* Set if the alpha plane is uncompressed */ |
| | 1595 | #define V4L2_FWHT_FL_ALPHA_IS_UNCOMPRESSED BIT(9) |
| | 1596 | /* Set if this is an I Frame */ |
| | 1597 | #define V4L2_FWHT_FL_I_FRAME BIT(10) |
| | 1598 | |
| | 1599 | /* A 4-values flag - the number of components - 1 */ |
| | 1600 | #define V4L2_FWHT_FL_COMPONENTS_NUM_MSK GENMASK(18, 16) |
| | 1601 | #define V4L2_FWHT_FL_COMPONENTS_NUM_OFFSET 16 |
| | 1602 | |
| | 1603 | /* A 4-values flag - the pixel encoding type */ |
| | 1604 | #define V4L2_FWHT_FL_PIXENC_MSK GENMASK(20, 19) |
| | 1605 | #define V4L2_FWHT_FL_PIXENC_OFFSET 19 |
| | 1606 | #define V4L2_FWHT_FL_PIXENC_YUV (1 << V4L2_FWHT_FL_PIXENC_OFFSET) |
| | 1607 | #define V4L2_FWHT_FL_PIXENC_RGB (2 << V4L2_FWHT_FL_PIXENC_OFFSET) |
| | 1608 | #define V4L2_FWHT_FL_PIXENC_HSV (3 << V4L2_FWHT_FL_PIXENC_OFFSET) |
| | 1609 | |
| | 1610 | #define V4L2_CID_STATELESS_FWHT_PARAMS (V4L2_CID_CODEC_STATELESS_BASE + 100) |
| | 1611 | /** |
| | 1612 | * struct v4l2_ctrl_fwht_params - FWHT parameters |
| | 1613 | * |
| | 1614 | * @backward_ref_ts: timestamp of the V4L2 capture buffer to use as reference. |
| | 1615 | * The timestamp refers to the timestamp field in struct v4l2_buffer. |
| | 1616 | * Use v4l2_timeval_to_ns() to convert the struct timeval to a __u64. |
| | 1617 | * @version: must be V4L2_FWHT_VERSION. |
| | 1618 | * @width: width of frame. |
| | 1619 | * @height: height of frame. |
| | 1620 | * @flags: FWHT flags (see V4L2_FWHT_FL_*). |
| | 1621 | * @colorspace: the colorspace (enum v4l2_colorspace). |
| | 1622 | * @xfer_func: the transfer function (enum v4l2_xfer_func). |
| | 1623 | * @ycbcr_enc: the Y'CbCr encoding (enum v4l2_ycbcr_encoding). |
| | 1624 | * @quantization: the quantization (enum v4l2_quantization). |
| | 1625 | */ |
| | 1626 | struct v4l2_ctrl_fwht_params { |
| | 1627 | __u64 backward_ref_ts; |
| | 1628 | __u32 version; |
| | 1629 | __u32 width; |
| | 1630 | __u32 height; |
| | 1631 | __u32 flags; |
| | 1632 | __u32 colorspace; |
| | 1633 | __u32 xfer_func; |
| | 1634 | __u32 ycbcr_enc; |
| | 1635 | __u32 quantization; |
| | 1636 | }; |
| | 1637 | |
| | 1638 | /* MPEG-compression definitions kept for backwards compatibility */ |
| | 1639 | #ifndef __KERNEL__ |
| | 1640 | #define V4L2_CTRL_CLASS_MPEG V4L2_CTRL_CLASS_CODEC |
| | 1641 | #define V4L2_CID_MPEG_CLASS V4L2_CID_CODEC_CLASS |
| | 1642 | #define V4L2_CID_MPEG_BASE V4L2_CID_CODEC_BASE |
| | 1643 | #define V4L2_CID_MPEG_CX2341X_BASE V4L2_CID_CODEC_CX2341X_BASE |
| | 1644 | #define V4L2_CID_MPEG_MFC51_BASE V4L2_CID_CODEC_MFC51_BASE |
| | 1645 | #endif |
| | 1646 | |
| 1174 | #endif | 1647 | #endif |