|
|
@ -318,8 +318,6 @@ int ff_h264_decode_sei(H264Context *h) |
|
|
|
switch (type) { |
|
|
|
switch (type) { |
|
|
|
case SEI_TYPE_PIC_TIMING: // Picture timing SEI
|
|
|
|
case SEI_TYPE_PIC_TIMING: // Picture timing SEI
|
|
|
|
ret = decode_picture_timing(h); |
|
|
|
ret = decode_picture_timing(h); |
|
|
|
if (ret < 0) |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case SEI_TYPE_USER_DATA_ITU_T_T35: |
|
|
|
case SEI_TYPE_USER_DATA_ITU_T_T35: |
|
|
|
if (decode_user_data_itu_t_t35(h, size) < 0) |
|
|
|
if (decode_user_data_itu_t_t35(h, size) < 0) |
|
|
@ -327,32 +325,25 @@ int ff_h264_decode_sei(H264Context *h) |
|
|
|
break; |
|
|
|
break; |
|
|
|
case SEI_TYPE_USER_DATA_UNREGISTERED: |
|
|
|
case SEI_TYPE_USER_DATA_UNREGISTERED: |
|
|
|
ret = decode_unregistered_user_data(h, size); |
|
|
|
ret = decode_unregistered_user_data(h, size); |
|
|
|
if (ret < 0) |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case SEI_TYPE_RECOVERY_POINT: |
|
|
|
case SEI_TYPE_RECOVERY_POINT: |
|
|
|
ret = decode_recovery_point(h); |
|
|
|
ret = decode_recovery_point(h); |
|
|
|
if (ret < 0) |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case SEI_TYPE_BUFFERING_PERIOD: |
|
|
|
case SEI_TYPE_BUFFERING_PERIOD: |
|
|
|
ret = decode_buffering_period(h); |
|
|
|
ret = decode_buffering_period(h); |
|
|
|
if (ret < 0) |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case SEI_TYPE_FRAME_PACKING: |
|
|
|
case SEI_TYPE_FRAME_PACKING: |
|
|
|
ret = decode_frame_packing_arrangement(h); |
|
|
|
ret = decode_frame_packing_arrangement(h); |
|
|
|
if (ret < 0) |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
case SEI_TYPE_DISPLAY_ORIENTATION: |
|
|
|
case SEI_TYPE_DISPLAY_ORIENTATION: |
|
|
|
ret = decode_display_orientation(h); |
|
|
|
ret = decode_display_orientation(h); |
|
|
|
if (ret < 0) |
|
|
|
|
|
|
|
return ret; |
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
default: |
|
|
|
default: |
|
|
|
av_log(h->avctx, AV_LOG_DEBUG, "unknown SEI type %d\n", type); |
|
|
|
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)); |
|
|
|
skip_bits_long(&h->gb, next - get_bits_count(&h->gb)); |
|
|
|
|
|
|
|
|
|
|
|
// FIXME check bits here
|
|
|
|
// FIXME check bits here
|
|
|
|