summaryrefslogtreecommitdiff
path: root/libavcodec/h264.c
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2012-03-12 22:01:02 +0100
committerJanne Grunau <janne-libav@jannau.net>2012-03-12 22:46:56 +0100
commit8a6037c3900875ccab8d553d2cc659bdef2c9d0e (patch)
treeaa38a61c35037d57c8a5efd190e77f69a98992ab /libavcodec/h264.c
parent363bd1c62c1bcbac2dcb56f3dc47824f075888d2 (diff)
Revert "h264: clear trailing bits in partially parsed NAL units"
This reverts commit 729ebb2f185244b0ff06d48edbbbbb02ceb4ed4e. 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
Diffstat (limited to 'libavcodec/h264.c')
-rw-r--r--libavcodec/h264.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 31a69f9a14..20aed27fd1 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -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);
}