diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c index b6ec5c7de9..03ba06cff7 100644 --- a/libavcodec/h264_sei.c +++ b/libavcodec/h264_sei.c @@ -318,8 +318,6 @@ int ff_h264_decode_sei(H264Context *h) switch (type) { case SEI_TYPE_PIC_TIMING: // Picture timing SEI ret = decode_picture_timing(h); - if (ret < 0) - return ret; break; case SEI_TYPE_USER_DATA_ITU_T_T35: if (decode_user_data_itu_t_t35(h, size) < 0) @@ -327,32 +325,25 @@ int ff_h264_decode_sei(H264Context *h) break; case SEI_TYPE_USER_DATA_UNREGISTERED: ret = decode_unregistered_user_data(h, size); - if (ret < 0) - return ret; break; case SEI_TYPE_RECOVERY_POINT: ret = decode_recovery_point(h); - if (ret < 0) - return ret; break; case SEI_TYPE_BUFFERING_PERIOD: ret = decode_buffering_period(h); - if (ret < 0) - return ret; break; case SEI_TYPE_FRAME_PACKING: ret = decode_frame_packing_arrangement(h); - if (ret < 0) - return ret; break; case SEI_TYPE_DISPLAY_ORIENTATION: ret = decode_display_orientation(h); - if (ret < 0) - return ret; break; default: av_log(h->avctx, AV_LOG_DEBUG, "unknown SEI type %d\n", type); } + if (ret < 0) + return ret; + skip_bits_long(&h->gb, next - get_bits_count(&h->gb)); // FIXME check bits here