From 358ea75e9ed7d86c58f6e7faf175faac68e140e9 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Mon, 19 Dec 2011 03:00:36 +0100 Subject: [PATCH] Revert "h264: skip start code search if the size of the nal unit is known" This reverts commit 87eebb3454ff0cd6af6ebf9e1d31bdfd1c3b601b. --- libavcodec/h264.c | 11 ++--------- libavcodec/h264.h | 5 +---- libavcodec/h264_parser.c | 2 +- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 5d4ce90cae..77acd7168f 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -137,10 +137,7 @@ int ff_h264_check_intra_pred_mode(H264Context *h, int mode){ return mode; } -const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, - int *dst_length, int *consumed, int length, - int nalsize_known) -{ +const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, int *dst_length, int *consumed, int length){ int i, si, di; uint8_t *dst; int bufidx; @@ -151,9 +148,6 @@ const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, src++; length--; - if (nalsize_known) { - i = length; - } else #if HAVE_FAST_UNALIGNED # if HAVE_FAST_64BIT # define RS 7 @@ -3795,8 +3789,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){ hx = h->thread_context[context_count]; - ptr= ff_h264_decode_nal(hx, buf + buf_index, &dst_length, &consumed, - next_avc - buf_index, !!nalsize); + ptr= ff_h264_decode_nal(hx, buf + buf_index, &dst_length, &consumed, next_avc - buf_index); if (ptr==NULL || dst_length < 0){ return -1; } diff --git a/libavcodec/h264.h b/libavcodec/h264.h index 24da4f5eac..50255389fa 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -610,12 +610,9 @@ int ff_h264_decode_picture_parameter_set(H264Context *h, int bit_length); * @param consumed is the number of bytes used as input * @param length is the length of the array * @param dst_length is the number of decoded bytes FIXME here or a decode rbsp tailing? - * @param nalsize_known skip start code search if the size of the nalu is known * @return decoded bytes, might be src+1 if no escapes */ -const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, - int *dst_length, int *consumed, int length, - int nalsize_known); +const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, int *dst_length, int *consumed, int length); /** * Free any data that may have been allocated in the H264 context like SPS, PPS etc. diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index 1967eface3..826c17a0f1 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -144,7 +144,7 @@ static inline int parse_nal_units(AVCodecParserContext *s, src_length = 20; break; } - ptr= ff_h264_decode_nal(h, buf, &dst_length, &consumed, src_length, 0); + ptr= ff_h264_decode_nal(h, buf, &dst_length, &consumed, src_length); if (ptr==NULL || dst_length < 0) break;