summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/codecs.conf8
-rw-r--r--libmpcodecs/vd_ffmpeg.c7
2 files changed, 13 insertions, 2 deletions
diff --git a/etc/codecs.conf b/etc/codecs.conf
index ffb1aded0d..256d93ef1d 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -1104,6 +1104,14 @@ videocodec ffrv10
dll rv10
out YV12,I420,IYUV
+videocodec ffrv20
+ info "FFmpeg RV20 decoder"
+ status untested
+ fourcc RV20,rv20
+ driver ffmpeg
+ dll rv20
+ out YV12,I420,IYUV
+
videocodec ffvp3
info "FFmpeg's VP3-Codec"
status untested
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index fd3b73d2af..dcd0b16d88 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -251,7 +251,9 @@ static int init(sh_video_t *sh){
#endif
}
if( sh->format == mmioFOURCC('R', 'V', '1', '0')
- || sh->format == mmioFOURCC('R', 'V', '1', '3')){
+ || sh->format == mmioFOURCC('R', 'V', '1', '3')
+ || sh->format == mmioFOURCC('R', 'V', '2', '0')
+ ){
avctx->extradata_size= 8;
avctx->extradata = malloc(avctx->extradata_size);
if(sh->bih->biSize!=sizeof(*sh->bih)+8){
@@ -677,7 +679,8 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
// if(sh->ds->demuxer->type == DEMUXER_TYPE_REAL){
if( sh->format == mmioFOURCC('R', 'V', '1', '0')
- || sh->format == mmioFOURCC('R', 'V', '1', '3'))
+ || sh->format == mmioFOURCC('R', 'V', '1', '3')
+ || sh->format == mmioFOURCC('R', 'V', '2', '0'))
if(sh->bih->biSize==sizeof(*sh->bih)+8){
int i;
dp_hdr_t *hdr= (dp_hdr_t*)data;