Browse Source

Revert "h264: skip start code search if the size of the nal unit is known"

This reverts commit 87eebb3454.
tags/n0.10
Janne Grunau 14 years ago
parent
commit
358ea75e9e
3 changed files with 4 additions and 14 deletions
  1. +2
    -9
      libavcodec/h264.c
  2. +1
    -4
      libavcodec/h264.h
  3. +1
    -1
      libavcodec/h264_parser.c

+ 2
- 9
libavcodec/h264.c View File

@@ -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;
}


+ 1
- 4
libavcodec/h264.h View File

@@ -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.


+ 1
- 1
libavcodec/h264_parser.c View File

@@ -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;



Loading…
Cancel
Save