video: driver: Do not combine PREPEND_SPSPPS_TO_IDR with SEPARATE/JOINED_WITH_1ST_FRAME

Combination of PREPEND_SPSPPS_TO_IDR with V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE or
V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME is not supported.
Hence, prioritize PREPEND_SPSPPS_TO_IDR over SEPARATE/JOINED_WITH_1ST_FRAME
to set to fw.

Change-Id: Ia23569c046c95889d5eabbe2142d6fd2c69d032a
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
This commit is contained in:
Akshata Sahukar
2021-04-06 11:23:01 -07:00
parent d0d96b1076
commit ceab7d9dab

View File

@@ -1578,13 +1578,13 @@ int msm_vidc_set_header_mode(void *instance,
prepend_sps_pps = capability->cap[PREPEND_SPSPPS_TO_IDR].value;
hdr_metadata = capability->cap[META_SEQ_HDR_NAL].value;
if (header_mode == V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE)
hfi_value |= HFI_SEQ_HEADER_SEPERATE_FRAME;
else if (header_mode == V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME)
hfi_value |= HFI_SEQ_HEADER_JOINED_WITH_1ST_FRAME;
/* prioritize PREPEND_SPSPPS_TO_IDR mode over other header modes */
if (prepend_sps_pps)
hfi_value |= HFI_SEQ_HEADER_PREFIX_WITH_SYNC_FRAME;
hfi_value = HFI_SEQ_HEADER_PREFIX_WITH_SYNC_FRAME;
else if (header_mode == V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME)
hfi_value = HFI_SEQ_HEADER_JOINED_WITH_1ST_FRAME;
else
hfi_value = HFI_SEQ_HEADER_SEPERATE_FRAME;
if (hdr_metadata)
hfi_value |= HFI_SEQ_HEADER_METADATA;