mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-11 06:58:18 +00:00
avidec: XMPG support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
83b12c16af
commit
b26f0ee39f
@ -698,6 +698,29 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case MKTAG('s', 't', 'r', 'd'):
|
||||||
|
if (stream_index >= (unsigned)s->nb_streams || st->codec->extradata_size) {
|
||||||
|
avio_skip(pb, size);
|
||||||
|
} else {
|
||||||
|
uint64_t cur_pos = avio_tell(pb);
|
||||||
|
if (cur_pos < list_end)
|
||||||
|
size = FFMIN(size, list_end - cur_pos);
|
||||||
|
st = s->streams[stream_index];
|
||||||
|
|
||||||
|
if(size<(1<<30)){
|
||||||
|
st->codec->extradata_size= size;
|
||||||
|
st->codec->extradata= av_malloc(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
|
||||||
|
if (!st->codec->extradata) {
|
||||||
|
st->codec->extradata_size= 0;
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
}
|
||||||
|
avio_read(pb, st->codec->extradata, st->codec->extradata_size);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(st->codec->extradata_size & 1) //FIXME check if the encoder really did this correctly
|
||||||
|
avio_r8(pb);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case MKTAG('i', 'n', 'd', 'x'):
|
case MKTAG('i', 'n', 'd', 'x'):
|
||||||
i= avio_tell(pb);
|
i= avio_tell(pb);
|
||||||
if(pb->seekable && !(s->flags & AVFMT_FLAG_IGNIDX) && avi->use_odml &&
|
if(pb->seekable && !(s->flags & AVFMT_FLAG_IGNIDX) && avi->use_odml &&
|
||||||
|
@ -135,6 +135,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
|
|||||||
{ CODEC_ID_MPEG2VIDEO, MKTAG('E', 'M', '2', 'V') },
|
{ CODEC_ID_MPEG2VIDEO, MKTAG('E', 'M', '2', 'V') },
|
||||||
{ CODEC_ID_MPEG2VIDEO, MKTAG('M', '7', '0', '1') }, /* Matrox MPEG2 intra-only */
|
{ CODEC_ID_MPEG2VIDEO, MKTAG('M', '7', '0', '1') }, /* Matrox MPEG2 intra-only */
|
||||||
{ CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', 'g', 'v') },
|
{ CODEC_ID_MPEG2VIDEO, MKTAG('m', 'p', 'g', 'v') },
|
||||||
|
{ CODEC_ID_MPEG1VIDEO, MKTAG('X', 'M', 'P', 'G') }, /* Xing MPEG intra only */
|
||||||
{ CODEC_ID_MJPEG, MKTAG('M', 'J', 'P', 'G') },
|
{ CODEC_ID_MJPEG, MKTAG('M', 'J', 'P', 'G') },
|
||||||
{ CODEC_ID_MJPEG, MKTAG('L', 'J', 'P', 'G') },
|
{ CODEC_ID_MJPEG, MKTAG('L', 'J', 'P', 'G') },
|
||||||
{ CODEC_ID_MJPEG, MKTAG('d', 'm', 'b', '1') },
|
{ CODEC_ID_MJPEG, MKTAG('d', 'm', 'b', '1') },
|
||||||
|
Loading…
Reference in New Issue
Block a user