Browse Source

Handle the rest of known blocks (by skipping them)

Originally committed as revision 6185 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Kostya Shishkov 19 years ago
parent
commit
7ff0b84f0e
1 changed files with 9 additions and 0 deletions
  1. +9
    -0
      libavcodec/vmnc.c

+ 9
- 0
libavcodec/vmnc.c View 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);


Loading…
Cancel
Save