|
@@ -41,15 +41,14 @@
|
|
#define H264 MSM_VIDC_H264
|
|
#define H264 MSM_VIDC_H264
|
|
#define HEVC MSM_VIDC_HEVC
|
|
#define HEVC MSM_VIDC_HEVC
|
|
#define VP9 MSM_VIDC_VP9
|
|
#define VP9 MSM_VIDC_VP9
|
|
-#define CODECS_ALL (MSM_VIDC_H264 | MSM_VIDC_HEVC | \
|
|
|
|
- MSM_VIDC_VP9)
|
|
|
|
|
|
+#define HEIC MSM_VIDC_HEIC
|
|
|
|
+#define CODECS_ALL (H264 | HEVC | VP9 | HEIC)
|
|
|
|
|
|
static struct msm_platform_core_capability core_data_waipio[] = {
|
|
static struct msm_platform_core_capability core_data_waipio[] = {
|
|
/* {type, value} */
|
|
/* {type, value} */
|
|
- {ENC_CODECS, H264|HEVC},
|
|
|
|
- {DEC_CODECS, H264|HEVC|VP9},
|
|
|
|
- // TODO: MAX_SESSION_COUNT needs to be changed to 16
|
|
|
|
- {MAX_SESSION_COUNT, 3},
|
|
|
|
|
|
+ {ENC_CODECS, H264|HEVC|HEIC},
|
|
|
|
+ {DEC_CODECS, H264|HEVC|VP9|HEIC},
|
|
|
|
+ {MAX_SESSION_COUNT, 16},
|
|
{MAX_SECURE_SESSION_COUNT, 3},
|
|
{MAX_SECURE_SESSION_COUNT, 3},
|
|
{MAX_MBPF, 173056}, /* (8192x4320)/256 + (4096x2176)/256*/
|
|
{MAX_MBPF, 173056}, /* (8192x4320)/256 + (4096x2176)/256*/
|
|
{MAX_MBPS, 7833600}, /* max_load
|
|
{MAX_MBPS, 7833600}, /* max_load
|
|
@@ -103,21 +102,17 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{FRAME_WIDTH, DEC, CODECS_ALL, 96, 8192, 1, 1920},
|
|
{FRAME_WIDTH, DEC, CODECS_ALL, 96, 8192, 1, 1920},
|
|
{FRAME_WIDTH, ENC, CODECS_ALL, 128, 8192, 1, 1920},
|
|
{FRAME_WIDTH, ENC, CODECS_ALL, 128, 8192, 1, 1920},
|
|
{LOSSLESS_FRAME_WIDTH, ENC, H264|HEVC, 128, 4096, 1, 1920},
|
|
{LOSSLESS_FRAME_WIDTH, ENC, H264|HEVC, 128, 4096, 1, 1920},
|
|
- {SECURE_FRAME_WIDTH, ENC|DEC, CODECS_ALL, 128, 4096, 1, 1920},
|
|
|
|
- {HEVC_IMAGE_FRAME_WIDTH, ENC, HEVC, 128, 512, 1, 512},
|
|
|
|
- {HEIC_IMAGE_FRAME_WIDTH, ENC, HEVC, 512, 16384, 1, 16384},
|
|
|
|
|
|
+ {SECURE_FRAME_WIDTH, ENC|DEC, H264|HEVC|VP9, 128, 4096, 1, 1920},
|
|
{FRAME_HEIGHT, DEC, CODECS_ALL, 96, 8192, 1, 1080},
|
|
{FRAME_HEIGHT, DEC, CODECS_ALL, 96, 8192, 1, 1080},
|
|
{FRAME_HEIGHT, ENC, CODECS_ALL, 128, 8192, 1, 1080},
|
|
{FRAME_HEIGHT, ENC, CODECS_ALL, 128, 8192, 1, 1080},
|
|
{LOSSLESS_FRAME_HEIGHT, ENC, H264|HEVC, 128, 4096, 1, 1080},
|
|
{LOSSLESS_FRAME_HEIGHT, ENC, H264|HEVC, 128, 4096, 1, 1080},
|
|
- {SECURE_FRAME_HEIGHT, ENC|DEC, CODECS_ALL, 128, 4096, 1, 1080},
|
|
|
|
- {HEVC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 128, 512, 1, 512},
|
|
|
|
- {HEIC_IMAGE_FRAME_HEIGHT, ENC, HEVC, 512, 16384, 1, 16384},
|
|
|
|
|
|
+ {SECURE_FRAME_HEIGHT, ENC|DEC, H264|HEVC|VP9, 128, 4096, 1, 1080},
|
|
{PIX_FMTS, ENC, H264,
|
|
{PIX_FMTS, ENC, H264,
|
|
MSM_VIDC_FMT_NV12,
|
|
MSM_VIDC_FMT_NV12,
|
|
MSM_VIDC_FMT_NV12C,
|
|
MSM_VIDC_FMT_NV12C,
|
|
MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C,
|
|
MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C,
|
|
MSM_VIDC_FMT_NV12C},
|
|
MSM_VIDC_FMT_NV12C},
|
|
- {PIX_FMTS, ENC, HEVC,
|
|
|
|
|
|
+ {PIX_FMTS, ENC, HEVC|HEIC,
|
|
MSM_VIDC_FMT_NV12,
|
|
MSM_VIDC_FMT_NV12,
|
|
MSM_VIDC_FMT_TP10C,
|
|
MSM_VIDC_FMT_TP10C,
|
|
MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
|
|
MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
|
|
@@ -128,7 +123,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0},
|
|
{0},
|
|
{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP}},
|
|
{PROFILE, MIN_FRAME_QP, MAX_FRAME_QP, I_FRAME_QP}},
|
|
|
|
|
|
- {PIX_FMTS, DEC, HEVC,
|
|
|
|
|
|
+ {PIX_FMTS, DEC, HEVC|HEIC,
|
|
MSM_VIDC_FMT_NV12,
|
|
MSM_VIDC_FMT_NV12,
|
|
MSM_VIDC_FMT_TP10C,
|
|
MSM_VIDC_FMT_TP10C,
|
|
MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
|
|
MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_NV12C |
|
|
@@ -167,10 +162,10 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
|
|
{LOSSLESS_MBPF, ENC, H264|HEVC, 64, 36864, 1, 36864},
|
|
/* Batch Mode Decode */
|
|
/* Batch Mode Decode */
|
|
/* TODO: update with new values based on updated voltage corner */
|
|
/* TODO: update with new values based on updated voltage corner */
|
|
- {BATCH_MBPF, DEC, CODECS_ALL, 64, 34816, 1, 34816},
|
|
|
|
|
|
+ {BATCH_MBPF, DEC, H264|HEVC|VP9, 64, 34816, 1, 34816},
|
|
/* (4096 * 2304) / 256 */
|
|
/* (4096 * 2304) / 256 */
|
|
- {BATCH_FPS, DEC, CODECS_ALL, 1, 120, 1, 120},
|
|
|
|
- {SECURE_MBPF, ENC|DEC, CODECS_ALL, 64, 36864, 1, 36864},
|
|
|
|
|
|
+ {BATCH_FPS, DEC, H264|HEVC|VP9, 1, 120, 1, 120},
|
|
|
|
+ {SECURE_MBPF, ENC|DEC, H264|HEVC|VP9, 64, 36864, 1, 36864},
|
|
/* ((1920 * 1088) / 256) * 480 fps */
|
|
/* ((1920 * 1088) / 256) * 480 fps */
|
|
{MBPS, ENC, CODECS_ALL, 64, 3916800, 1, 3916800},
|
|
{MBPS, ENC, CODECS_ALL, 64, 3916800, 1, 3916800},
|
|
/* ((1920 * 1088) / 256) * 960 fps */
|
|
/* ((1920 * 1088) / 256) * 960 fps */
|
|
@@ -194,10 +189,10 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{OPERATING_RATE, ENC|DEC, CODECS_ALL,
|
|
{OPERATING_RATE, ENC|DEC, CODECS_ALL,
|
|
1, INT_MAX, 1, (DEFAULT_FPS << 16)},
|
|
1, INT_MAX, 1, (DEFAULT_FPS << 16)},
|
|
|
|
|
|
- {SCALE_X, ENC, CODECS_ALL, 8192, 65536, 1, 8192},
|
|
|
|
- {SCALE_X, DEC, CODECS_ALL, 65536, 65536, 1, 65536},
|
|
|
|
- {SCALE_Y, ENC, CODECS_ALL, 8192, 65536, 1, 8192},
|
|
|
|
- {SCALE_Y, DEC, CODECS_ALL, 65536, 65536, 1, 65536},
|
|
|
|
|
|
+ {SCALE_X, ENC, H264|HEVC, 8192, 65536, 1, 8192},
|
|
|
|
+ {SCALE_X, DEC, H264|HEVC|VP9, 65536, 65536, 1, 65536},
|
|
|
|
+ {SCALE_Y, ENC, H264|HEVC, 8192, 65536, 1, 8192},
|
|
|
|
+ {SCALE_Y, DEC, H264|HEVC|VP9, 65536, 65536, 1, 65536},
|
|
{B_FRAME, ENC, H264|HEVC,
|
|
{B_FRAME, ENC, H264|HEVC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
@@ -215,7 +210,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{MB_CYCLES_FW, ENC|DEC, CODECS_ALL, 326389, 326389, 1, 326389},
|
|
{MB_CYCLES_FW, ENC|DEC, CODECS_ALL, 326389, 326389, 1, 326389},
|
|
{MB_CYCLES_FW_VPP, ENC|DEC, CODECS_ALL, 44156, 44156, 1, 44156},
|
|
{MB_CYCLES_FW_VPP, ENC|DEC, CODECS_ALL, 44156, 44156, 1, 44156},
|
|
|
|
|
|
- {SECURE_MODE, ENC|DEC, CODECS_ALL,
|
|
|
|
|
|
+ {SECURE_MODE, ENC|DEC, H264|HEVC|VP9,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_SECURE,
|
|
V4L2_CID_MPEG_VIDC_SECURE,
|
|
@@ -247,7 +242,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
HFI_PROP_ROTATION,
|
|
HFI_PROP_ROTATION,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {SUPER_FRAME, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {SUPER_FRAME, ENC, H264|HEVC,
|
|
0, 16, 1, 0,
|
|
0, 16, 1, 0,
|
|
V4L2_CID_MPEG_VIDC_SUPERFRAME,
|
|
V4L2_CID_MPEG_VIDC_SUPERFRAME,
|
|
0},
|
|
0},
|
|
@@ -304,7 +299,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
/* TODO: Firmware introduced enumeration type for this
|
|
/* TODO: Firmware introduced enumeration type for this
|
|
* with and without seq header.
|
|
* with and without seq header.
|
|
*/
|
|
*/
|
|
- {REQUEST_I_FRAME, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {REQUEST_I_FRAME, ENC, H264|HEVC,
|
|
0, 0, 0, 0,
|
|
0, 0, 0, 0,
|
|
V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
|
|
V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME,
|
|
HFI_PROP_REQUEST_SYNC_FRAME,
|
|
HFI_PROP_REQUEST_SYNC_FRAME,
|
|
@@ -351,12 +346,12 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
I_FRAME_QP, CONSTANT_QUALITY},
|
|
I_FRAME_QP, CONSTANT_QUALITY},
|
|
msm_vidc_adjust_bitrate_mode, msm_vidc_set_u32_enum},
|
|
msm_vidc_adjust_bitrate_mode, msm_vidc_set_u32_enum},
|
|
|
|
|
|
- {LOSSLESS, ENC, HEVC,
|
|
|
|
|
|
+ {LOSSLESS, ENC, HEVC|HEIC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU},
|
|
V4L2_CID_MPEG_VIDEO_HEVC_LOSSLESS_CU},
|
|
|
|
|
|
- {FRAME_SKIP_MODE, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {FRAME_SKIP_MODE, ENC, H264|HEVC,
|
|
V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
|
|
V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED,
|
|
V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,
|
|
V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT,
|
|
BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED) |
|
|
BIT(V4L2_MPEG_VIDEO_FRAME_SKIP_MODE_DISABLED) |
|
|
@@ -367,12 +362,12 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
0,
|
|
0,
|
|
CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
|
|
CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU},
|
|
|
|
|
|
- {FRAME_RC_ENABLE, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {FRAME_RC_ENABLE, ENC, H264|HEVC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE},
|
|
V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE},
|
|
|
|
|
|
- {CONSTANT_QUALITY, ENC, HEVC,
|
|
|
|
|
|
+ {CONSTANT_QUALITY, ENC, HEVC|HEIC,
|
|
1, MAX_CONSTANT_QUALITY, 1, 90,
|
|
1, MAX_CONSTANT_QUALITY, 1, 90,
|
|
V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
|
|
V4L2_CID_MPEG_VIDEO_CONSTANT_QUALITY,
|
|
HFI_PROP_CONSTANT_QUALITY,
|
|
HFI_PROP_CONSTANT_QUALITY,
|
|
@@ -389,7 +384,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, msm_vidc_set_u32},
|
|
NULL, msm_vidc_set_u32},
|
|
|
|
|
|
- {GOP_CLOSURE, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {GOP_CLOSURE, ENC, H264|HEVC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,
|
|
V4L2_CID_MPEG_VIDEO_GOP_CLOSURE,
|
|
@@ -425,14 +420,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
HFI_PROP_CSC_MATRIX,
|
|
HFI_PROP_CSC_MATRIX,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT}, */
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT}, */
|
|
|
|
|
|
- {HEIC, ENC, HEVC,
|
|
|
|
- V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
|
|
- 1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
|
|
- V4L2_CID_MPEG_VIDC_HEIC,
|
|
|
|
- HFI_PROP_HEIC_GRID_ENABLE,
|
|
|
|
- CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
-
|
|
|
|
- {LOWLATENCY_MODE, ENC|DEC, CODECS_ALL,
|
|
|
|
|
|
+ {LOWLATENCY_MODE, ENC|DEC, H264|HEVC|VP9,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
|
|
V4L2_CID_MPEG_VIDC_LOWLATENCY_REQUEST,
|
|
@@ -469,7 +457,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
HFI_PROP_BASELAYER_PRIORITYID,
|
|
HFI_PROP_BASELAYER_PRIORITYID,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {IR_RANDOM, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {IR_RANDOM, ENC, H264|HEVC,
|
|
0, INT_MAX, 1, 0,
|
|
0, INT_MAX, 1, 0,
|
|
V4L2_CID_MPEG_VIDC_INTRA_REFRESH_PERIOD,
|
|
V4L2_CID_MPEG_VIDC_INTRA_REFRESH_PERIOD,
|
|
HFI_PROP_IR_RANDOM_PERIOD,
|
|
HFI_PROP_IR_RANDOM_PERIOD,
|
|
@@ -496,20 +484,20 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{BITRATE_MODE}, {0},
|
|
{BITRATE_MODE}, {0},
|
|
msm_vidc_adjust_delta_based_rc, msm_vidc_set_u32},
|
|
msm_vidc_adjust_delta_based_rc, msm_vidc_set_u32},
|
|
|
|
|
|
- {CONTENT_ADAPTIVE_CODING, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {CONTENT_ADAPTIVE_CODING, ENC, H264|HEVC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_CID_MPEG_VIDC_CONTENT_ADAPTIVE_CODING,
|
|
V4L2_CID_MPEG_VIDC_CONTENT_ADAPTIVE_CODING,
|
|
HFI_PROP_CONTENT_ADAPTIVE_CODING,
|
|
HFI_PROP_CONTENT_ADAPTIVE_CODING,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {BITRATE_BOOST, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {BITRATE_BOOST, ENC, H264|HEVC,
|
|
0, 100, 25, 25,
|
|
0, 100, 25, 25,
|
|
V4L2_CID_MPEG_VIDC_QUALITY_BITRATE_BOOST,
|
|
V4L2_CID_MPEG_VIDC_QUALITY_BITRATE_BOOST,
|
|
HFI_PROP_BITRATE_BOOST,
|
|
HFI_PROP_BITRATE_BOOST,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {VBV_DELAY, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {VBV_DELAY, ENC, H264|HEVC,
|
|
0, 1000, 500, 0,
|
|
0, 1000, 500, 0,
|
|
V4L2_CID_MPEG_VIDEO_VBV_DELAY},
|
|
V4L2_CID_MPEG_VIDEO_VBV_DELAY},
|
|
|
|
|
|
@@ -521,7 +509,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, msm_vidc_set_min_qp},
|
|
NULL, msm_vidc_set_min_qp},
|
|
|
|
|
|
- {MIN_FRAME_QP, ENC, HEVC,
|
|
|
|
|
|
+ {MIN_FRAME_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP,
|
|
HFI_PROP_MIN_QP_PACKED,
|
|
HFI_PROP_MIN_QP_PACKED,
|
|
@@ -533,7 +521,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
|
|
MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
|
|
V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP},
|
|
V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MIN_QP},
|
|
|
|
|
|
- {I_FRAME_MIN_QP, ENC, HEVC,
|
|
|
|
|
|
+ {I_FRAME_MIN_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
V4L2_CID_MPEG_VIDC_HEVC_I_FRAME_MIN_QP},
|
|
V4L2_CID_MPEG_VIDC_HEVC_I_FRAME_MIN_QP},
|
|
|
|
|
|
@@ -541,7 +529,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
|
|
MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
|
|
V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP},
|
|
V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MIN_QP},
|
|
|
|
|
|
- {P_FRAME_MIN_QP, ENC, HEVC,
|
|
|
|
|
|
+ {P_FRAME_MIN_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
V4L2_CID_MPEG_VIDC_HEVC_P_FRAME_MIN_QP},
|
|
V4L2_CID_MPEG_VIDC_HEVC_P_FRAME_MIN_QP},
|
|
|
|
|
|
@@ -549,7 +537,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
|
|
MIN_QP_8BIT, MAX_QP, 1, MIN_QP_8BIT,
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MIN_QP},
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MIN_QP},
|
|
|
|
|
|
- {B_FRAME_MIN_QP, ENC, HEVC,
|
|
|
|
|
|
+ {B_FRAME_MIN_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
MIN_QP_10BIT, MAX_QP, 1, MIN_QP_10BIT,
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MIN_QP},
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MIN_QP},
|
|
|
|
|
|
@@ -561,7 +549,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, msm_vidc_set_min_qp},
|
|
NULL, msm_vidc_set_min_qp},
|
|
|
|
|
|
- {MAX_FRAME_QP, ENC, HEVC,
|
|
|
|
|
|
+ {MAX_FRAME_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_MAX_QP,
|
|
HFI_PROP_MAX_QP_PACKED,
|
|
HFI_PROP_MAX_QP_PACKED,
|
|
@@ -573,7 +561,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP},
|
|
V4L2_CID_MPEG_VIDEO_H264_I_FRAME_MAX_QP},
|
|
|
|
|
|
- {I_FRAME_MAX_QP, ENC, HEVC,
|
|
|
|
|
|
+ {I_FRAME_MAX_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDC_HEVC_I_FRAME_MAX_QP},
|
|
V4L2_CID_MPEG_VIDC_HEVC_I_FRAME_MAX_QP},
|
|
|
|
|
|
@@ -581,7 +569,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP},
|
|
V4L2_CID_MPEG_VIDEO_H264_P_FRAME_MAX_QP},
|
|
|
|
|
|
- {P_FRAME_MAX_QP, ENC, HEVC,
|
|
|
|
|
|
+ {P_FRAME_MAX_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDC_HEVC_P_FRAME_MAX_QP},
|
|
V4L2_CID_MPEG_VIDC_HEVC_P_FRAME_MAX_QP},
|
|
|
|
|
|
@@ -589,18 +577,18 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_8BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MAX_QP},
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MAX_QP},
|
|
|
|
|
|
- {B_FRAME_MAX_QP, ENC, HEVC,
|
|
|
|
|
|
+ {B_FRAME_MAX_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, MAX_QP,
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MAX_QP},
|
|
V4L2_CID_MPEG_VIDC_B_FRAME_MAX_QP},
|
|
|
|
|
|
- {HEVC_HIER_QP, ENC, HEVC,
|
|
|
|
|
|
+ {HEVC_HIER_QP, ENC, HEVC|HEIC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_HIER_QP,
|
|
HFI_PROP_QP_PACKED,
|
|
HFI_PROP_QP_PACKED,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {I_FRAME_QP, ENC, HEVC,
|
|
|
|
|
|
+ {I_FRAME_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP,
|
|
HFI_PROP_QP_PACKED,
|
|
HFI_PROP_QP_PACKED,
|
|
@@ -616,7 +604,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{BITRATE_MODE}, {0},
|
|
{BITRATE_MODE}, {0},
|
|
NULL, msm_vidc_set_frame_qp},
|
|
NULL, msm_vidc_set_frame_qp},
|
|
|
|
|
|
- {P_FRAME_QP, ENC, HEVC,
|
|
|
|
|
|
+ {P_FRAME_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP},
|
|
V4L2_CID_MPEG_VIDEO_HEVC_P_FRAME_QP},
|
|
|
|
|
|
@@ -624,9 +612,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
|
|
MIN_QP_8BIT, MAX_QP, 1, DEFAULT_QP,
|
|
V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP},
|
|
V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP},
|
|
|
|
|
|
- {P_FRAME_QP, ENC, VP9, 0, 127, 1, 40},
|
|
|
|
-
|
|
|
|
- {B_FRAME_QP, ENC, HEVC,
|
|
|
|
|
|
+ {B_FRAME_QP, ENC, HEVC|HEIC,
|
|
MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
|
|
MIN_QP_10BIT, MAX_QP, 1, DEFAULT_QP,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP},
|
|
V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_QP},
|
|
|
|
|
|
@@ -771,7 +757,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0},
|
|
{0},
|
|
msm_vidc_adjust_entropy_mode, msm_vidc_set_u32},
|
|
msm_vidc_adjust_entropy_mode, msm_vidc_set_u32},
|
|
|
|
|
|
- {ENTROPY_MODE, DEC, CODECS_ALL,
|
|
|
|
|
|
+ {ENTROPY_MODE, DEC, H264|HEVC|VP9,
|
|
V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
|
|
V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC,
|
|
V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
|
|
V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC,
|
|
BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
|
|
BIT(V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC) |
|
|
@@ -813,7 +799,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{ENTROPY_MODE},
|
|
{ENTROPY_MODE},
|
|
NULL, msm_vidc_set_u32_enum},
|
|
NULL, msm_vidc_set_u32_enum},
|
|
|
|
|
|
- {PROFILE, ENC|DEC, HEVC,
|
|
|
|
|
|
+ {PROFILE, ENC|DEC, HEVC|HEIC,
|
|
V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
|
|
V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN,
|
|
V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10,
|
|
V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_10,
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN) |
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN) |
|
|
@@ -867,7 +853,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0},
|
|
{0},
|
|
NULL, msm_vidc_set_u32_enum},
|
|
NULL, msm_vidc_set_u32_enum},
|
|
|
|
|
|
- {LEVEL, ENC|DEC, HEVC,
|
|
|
|
|
|
+ {LEVEL, ENC|DEC, HEVC|HEIC,
|
|
V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
|
V4L2_MPEG_VIDEO_HEVC_LEVEL_1,
|
|
V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,
|
|
V4L2_MPEG_VIDEO_HEVC_LEVEL_6_2,
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_LEVEL_1) |
|
|
@@ -895,7 +881,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
* go/videogki
|
|
* go/videogki
|
|
*/
|
|
*/
|
|
|
|
|
|
- {HEVC_TIER, ENC|DEC, HEVC,
|
|
|
|
|
|
+ {HEVC_TIER, ENC|DEC, HEVC|HEIC,
|
|
V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
|
|
V4L2_MPEG_VIDEO_HEVC_TIER_MAIN,
|
|
V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
|
|
V4L2_MPEG_VIDEO_HEVC_TIER_HIGH,
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN) |
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_TIER_MAIN) |
|
|
@@ -921,7 +907,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, msm_vidc_set_deblock_mode},
|
|
NULL, msm_vidc_set_deblock_mode},
|
|
|
|
|
|
- {LF_MODE, ENC, HEVC,
|
|
|
|
|
|
+ {LF_MODE, ENC, HEVC|HEIC,
|
|
V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,
|
|
V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED,
|
|
DB_HEVC_DISABLE_SLICE_BOUNDARY,
|
|
DB_HEVC_DISABLE_SLICE_BOUNDARY,
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED) |
|
|
BIT(V4L2_MPEG_VIDEO_HEVC_LOOP_FILTER_MODE_DISABLED) |
|
|
@@ -938,7 +924,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
-6, 6, 1, 0,
|
|
-6, 6, 1, 0,
|
|
V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA},
|
|
V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA},
|
|
|
|
|
|
- {LF_ALPHA, ENC, HEVC,
|
|
|
|
|
|
+ {LF_ALPHA, ENC, HEVC|HEIC,
|
|
-6, 6, 1, 0,
|
|
-6, 6, 1, 0,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2},
|
|
V4L2_CID_MPEG_VIDEO_HEVC_LF_TC_OFFSET_DIV2},
|
|
|
|
|
|
@@ -946,11 +932,11 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
-6, 6, 1, 0,
|
|
-6, 6, 1, 0,
|
|
V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA},
|
|
V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA},
|
|
|
|
|
|
- {LF_BETA, ENC, HEVC,
|
|
|
|
|
|
+ {LF_BETA, ENC, HEVC|HEIC,
|
|
-6, 6, 1, 0,
|
|
-6, 6, 1, 0,
|
|
V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2},
|
|
V4L2_CID_MPEG_VIDEO_HEVC_LF_BETA_OFFSET_DIV2},
|
|
|
|
|
|
- {SLICE_MODE, ENC, H264|HEVC,
|
|
|
|
|
|
+ {SLICE_MODE, ENC, H264|HEVC|HEIC,
|
|
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
|
|
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE,
|
|
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,
|
|
V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES,
|
|
BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE) |
|
|
BIT(V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE) |
|
|
@@ -963,20 +949,20 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, msm_vidc_set_slice_count},
|
|
NULL, msm_vidc_set_slice_count},
|
|
|
|
|
|
- {SLICE_MAX_BYTES, ENC, H264|HEVC,
|
|
|
|
|
|
+ {SLICE_MAX_BYTES, ENC, H264|HEVC|HEIC,
|
|
1, INT_MAX, 1, INT_MAX,
|
|
1, INT_MAX, 1, INT_MAX,
|
|
V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,
|
|
V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES,
|
|
HFI_PROP_MULTI_SLICE_BYTES_COUNT,
|
|
HFI_PROP_MULTI_SLICE_BYTES_COUNT,
|
|
CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {SLICE_MAX_MB, ENC, H264|HEVC,
|
|
|
|
|
|
+ {SLICE_MAX_MB, ENC, H264|HEVC|HEIC,
|
|
1, INT_MAX, 1, INT_MAX,
|
|
1, INT_MAX, 1, INT_MAX,
|
|
V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,
|
|
V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB,
|
|
HFI_PROP_MULTI_SLICE_MB_COUNT,
|
|
HFI_PROP_MULTI_SLICE_MB_COUNT,
|
|
CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
// TODO: MB level RC - mapping
|
|
// TODO: MB level RC - mapping
|
|
- {MB_RC, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {MB_RC, ENC, H264|HEVC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,
|
|
V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE,
|
|
@@ -1001,14 +987,14 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, msm_vidc_set_chroma_qp_index_offset},
|
|
NULL, msm_vidc_set_chroma_qp_index_offset},
|
|
|
|
|
|
- {DISPLAY_DELAY_ENABLE, DEC, CODECS_ALL,
|
|
|
|
|
|
+ {DISPLAY_DELAY_ENABLE, DEC, H264|HEVC|VP9,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE,
|
|
V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE,
|
|
HFI_PROP_DECODE_ORDER_OUTPUT,
|
|
HFI_PROP_DECODE_ORDER_OUTPUT,
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
|
|
- {DISPLAY_DELAY, DEC, CODECS_ALL,
|
|
|
|
|
|
+ {DISPLAY_DELAY, DEC, H264|HEVC|VP9,
|
|
0, 1, 1, 0,
|
|
0, 1, 1, 0,
|
|
V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY,
|
|
V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY,
|
|
HFI_PROP_DECODE_ORDER_OUTPUT,
|
|
HFI_PROP_DECODE_ORDER_OUTPUT,
|
|
@@ -1042,7 +1028,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
MSM_VIDC_POWER_SAVE_MODE, 1,
|
|
MSM_VIDC_POWER_SAVE_MODE, 1,
|
|
MSM_VIDC_POWER_SAVE_MODE},
|
|
MSM_VIDC_POWER_SAVE_MODE},
|
|
|
|
|
|
- {CODED_FRAMES, DEC, CODECS_ALL,
|
|
|
|
|
|
+ {CODED_FRAMES, DEC, H264|HEVC|HEIC,
|
|
CODED_FRAMES_PROGRESSIVE, CODED_FRAMES_INTERLACE,
|
|
CODED_FRAMES_PROGRESSIVE, CODED_FRAMES_INTERLACE,
|
|
1, CODED_FRAMES_PROGRESSIVE,
|
|
1, CODED_FRAMES_PROGRESSIVE,
|
|
0,
|
|
0,
|
|
@@ -1052,7 +1038,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
0,
|
|
0,
|
|
HFI_PROP_LUMA_CHROMA_BIT_DEPTH},
|
|
HFI_PROP_LUMA_CHROMA_BIT_DEPTH},
|
|
|
|
|
|
- {CODEC_CONFIG, DEC, H264|HEVC, 0, 1, 1, 0,
|
|
|
|
|
|
+ {CODEC_CONFIG, DEC, H264|HEVC|HEIC, 0, 1, 1, 0,
|
|
V4L2_CID_MPEG_VIDC_CODEC_CONFIG},
|
|
V4L2_CID_MPEG_VIDC_CODEC_CONFIG},
|
|
|
|
|
|
{BITSTREAM_SIZE_OVERWRITE, DEC, CODECS_ALL, 0, INT_MAX, 1, 0,
|
|
{BITSTREAM_SIZE_OVERWRITE, DEC, CODECS_ALL, 0, INT_MAX, 1, 0,
|
|
@@ -1093,7 +1079,7 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
{0}, {0},
|
|
{0}, {0},
|
|
NULL, NULL},
|
|
NULL, NULL},
|
|
|
|
|
|
- {META_LTR_MARK_USE, ENC, CODECS_ALL,
|
|
|
|
|
|
+ {META_LTR_MARK_USE, ENC, H264|HEVC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_METADATA_LTR_MARK_USE_DETAILS,
|
|
V4L2_CID_MPEG_VIDC_METADATA_LTR_MARK_USE_DETAILS,
|
|
@@ -1141,19 +1127,19 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO,
|
|
V4L2_CID_MPEG_VIDC_METADATA_HISTOGRAM_INFO,
|
|
HFI_PROP_HISTOGRAM_INFO},
|
|
HFI_PROP_HISTOGRAM_INFO},
|
|
|
|
|
|
- {META_SEI_MASTERING_DISP, DEC | ENC, HEVC,
|
|
|
|
|
|
+ {META_SEI_MASTERING_DISP, DEC|ENC, HEVC|HEIC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR,
|
|
V4L2_CID_MPEG_VIDC_METADATA_SEI_MASTERING_DISPLAY_COLOUR,
|
|
HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR},
|
|
HFI_PROP_SEI_MASTERING_DISPLAY_COLOUR},
|
|
|
|
|
|
- {META_SEI_CLL, DEC | ENC, HEVC,
|
|
|
|
|
|
+ {META_SEI_CLL, DEC|ENC, HEVC|HEIC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL,
|
|
V4L2_CID_MPEG_VIDC_METADATA_SEI_CONTENT_LIGHT_LEVEL,
|
|
HFI_PROP_SEI_CONTENT_LIGHT_LEVEL},
|
|
HFI_PROP_SEI_CONTENT_LIGHT_LEVEL},
|
|
|
|
|
|
- {META_HDR10PLUS, DEC | ENC, HEVC,
|
|
|
|
|
|
+ {META_HDR10PLUS, DEC | ENC, HEVC|HEIC,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS,
|
|
V4L2_CID_MPEG_VIDC_METADATA_HDR10PLUS,
|
|
@@ -1194,6 +1180,85 @@ static struct msm_platform_inst_capability instance_data_waipio[] = {
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
V4L2_CID_MPEG_VIDC_METADATA_ROI_INFO,
|
|
V4L2_CID_MPEG_VIDC_METADATA_ROI_INFO,
|
|
HFI_PROP_ROI_INFO},
|
|
HFI_PROP_ROI_INFO},
|
|
|
|
+
|
|
|
|
+ /* configure image properties */
|
|
|
|
+ {FRAME_WIDTH, ENC, HEIC, 512, 16384, 1, 16384},
|
|
|
|
+ {FRAME_WIDTH, DEC, HEIC, 512, 8192, 1, 8192},
|
|
|
|
+ {FRAME_HEIGHT, ENC, HEIC, 512, 16384, 1, 16384},
|
|
|
|
+ {FRAME_HEIGHT, DEC, HEIC, 512, 8192, 1, 8192},
|
|
|
|
+ {MIN_BUFFERS_INPUT, ENC|DEC, HEIC, 0, 64, 1, 1,
|
|
|
|
+ V4L2_CID_MIN_BUFFERS_FOR_OUTPUT},
|
|
|
|
+ {MIN_BUFFERS_OUTPUT, ENC|DEC, HEIC,
|
|
|
|
+ 0, 64, 1, 1,
|
|
|
|
+ V4L2_CID_MIN_BUFFERS_FOR_CAPTURE,
|
|
|
|
+ HFI_PROP_BUFFER_FW_MIN_OUTPUT_COUNT,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT},
|
|
|
|
+ {PIX_FMTS, ENC, HEIC,
|
|
|
|
+ MSM_VIDC_FMT_NV12,
|
|
|
|
+ MSM_VIDC_FMT_P010,
|
|
|
|
+ MSM_VIDC_FMT_NV12 | MSM_VIDC_FMT_NV21 | MSM_VIDC_FMT_P010,
|
|
|
|
+ MSM_VIDC_FMT_NV12,
|
|
|
|
+ 0, 0,
|
|
|
|
+ CAP_FLAG_ROOT,
|
|
|
|
+ {0},
|
|
|
|
+ {PROFILE}},
|
|
|
|
+ {MBPF, ENC, HEIC, 64, 262144, 262144}, /* ((8192x8192)/256) */
|
|
|
|
+ {MBPF, DEC, HEIC, 36, 1048576, 1, 1048576}, /* ((16384x16384)/256) */
|
|
|
|
+ {MBPS, ENC, HEIC, 64, 262144, 262144}, /* ((8192x8192)/256)@1fps */
|
|
|
|
+ {MBPS, DEC, HEIC, 36, 1048576, 1, 1048576}, /* ((16384x16384)/256)@1fps */
|
|
|
|
+ {BITRATE_MODE, ENC, HEIC,
|
|
|
|
+ V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
|
|
|
|
+ V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
|
|
|
|
+ BIT(V4L2_MPEG_VIDEO_BITRATE_MODE_CQ),
|
|
|
|
+ V4L2_MPEG_VIDEO_BITRATE_MODE_CQ,
|
|
|
|
+ V4L2_CID_MPEG_VIDEO_BITRATE_MODE,
|
|
|
|
+ HFI_PROP_RATE_CONTROL,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
|
|
|
|
+ {0},
|
|
|
|
+ {TIME_DELTA_BASED_RC, CONSTANT_QUALITY},
|
|
|
|
+ msm_vidc_adjust_bitrate_mode, msm_vidc_set_u32_enum},
|
|
|
|
+ {TIME_DELTA_BASED_RC, ENC, HEIC,
|
|
|
|
+ V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
|
|
+ 1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
|
|
+ V4L2_CID_MPEG_VIDC_TIME_DELTA_BASED_RC,
|
|
|
|
+ HFI_PROP_TIME_DELTA_BASED_RATE_CONTROL,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT,
|
|
|
|
+ {BITRATE_MODE}, {0},
|
|
|
|
+ msm_vidc_adjust_delta_based_rc, msm_vidc_set_u32},
|
|
|
|
+ {GRID, ENC, HEIC,
|
|
|
|
+ V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
|
|
+ 1, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
|
|
+ 0,
|
|
|
|
+ HFI_PROP_HEIC_GRID_ENABLE,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT,
|
|
|
|
+ {0}, {0},
|
|
|
|
+ NULL, msm_vidc_set_u32},
|
|
|
|
+ {GOP_SIZE, ENC, HEIC,
|
|
|
|
+ 0, INT_MAX, 1, 0 /* all intra */,
|
|
|
|
+ V4L2_CID_MPEG_VIDEO_GOP_SIZE,
|
|
|
|
+ HFI_PROP_MAX_GOP_FRAMES,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_DYNAMIC_ALLOWED,
|
|
|
|
+ {0}, {0},
|
|
|
|
+ NULL, msm_vidc_set_u32},
|
|
|
|
+ {B_FRAME, ENC, HEIC,
|
|
|
|
+ V4L2_MPEG_MSM_VIDC_DISABLE, V4L2_MPEG_MSM_VIDC_ENABLE,
|
|
|
|
+ 1, V4L2_MPEG_MSM_VIDC_DISABLE,
|
|
|
|
+ V4L2_CID_MPEG_VIDEO_B_FRAMES,
|
|
|
|
+ HFI_PROP_MAX_B_FRAMES,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT,
|
|
|
|
+ {0}, {0},
|
|
|
|
+ NULL, msm_vidc_set_u32},
|
|
|
|
+ {PROFILE, ENC|DEC, HEIC,
|
|
|
|
+ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE,
|
|
|
|
+ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE,
|
|
|
|
+ BIT(V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE),
|
|
|
|
+ V4L2_MPEG_VIDEO_HEVC_PROFILE_MAIN_STILL_PICTURE,
|
|
|
|
+ V4L2_CID_MPEG_VIDEO_HEVC_PROFILE,
|
|
|
|
+ HFI_PROP_PROFILE,
|
|
|
|
+ CAP_FLAG_ROOT | CAP_FLAG_OUTPUT_PORT | CAP_FLAG_MENU,
|
|
|
|
+ {PIX_FMTS},
|
|
|
|
+ {0},
|
|
|
|
+ msm_vidc_adjust_profile, msm_vidc_set_u32_enum},
|
|
};
|
|
};
|
|
|
|
|
|
/*
|
|
/*
|