]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/dca.c
Perform minor style fixes.
[ffmpeg] / libavcodec / dca.c
index 989c6a286ece89f97504f1da518815f1fae67032..4b232c7006450c088f08ac921f1fb2154e73769c 100644 (file)
@@ -1298,7 +1298,13 @@ static int dca_decode_frame(AVCodecContext * avctx,
         switch(bits) {
         case 0x5a5a5a5a: {
             int ext_base_ch = s->prim_channels;
-            int ext_amode;
+            int ext_amode, xch_fsize;
+
+            /* validate sync word using XCHFSIZE field */
+            xch_fsize = show_bits(&s->gb, 10);
+            if((s->frame_size != (get_bits_count(&s->gb) >> 3) - 4 + xch_fsize) &&
+               (s->frame_size != (get_bits_count(&s->gb) >> 3) - 4 + xch_fsize + 1))
+                continue;
 
             /* skip length-to-end-of-frame field for the moment */
             skip_bits(&s->gb, 10);