[FFmpeg-cvslog] intelh263dec: fix "Strict H.263 compliance" file playback

Anton Khirnov git at videolan.org
Fri Jun 10 04:53:07 CEST 2011


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Jun  9 22:29:40 2011 +0200| [95a05030ca73076a8e5127e69596ade5964af60b] | committer: Anton Khirnov

intelh263dec: fix "Strict H.263 compliance"  file playback

fixes issue2449

patch submitted by xvid_fan freenet de

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=95a05030ca73076a8e5127e69596ade5964af60b
---

 libavcodec/intelh263dec.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/libavcodec/intelh263dec.c b/libavcodec/intelh263dec.c
index c3d4d26..b60608c 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,10 @@ 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");



More information about the ffmpeg-cvslog mailing list