Commit fc3fc029 authored by Jason Garrett-Glaser's avatar Jason Garrett-Glaser

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
parent c0e9b2e8
...@@ -48,6 +48,7 @@ const PixelFormatTag ff_raw_pixelFormatTags[] = { ...@@ -48,6 +48,7 @@ const PixelFormatTag ff_raw_pixelFormatTags[] = {
{ PIX_FMT_BGR555, MKTAG('B', 'G', 'R', 15) }, { PIX_FMT_BGR555, MKTAG('B', 'G', 'R', 15) },
{ PIX_FMT_RGB565, MKTAG('R', 'G', 'B', 16) }, { PIX_FMT_RGB565, MKTAG('R', 'G', 'B', 16) },
{ PIX_FMT_BGR565, MKTAG('B', 'G', 'R', 16) }, { PIX_FMT_BGR565, MKTAG('B', 'G', 'R', 16) },
{ PIX_FMT_RGB565, MKTAG( 3 , 0 , 0 , 0 ) },
/* quicktime */ /* quicktime */
{ PIX_FMT_UYVY422, MKTAG('2', 'v', 'u', 'y') }, { PIX_FMT_UYVY422, MKTAG('2', 'v', 'u', 'y') },
......
...@@ -87,7 +87,8 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx) ...@@ -87,7 +87,8 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
if (!context->buffer) if (!context->buffer)
return -1; 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; context->flip=1;
return 0; return 0;
......
...@@ -133,6 +133,7 @@ const AVCodecTag codec_bmp_tags[] = { ...@@ -133,6 +133,7 @@ const AVCodecTag codec_bmp_tags[] = {
{ CODEC_ID_FFVHUFF, MKTAG('F', 'F', 'V', 'H') }, { CODEC_ID_FFVHUFF, MKTAG('F', 'F', 'V', 'H') },
{ CODEC_ID_CYUV, MKTAG('C', 'Y', 'U', 'V') }, { CODEC_ID_CYUV, MKTAG('C', 'Y', 'U', 'V') },
{ CODEC_ID_RAWVIDEO, MKTAG( 0 , 0 , 0 , 0 ) }, { 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('I', '4', '2', '0') },
{ CODEC_ID_RAWVIDEO, MKTAG('Y', 'U', 'Y', '2') }, { CODEC_ID_RAWVIDEO, MKTAG('Y', 'U', 'Y', '2') },
{ CODEC_ID_RAWVIDEO, MKTAG('Y', '4', '2', '2') }, { CODEC_ID_RAWVIDEO, MKTAG('Y', '4', '2', '2') },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment