Mercurial > mplayer.hg
changeset 4774:fc2f76964606
Patch: Improved raw encoding support in mencoder by Fredrik Kuivinen
author | atmos4 |
---|---|
date | Wed, 20 Feb 2002 22:45:00 +0000 |
parents | 976bf6a9ded5 |
children | 080cf3df3e4e |
files | etc/codecs.conf libmpdemux/video.c |
diffstat | 2 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/codecs.conf Wed Feb 20 22:43:34 2002 +0000 +++ b/etc/codecs.conf Wed Feb 20 22:45:00 2002 +0000 @@ -861,6 +861,7 @@ driver raw format 0x0 format 0x20776172 + format 0x42475218 out BGR24 flip videocodec rawbgr15 @@ -869,6 +870,7 @@ driver raw format 0x0 format 0x20776172 + format 0x4247520F out BGR15 flip videocodec null
--- a/libmpdemux/video.c Wed Feb 20 22:43:34 2002 +0000 +++ b/libmpdemux/video.c Wed Feb 20 22:45:00 2002 +0000 @@ -19,6 +19,9 @@ #include "parse_es.h" #include "mpeg_hdr.h" +/* biCompression constant */ +#define BI_RGB 0L + static mp_mpeg_header_t picture; int video_read_properties(sh_video_t *sh_video){ @@ -28,8 +31,18 @@ switch(d_video->demuxer->file_format){ case DEMUXER_TYPE_AVI: case DEMUXER_TYPE_ASF: { - // display info: - sh_video->format=sh_video->bih->biCompression; + // display info: + + if(sh_video->bih->biCompression == BI_RGB && + (sh_video->video.fccHandler == mmioFOURCC('D', 'I', 'B', ' ') || + sh_video->video.fccHandler == mmioFOURCC('R', 'G', 'B', ' ') || + sh_video->video.fccHandler == mmioFOURCC('R', 'A', 'W', ' ') || + sh_video->video.fccHandler == 0)) { + sh_video->format = mmioFOURCC(0, 'R', 'G', 'B') | sh_video->bih->biBitCount; + } + else + sh_video->format=sh_video->bih->biCompression; + sh_video->disp_w=sh_video->bih->biWidth; sh_video->disp_h=abs(sh_video->bih->biHeight);