summaryrefslogtreecommitdiff
path: root/libavcodec/intelh263dec.c
diff options
context:
space:
mode:
authorXV <?@?>2011-03-24 22:29:31 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-03-25 01:16:22 +0100
commitb14748dd7563b5cf026a198bd011f70d3af5f4e3 (patch)
tree851491b593ee9fd3fe123587ef04f36514c78292 /libavcodec/intelh263dec.c
parent71af7377bf17017ed28c6266cb2840952211443a (diff)
Fix Intel I.263 "Strict H.263 compliance" file playback / issue2449
Diffstat (limited to 'libavcodec/intelh263dec.c')
-rw-r--r--libavcodec/intelh263dec.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/intelh263dec.c b/libavcodec/intelh263dec.c
index 00b15ce327..42a51e32b4 100644
--- a/libavcodec/intelh263dec.c
+++ b/libavcodec/intelh263dec.c
@@ -46,7 +46,7 @@ int ff_intel_h263_decode_picture_header(MpegEncContext *s)
skip_bits1(&s->gb); /* freeze picture release off */
format = get_bits(&s->gb, 3);
- if (format != 7) {
+ if (format == 0 || format == 6) {
av_log(s->avctx, AV_LOG_ERROR, "Intel H263 free format not supported\n");
return -1;
}
@@ -64,7 +64,11 @@ int ff_intel_h263_decode_picture_header(MpegEncContext *s)
s->obmc= get_bits1(&s->gb);
s->pb_frame = get_bits1(&s->gb);
- if(format == 7){
+ if (format < 6) {
+ s->width = h263_format[format][0];
+ s->height = h263_format[format][1];
+ }
+ else {
format = get_bits(&s->gb, 3);
if(format == 0 || format == 7){
av_log(s->avctx, AV_LOG_ERROR, "Wrong Intel H263 format\n");