mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
RV30/RV40 demuxing (untested)
Originally committed as revision 3809 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
f6d5112387
commit
3f05305d73
@ -100,6 +100,9 @@ enum CodecID {
|
||||
CODEC_ID_PGMYUV,
|
||||
CODEC_ID_PAM,
|
||||
CODEC_ID_FFVHUFF,
|
||||
CODEC_ID_RV30,
|
||||
CODEC_ID_RV40,
|
||||
|
||||
|
||||
/* various pcm "codecs" */
|
||||
CODEC_ID_PCM_S16LE= 0x10000,
|
||||
@ -1884,6 +1887,8 @@ extern AVCodec h263i_decoder;
|
||||
extern AVCodec flv_decoder;
|
||||
extern AVCodec rv10_decoder;
|
||||
extern AVCodec rv20_decoder;
|
||||
extern AVCodec rv30_decoder;
|
||||
extern AVCodec rv40_decoder;
|
||||
extern AVCodec svq1_decoder;
|
||||
extern AVCodec svq3_decoder;
|
||||
extern AVCodec dvvideo_decoder;
|
||||
|
@ -652,7 +652,9 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
||||
st->codec.codec_tag = get_le32(pb);
|
||||
// av_log(NULL, AV_LOG_DEBUG, "%X %X\n", st->codec.codec_tag, MKTAG('R', 'V', '2', '0'));
|
||||
if ( st->codec.codec_tag != MKTAG('R', 'V', '1', '0')
|
||||
&& st->codec.codec_tag != MKTAG('R', 'V', '2', '0'))
|
||||
&& st->codec.codec_tag != MKTAG('R', 'V', '2', '0')
|
||||
&& st->codec.codec_tag != MKTAG('R', 'V', '3', '0')
|
||||
&& st->codec.codec_tag != MKTAG('R', 'V', '4', '0'))
|
||||
goto fail1;
|
||||
st->codec.width = get_be16(pb);
|
||||
st->codec.height = get_be16(pb);
|
||||
@ -676,10 +678,13 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
||||
h263_hack_version = bswap_32(((uint32_t*)st->codec.extradata)[1]);
|
||||
#endif
|
||||
st->codec.sub_id = h263_hack_version;
|
||||
if((h263_hack_version>>28)==1)
|
||||
st->codec.codec_id = CODEC_ID_RV10;
|
||||
else
|
||||
st->codec.codec_id = CODEC_ID_RV20;
|
||||
switch((h263_hack_version>>28)){
|
||||
case 1: st->codec.codec_id = CODEC_ID_RV10; break;
|
||||
case 2: st->codec.codec_id = CODEC_ID_RV20; break;
|
||||
case 3: st->codec.codec_id = CODEC_ID_RV30; break;
|
||||
case 4: st->codec.codec_id = CODEC_ID_RV40; break;
|
||||
default: goto fail1;
|
||||
}
|
||||
}
|
||||
skip:
|
||||
/* skip codec info */
|
||||
|
Loading…
Reference in New Issue
Block a user