changeset 12520:5915f4f0e172 libavcodec

RES_SM in WMV3 is really two flags, so split it in decoder
author kostya
date Sun, 26 Sep 2010 13:54:35 +0000
parents 0b6bd91bbe57
children db36486a6f89
files vc1.c vc1.h
diffstat 2 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/vc1.c	Sun Sep 26 09:15:18 2010 +0000
+++ b/vc1.c	Sun Sep 26 13:54:35 2010 +0000
@@ -306,11 +306,16 @@
     {
         v->zz_8x4 = wmv2_scantableA;
         v->zz_4x8 = wmv2_scantableB;
-        v->res_sm = get_bits(gb, 2); //reserved
-        if (v->res_sm)
+        v->res_y411   = get_bits1(gb);
+        v->res_sprite = get_bits1(gb);
+        if (v->res_y411)
         {
             av_log(avctx, AV_LOG_ERROR,
-                   "Reserved RES_SM=%i is forbidden\n", v->res_sm);
+                   "Old interlaced mode is not supported\n");
+            return -1;
+        }
+        if (v->res_sprite) {
+            av_log(avctx, AV_LOG_ERROR, "WMVP is not supported\n");
             return -1;
         }
     }
--- a/vc1.h	Sun Sep 26 09:15:18 2010 +0000
+++ b/vc1.h	Sun Sep 26 13:54:35 2010 +0000
@@ -160,7 +160,8 @@
 
     /** Simple/Main Profile sequence header */
     //@{
-    int res_sm;           ///< reserved, 2b
+    int res_sprite;       ///< reserved, sprite mode
+    int res_y411;         ///< reserved, old interlaced mode
     int res_x8;           ///< reserved
     int multires;         ///< frame-level RESPIC syntax element present
     int res_fasttx;       ///< reserved, always 1