Commit e78f2c0e authored by darkshikari's avatar darkshikari

Add new FOURCC (0x0003) for raw DIB video (RGB565) and set flip flag...

Add new FOURCC (0x0003) for raw DIB video (RGB565) and set flip flag accordingly.  Fixes a few AVI files from what is probably a mobile phone video camera.

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@19172 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent f480d905
...@@ -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