Merge commit '218d6844b37d339ffbf2044ad07d8be7767e2734'
* commit '218d6844b37d339ffbf2044ad07d8be7767e2734': h264dsp: Factorize code into a new function, h264_find_start_code_candidate Conflicts: libavcodec/h264_parser.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -65,30 +65,9 @@ static int h264_find_frame_end(H264Context *h, const uint8_t *buf,
|
||||
}
|
||||
|
||||
if (state == 7) {
|
||||
#if HAVE_FAST_UNALIGNED
|
||||
/* we check i < buf_size instead of i + 3 / 7 because it is
|
||||
* simpler and there must be FF_INPUT_BUFFER_PADDING_SIZE
|
||||
* bytes at the end.
|
||||
*/
|
||||
# if HAVE_FAST_64BIT
|
||||
while (i < next_avc &&
|
||||
!((~*(const uint64_t *)(buf + i) &
|
||||
(*(const uint64_t *)(buf + i) - 0x0101010101010101ULL)) &
|
||||
0x8080808080808080ULL))
|
||||
i += 8;
|
||||
# else
|
||||
while (i < next_avc &&
|
||||
!((~*(const uint32_t *)(buf + i) &
|
||||
(*(const uint32_t *)(buf + i) - 0x01010101U)) &
|
||||
0x80808080U))
|
||||
i += 4;
|
||||
# endif
|
||||
#endif
|
||||
for (; i < next_avc; i++)
|
||||
if (!buf[i]) {
|
||||
state = 2;
|
||||
break;
|
||||
}
|
||||
i += h->h264dsp.h264_find_start_code_candidate(buf + i, next_avc - i);
|
||||
if (i < next_avc)
|
||||
state = 2;
|
||||
} else if (state <= 2) {
|
||||
if (buf[i] == 1)
|
||||
state ^= 5; // 2->7, 1->4, 0->5
|
||||
|
||||
Reference in New Issue
Block a user