mirror of https://git.ffmpeg.org/ffmpeg.git
hevc: set profile based on the profile compatibility flags if needed
This fixes retrieving a valid profile for many of the FATE conformance samples, allowing them to be properly decoded by the HWAccel after adding a profile check.
This commit is contained in:
parent
70742e599b
commit
f85cc3bf12
|
@ -257,8 +257,12 @@ static int decode_profile_tier_level(GetBitContext *gb, AVCodecContext *avctx,
|
||||||
else
|
else
|
||||||
av_log(avctx, AV_LOG_WARNING, "Unknown HEVC profile: %d\n", ptl->profile_idc);
|
av_log(avctx, AV_LOG_WARNING, "Unknown HEVC profile: %d\n", ptl->profile_idc);
|
||||||
|
|
||||||
for (i = 0; i < 32; i++)
|
for (i = 0; i < 32; i++) {
|
||||||
ptl->profile_compatibility_flag[i] = get_bits1(gb);
|
ptl->profile_compatibility_flag[i] = get_bits1(gb);
|
||||||
|
|
||||||
|
if (ptl->profile_idc == 0 && i > 0 && ptl->profile_compatibility_flag[i])
|
||||||
|
ptl->profile_idc = i;
|
||||||
|
}
|
||||||
ptl->progressive_source_flag = get_bits1(gb);
|
ptl->progressive_source_flag = get_bits1(gb);
|
||||||
ptl->interlaced_source_flag = get_bits1(gb);
|
ptl->interlaced_source_flag = get_bits1(gb);
|
||||||
ptl->non_packed_constraint_flag = get_bits1(gb);
|
ptl->non_packed_constraint_flag = get_bits1(gb);
|
||||||
|
|
Loading…
Reference in New Issue