comparison sp5xdec.c @ 5736:810067f2c33d libavcodec

AMV video decoder. Patch by Vladimir Voroshilov (voroshil - gmail - com)
author vitor
date Sat, 29 Sep 2007 15:20:22 +0000
parents bff60ecc02f9
children e0a872dd3ea1
comparison
equal deleted inserted replaced
5735:8b211f34a3eb 5736:810067f2c33d
70 j += sizeof(sp5x_data_sof); 70 j += sizeof(sp5x_data_sof);
71 71
72 memcpy(recoded+j, &sp5x_data_sos[0], sizeof(sp5x_data_sos)); 72 memcpy(recoded+j, &sp5x_data_sos[0], sizeof(sp5x_data_sos));
73 j += sizeof(sp5x_data_sos); 73 j += sizeof(sp5x_data_sos);
74 74
75 if(avctx->codec_id==CODEC_ID_AMV)
76 for (i = 2; i < buf_size-2 && j < buf_size+1024-2; i++)
77 recoded[j++] = buf[i];
78 else
75 for (i = 14; i < buf_size && j < buf_size+1024-2; i++) 79 for (i = 14; i < buf_size && j < buf_size+1024-2; i++)
76 { 80 {
77 recoded[j++] = buf[i]; 81 recoded[j++] = buf[i];
78 if (buf[i] == 0xff) 82 if (buf[i] == 0xff)
79 recoded[j++] = 0; 83 recoded[j++] = 0;
192 ff_mjpeg_decode_end, 196 ff_mjpeg_decode_end,
193 sp5x_decode_frame, 197 sp5x_decode_frame,
194 CODEC_CAP_DR1, 198 CODEC_CAP_DR1,
195 NULL 199 NULL
196 }; 200 };
201
202 AVCodec amv_decoder = {
203 "amv",
204 CODEC_TYPE_VIDEO,
205 CODEC_ID_AMV,
206 sizeof(MJpegDecodeContext),
207 ff_mjpeg_decode_init,
208 NULL,
209 ff_mjpeg_decode_end,
210 sp5x_decode_frame,
211 CODEC_CAP_DR1
212 };