|
|
|
@ -199,30 +199,6 @@ static int h263_decode_gob_header(MpegEncContext *s) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Find the next resync_marker. |
|
|
|
|
* @param p pointer to buffer to scan |
|
|
|
|
* @param end pointer to the end of the buffer |
|
|
|
|
* @return pointer to the next resync_marker, or end if none was found |
|
|
|
|
*/ |
|
|
|
|
const uint8_t *ff_h263_find_resync_marker(MpegEncContext *s, const uint8_t *av_restrict p, const uint8_t *av_restrict end) |
|
|
|
|
{ |
|
|
|
|
av_assert2(p < end); |
|
|
|
|
|
|
|
|
|
end-=2; |
|
|
|
|
p++; |
|
|
|
|
if(s->resync_marker){ |
|
|
|
|
int prefix_len = ff_mpeg4_get_video_packet_prefix_length(s); |
|
|
|
|
for(;p<end; p+=2){ |
|
|
|
|
if(!*p){ |
|
|
|
|
if (!p[-1] && ((p[1] >> (23-prefix_len)) == 1)) return p - 1; |
|
|
|
|
else if (!p[ 1] && ((p[2] >> (23-prefix_len)) == 1)) return p; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return end+2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Decode the group of blocks / video packet header. |
|
|
|
|
* @return bit position of the resync_marker, or <0 if none was found |
|
|
|
|