|
|
|
@@ -1102,20 +1102,17 @@ int ff_hevc_parse_sps(HEVCSPS *sps, GetBitContext *gb, unsigned int *sps_id, |
|
|
|
decode_vui(gb, avctx, apply_defdispwin, sps); |
|
|
|
|
|
|
|
if (get_bits1(gb)) { // sps_extension_flag |
|
|
|
int sps_range_extension_flag = get_bits1(gb); |
|
|
|
sps->sps_range_extension_flag = get_bits1(gb); |
|
|
|
skip_bits(gb, 7); //sps_extension_7bits = get_bits(gb, 7); |
|
|
|
if (sps_range_extension_flag) { |
|
|
|
int extended_precision_processing_flag; |
|
|
|
int cabac_bypass_alignment_enabled_flag; |
|
|
|
|
|
|
|
if (sps->sps_range_extension_flag) { |
|
|
|
sps->transform_skip_rotation_enabled_flag = get_bits1(gb); |
|
|
|
sps->transform_skip_context_enabled_flag = get_bits1(gb); |
|
|
|
sps->implicit_rdpcm_enabled_flag = get_bits1(gb); |
|
|
|
|
|
|
|
sps->explicit_rdpcm_enabled_flag = get_bits1(gb); |
|
|
|
|
|
|
|
extended_precision_processing_flag = get_bits1(gb); |
|
|
|
if (extended_precision_processing_flag) |
|
|
|
sps->extended_precision_processing_flag = get_bits1(gb); |
|
|
|
if (sps->extended_precision_processing_flag) |
|
|
|
av_log(avctx, AV_LOG_WARNING, |
|
|
|
"extended_precision_processing_flag not yet implemented\n"); |
|
|
|
|
|
|
|
@@ -1127,8 +1124,8 @@ int ff_hevc_parse_sps(HEVCSPS *sps, GetBitContext *gb, unsigned int *sps_id, |
|
|
|
|
|
|
|
sps->persistent_rice_adaptation_enabled_flag = get_bits1(gb); |
|
|
|
|
|
|
|
cabac_bypass_alignment_enabled_flag = get_bits1(gb); |
|
|
|
if (cabac_bypass_alignment_enabled_flag) |
|
|
|
sps->cabac_bypass_alignment_enabled_flag = get_bits1(gb); |
|
|
|
if (sps->cabac_bypass_alignment_enabled_flag) |
|
|
|
av_log(avctx, AV_LOG_WARNING, |
|
|
|
"cabac_bypass_alignment_enabled_flag not yet implemented\n"); |
|
|
|
} |
|
|
|
@@ -1686,9 +1683,9 @@ int ff_hevc_decode_nal_pps(GetBitContext *gb, AVCodecContext *avctx, |
|
|
|
pps->slice_header_extension_present_flag = get_bits1(gb); |
|
|
|
|
|
|
|
if (get_bits1(gb)) { // pps_extension_present_flag |
|
|
|
int pps_range_extensions_flag = get_bits1(gb); |
|
|
|
pps->pps_range_extensions_flag = get_bits1(gb); |
|
|
|
skip_bits(gb, 7); // pps_extension_7bits |
|
|
|
if (sps->ptl.general_ptl.profile_idc == FF_PROFILE_HEVC_REXT && pps_range_extensions_flag) { |
|
|
|
if (sps->ptl.general_ptl.profile_idc == FF_PROFILE_HEVC_REXT && pps->pps_range_extensions_flag) { |
|
|
|
if ((ret = pps_range_extensions(gb, avctx, pps, sps)) < 0) |
|
|
|
goto err; |
|
|
|
} |
|
|
|
|