diff options
Diffstat (limited to 'libavcodec/hevc_ps.c')
-rw-r--r-- | libavcodec/hevc_ps.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c index 15f73be9bf..9c0d0ee753 100644 --- a/libavcodec/hevc_ps.c +++ b/libavcodec/hevc_ps.c @@ -453,6 +453,14 @@ static void decode_vui(HEVCContext *s, HEVCSPS *sps) vui->colour_primaries = get_bits(gb, 8); vui->transfer_characteristic = get_bits(gb, 8); vui->matrix_coeffs = get_bits(gb, 8); + + // Set invalid values to "unspecified" + if (vui->colour_primaries >= AVCOL_PRI_NB) + vui->colour_primaries = AVCOL_PRI_UNSPECIFIED; + if (vui->transfer_characteristic >= AVCOL_TRC_NB) + vui->transfer_characteristic = AVCOL_TRC_UNSPECIFIED; + if (vui->matrix_coeffs >= AVCOL_SPC_NB) + vui->matrix_coeffs = AVCOL_SPC_UNSPECIFIED; } } |