Handle the rest of known blocks (by skipping them)

Originally committed as revision 6185 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Kostya Shishkov 2006-09-07 04:08:34 +00:00
parent 096bc417ae
commit 7ff0b84f0e
1 changed files with 9 additions and 0 deletions

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);