summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libavcodec/h264_sei.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/libavcodec/h264_sei.c b/libavcodec/h264_sei.c
index b6ec5c7..03ba06c 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
OpenPOWER on IntegriCloud