Mercurial > libavcodec.hg
diff rawdec.c @ 9335:c7396480f8e3 libavcodec
Map MOV fourcc YUV2 correctly to PIX_FMT_YUYV422.
Patch by Jai Menon
author | cehoyos |
---|---|
date | Thu, 02 Apr 2009 12:15:04 +0000 |
parents | 231e8535e00e |
children | 54bc8a2727b0 |
line wrap: on
line diff
--- a/rawdec.c Thu Apr 02 08:53:34 2009 +0000 +++ b/rawdec.c Thu Apr 02 12:15:04 2009 +0000 @@ -26,6 +26,7 @@ #include "avcodec.h" #include "raw.h" +#include "libavutil/intreadwrite.h" typedef struct RawVideoContext { unsigned char * buffer; /* block of memory for holding one frame */ @@ -144,6 +145,17 @@ picture->data[2] = tmp; } + if(avctx->codec_tag == AV_RL32("yuv2") && + avctx->pix_fmt == PIX_FMT_YUYV422) { + int x, y; + uint8_t *line = picture->data[0]; + for(y = 0; y < avctx->height; y++) { + for(x = 0; x < avctx->width; x++) + line[2*x + 1] ^= 0x80; + line += picture->linesize[0]; + } + } + *data_size = sizeof(AVPicture); return buf_size; }