diff h263dec.c @ 344:9f6071a87e17 libavcodec

fixed msmpeg4 infinite loop if buggy stream rewrote quantizer fixed bias (+10% compression/quality for h263 like codecs) qscale=1 support mpeg1 intra frames looks far less blocky added codec_id field
author michaelni
date Sat, 27 Apr 2002 12:30:26 +0000
parents bf26081c373c
children e05b357a398a
line wrap: on
line diff
--- a/h263dec.c	Fri Apr 26 07:18:57 2002 +0000
+++ b/h263dec.c	Sat Apr 27 12:30:26 2002 +0000
@@ -73,17 +73,13 @@
     default:
         return -1;
     }
-
+    s->codec_id= avctx->codec->id;
+    
     /* for h263, we allocate the images after having read the header */
     if (avctx->codec->id != CODEC_ID_H263 && avctx->codec->id != CODEC_ID_MPEG4)
         if (MPV_common_init(s) < 0)
             return -1;
 
-    /* XXX: suppress this matrix init, only needed because using mpeg1
-       dequantize in mmx case */
-    for(i=0;i<64;i++)
-        s->non_intra_matrix[i] = default_non_intra_matrix[i];
-
     if (s->h263_msmpeg4)
         msmpeg4_decode_init_vlc(s);
     else
@@ -251,7 +247,7 @@
         if(msmpeg4_decode_ext_header(s, buf_size) < 0) return -1;
     
     /* divx 5.01+ bistream reorder stuff */
-    if(s->h263_pred && s->bitstream_buffer_size==0){
+    if(s->codec_id==CODEC_ID_MPEG4 && s->bitstream_buffer_size==0){
         int current_pos= get_bits_count(&s->gb)/8;
         if(   buf_size - current_pos > 5 
            && buf_size - current_pos < BITSTREAM_BUFFER_SIZE){