mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
Revert "h264: clear trailing bits in partially parsed NAL units"
This reverts commit 729ebb2f18
.
There was an off-by-one error in the bit mask calculation clearing
actually the last valid bit and causing
http://bugzilla.libav.org/show_bug.cgi?id=227
The broken sample (Mr_MrsSmith-h264_aac.mp4) the commit was fixing
does not work after correcting the off-by-one error.
CC: libav-stable@libav.org
This commit is contained in:
parent
363bd1c62c
commit
8a6037c390
@ -3764,7 +3764,7 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
|
||||
int consumed;
|
||||
int dst_length;
|
||||
int bit_length;
|
||||
uint8_t *ptr;
|
||||
const uint8_t *ptr;
|
||||
int i, nalsize = 0;
|
||||
int err;
|
||||
|
||||
@ -3814,9 +3814,6 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
|
||||
}
|
||||
|
||||
if (h->is_avc && (nalsize != consumed) && nalsize){
|
||||
// set trailing bits in the last partial byte to zero
|
||||
if (bit_length & 7)
|
||||
ptr[bit_length >> 3] = ptr[bit_length >> 3] & (0xff << 8 - (bit_length & 7));
|
||||
av_log(h->s.avctx, AV_LOG_DEBUG, "AVC: Consumed only %d bytes instead of %d\n", consumed, nalsize);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user