diff options
author | Jason Garrett-Glaser <darkshikari@gmail.com> | 2009-06-12 17:39:56 +0000 |
---|---|---|
committer | Jason Garrett-Glaser <darkshikari@gmail.com> | 2009-06-12 17:39:56 +0000 |
commit | fc3fc0293d78c6ca61aba775c08266ad96240d5b (patch) | |
tree | 3ab213339ef54a12f247b1560f02ab2c622adeb8 | |
parent | c0e9b2e84fecbc4cc8efb78ced8fd1eaafae7a9d (diff) | |
download | ffmpeg-fc3fc0293d78c6ca61aba775c08266ad96240d5b.tar.gz |
Add new FOURCC (0x0003) for raw DIB video, set flip flag accordingly.
Fixes a few AVI files from what is probably a mobile phone video camera.
Originally committed as revision 19172 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/raw.c | 1 | ||||
-rw-r--r-- | libavcodec/rawdec.c | 3 | ||||
-rw-r--r-- | libavformat/riff.c | 1 |
3 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/raw.c b/libavcodec/raw.c index c0cc56dd80..1f60477aef 100644 --- a/libavcodec/raw.c +++ b/libavcodec/raw.c @@ -48,6 +48,7 @@ const PixelFormatTag ff_raw_pixelFormatTags[] = { { PIX_FMT_BGR555, MKTAG('B', 'G', 'R', 15) }, { PIX_FMT_RGB565, MKTAG('R', 'G', 'B', 16) }, { PIX_FMT_BGR565, MKTAG('B', 'G', 'R', 16) }, + { PIX_FMT_RGB565, MKTAG( 3 , 0 , 0 , 0 ) }, /* quicktime */ { PIX_FMT_UYVY422, MKTAG('2', 'v', 'u', 'y') }, diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c index 89e9ea936b..2f29271c9a 100644 --- a/libavcodec/rawdec.c +++ b/libavcodec/rawdec.c @@ -87,7 +87,8 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx) if (!context->buffer) return -1; - if(avctx->extradata_size >= 9 && !memcmp(avctx->extradata + avctx->extradata_size - 9, "BottomUp", 9)) + if((avctx->extradata_size >= 9 && !memcmp(avctx->extradata + avctx->extradata_size - 9, "BottomUp", 9)) || + avctx->codec_tag == MKTAG( 3 , 0 , 0 , 0 )) context->flip=1; return 0; diff --git a/libavformat/riff.c b/libavformat/riff.c index 5b8c272f93..a279121369 100644 --- a/libavformat/riff.c +++ b/libavformat/riff.c @@ -133,6 +133,7 @@ const AVCodecTag codec_bmp_tags[] = { { CODEC_ID_FFVHUFF, MKTAG('F', 'F', 'V', 'H') }, { CODEC_ID_CYUV, MKTAG('C', 'Y', 'U', 'V') }, { CODEC_ID_RAWVIDEO, MKTAG( 0 , 0 , 0 , 0 ) }, + { CODEC_ID_RAWVIDEO, MKTAG( 3 , 0 , 0 , 0 ) }, { CODEC_ID_RAWVIDEO, MKTAG('I', '4', '2', '0') }, { CODEC_ID_RAWVIDEO, MKTAG('Y', 'U', 'Y', '2') }, { CODEC_ID_RAWVIDEO, MKTAG('Y', '4', '2', '2') }, |