|
|
@@ -44,6 +44,15 @@ int ff_h264_find_frame_end(H264Context *h, const uint8_t *buf, int buf_size) |
|
|
|
|
|
|
|
for(i=0; i<buf_size; i++){ |
|
|
|
if(state==7){ |
|
|
|
#ifdef HAVE_FAST_UNALIGNED |
|
|
|
# ifdef HAVE_FAST_64BIT |
|
|
|
while(i<buf_size && !((~*(uint64_t*)(buf+i) & (*(uint64_t*)(buf+i) - 0x0101010101010101ULL)) & 0x8080808080808080ULL)) |
|
|
|
i+=8; |
|
|
|
# else |
|
|
|
while(i<buf_size && !((~*(uint32_t*)(buf+i) & (*(uint32_t*)(buf+i) - 0x01010101U)) & 0x80808080U)) |
|
|
|
i+=4; |
|
|
|
# endif |
|
|
|
#endif |
|
|
|
for(; i<buf_size; i++){ |
|
|
|
if(!buf[i]){ |
|
|
|
state=2; |
|
|
|