diff options
author | Haripriya Deshmukh <haripriya.deshmukh@ittiam.com> | 2024-04-22 15:53:00 +0530 |
---|---|---|
committer | Harish Mahendrakar <harish.mahendrakar@ittiam.com> | 2024-04-22 23:50:43 -0700 |
commit | d0897deaf8bd6555e5c8942cc2a91e325a88eb55 (patch) | |
tree | b000a1c863fc6a4b352f9eec4450b20f1e49fe36 | |
parent | bf58c9a88529b4d10985d95d83c9bbdc2bab789a (diff) | |
download | libhevc-upstream-main.tar.gz |
libhevc: Add dynamic color aspects supportupstream-main
Bug: 325468696
Test: atest android.mediav2.cts.DecoderDynamicColorAspectTest
Change-Id: I01dc043dfdae5646818c3cbea8ae0415183eb69d
-rw-r--r-- | decoder/ihevcd_parse_headers.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c index 866e6b5..e50272c 100644 --- a/decoder/ihevcd_parse_headers.c +++ b/decoder/ihevcd_parse_headers.c @@ -1844,6 +1844,21 @@ IHEVCD_ERROR_T ihevcd_parse_sps(codec_t *ps_codec) &ps_sps->s_vui_parameters, ps_sps->i1_sps_max_sub_layers - 1); RETURN_IF((ret != (IHEVCD_ERROR_T)IHEVCD_SUCCESS), ret); + + if (0 != ps_codec->u4_allocate_dynamic_done) { + + vui_t *ps_vui = &ps_sps->s_vui_parameters; + sps_t *ps_sps_old = ps_codec->s_parse.ps_sps; + vui_t *ps_vui_old = &ps_sps_old->s_vui_parameters; + + if (ps_vui->u1_video_full_range_flag != ps_vui_old->u1_video_full_range_flag || + ps_vui->u1_colour_primaries != ps_vui_old->u1_colour_primaries || + ps_vui->u1_transfer_characteristics != ps_vui_old->u1_transfer_characteristics || + ps_vui->u1_matrix_coefficients != ps_vui_old->u1_matrix_coefficients) { + ps_codec->i4_reset_flag = 1; + return (IHEVCD_ERROR_T)IVD_RES_CHANGED; + } + } } BITS_PARSE("sps_extension_flag", value, ps_bitstrm, 1); |