Handle the rest of known blocks (by skipping them)
[ffmpeg.git] / libavcodec / vmnc.c
index 496f39d..c4e5956 100644 (file)
@@ -363,6 +363,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8
             c->cur_x = dx - c->cur_hx;
             c->cur_y = dy - c->cur_hy;
             break;
+        case MAGIC_WMVg: // unknown
+            src += 10;
+            break;
+        case MAGIC_WMVh: // unknown
+            src += 4;
+            break;
         case MAGIC_WMVi: // ServerInitialization struct
             c->pic.key_frame = 1;
             c->pic.pict_type = FF_I_TYPE;
@@ -379,6 +385,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, uint8
             //skip the rest of pixel format data
             src += 13;
             break;
+        case MAGIC_WMVj: // unknown
+            src += 2;
+            break;
         case 0x00000000: // raw rectangle data
             if((dx + w > c->width) || (dy + h > c->height)) {
                 av_log(avctx, AV_LOG_ERROR, "Incorrect frame size: %ix%i+%ix%i of %ix%i\n", w, h, dx, dy, c->width, c->height);