Check for resync marker based on vop coding type- vop_fcode_forward and vop_fcode_bac...
authorAnuj Mittal <am.devel@gmail.com>
Tue, 9 Oct 2012 13:25:14 +0000 (18:55 +0530)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 9 Oct 2012 14:48:51 +0000 (16:48 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/ituh263dec.c

index a7d8d20..6d43233 100644 (file)
@@ -214,10 +214,11 @@ const uint8_t *ff_h263_find_resync_marker(MpegEncContext *s, const uint8_t *av_r
     end-=2;
     p++;
     if(s->resync_marker){
+        int prefix_len = ff_mpeg4_get_video_packet_prefix_length(s);
         for(;p<end; p+=2){
             if(!*p){
-                if     (!p[-1] && p[1]) return p - 1;
-                else if(!p[ 1] && p[2]) return p;
+                if      (!p[-1] && ((p[1] >> (23-prefix_len)) == 1)) return p - 1;
+                else if (!p[ 1] && ((p[2] >> (23-prefix_len)) == 1)) return p;
             }
         }
     }