summaryrefslogtreecommitdiff
path: root/libavcodec/h261dec.c
diff options
context:
space:
mode:
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-08-02 22:51:49 +0000
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>2008-08-02 22:51:49 +0000
commitce98b0a479c6fe3ff2e503f78640a2028e75cbd9 (patch)
treefecc9fb43ecc31d7b8f5737897ec4f9ba0fb234a /libavcodec/h261dec.c
parentf769b746aa38840e75e46e801934302f4f3d026b (diff)
do not fail on qscale==0 if error resilience is high, fix broken quicktime h261, lotr.mov
Originally committed as revision 14510 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h261dec.c')
-rw-r--r--libavcodec/h261dec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c
index 07be335885..5369830c47 100644
--- a/libavcodec/h261dec.c
+++ b/libavcodec/h261dec.c
@@ -133,8 +133,11 @@ static int h261_decode_gob_header(H261Context *h){
skip_bits(&s->gb, 8);
}
- if(s->qscale==0)
- return -1;
+ if(s->qscale==0) {
+ av_log(s->avctx, AV_LOG_ERROR, "qscale has forbidden 0 value\n");
+ if (s->avctx->error_resilience >= FF_ER_COMPLIANT)
+ return -1;
+ }
// For the first transmitted macroblock in a GOB, MBA is the absolute address. For
// subsequent macroblocks, MBA is the difference between the absolute addresses of