summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndriy Gelman <andriy.gelman@gmail.com>2020-02-12 18:36:56 -0500
committerJames Almer <jamrial@gmail.com>2020-02-12 23:31:37 -0300
commit018a42790ce12d19940991a49e26f85e7717159c (patch)
treeba54618c0d42ac000dc024aca549e26dd56cb41c
parent13dc90396d6d8eb70c583b94fb2978ed5a3f417c (diff)
avcodec/h264_ps: Return error if pps has FMO parameters
FMO is not supported and fields related to FMO are not parsed, meaning that any fields which follow will be corrupt. Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavcodec/h264_ps.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/h264_ps.c b/libavcodec/h264_ps.c
index d36921e47b..708594954c 100644
--- a/libavcodec/h264_ps.c
+++ b/libavcodec/h264_ps.c
@@ -794,7 +794,9 @@ int ff_h264_decode_picture_parameter_set(GetBitContext *gb, AVCodecContext *avct
pps->slice_group_count = get_ue_golomb(gb) + 1;
if (pps->slice_group_count > 1) {
pps->mb_slice_group_map_type = get_ue_golomb(gb);
- av_log(avctx, AV_LOG_ERROR, "FMO not supported\n");
+ avpriv_report_missing_feature(avctx, "FMO");
+ ret = AVERROR_PATCHWELCOME;
+ goto fail;
}
pps->ref_count[0] = get_ue_golomb(gb) + 1;
pps->ref_count[1] = get_ue_golomb(gb) + 1;