[FFmpeg-devel] [PATCH] MOV YUV2 fourcc -> PIX_FMT_YUYV422 mapping
Reimar Döffinger
Reimar.Doeffinger
Thu Apr 2 14:00:10 CEST 2009
On Thu, Apr 02, 2009 at 10:46:31AM +0530, Jai Menon wrote:
> Index: libavcodec/rawenc.c
> ===================================================================
> --- libavcodec/rawenc.c (revision 17944)
> +++ libavcodec/rawenc.c (working copy)
> @@ -26,6 +26,7 @@
>
> #include "avcodec.h"
> #include "raw.h"
> +#include "libavutil/intreadwrite.h"
>
> static av_cold int raw_init_encoder(AVCodecContext *avctx)
> {
> @@ -40,8 +41,16 @@
> static int raw_encode(AVCodecContext *avctx,
> unsigned char *frame, int buf_size, void *data)
> {
> - return avpicture_layout((AVPicture *)data, avctx->pix_fmt, avctx->width,
> + int ret = avpicture_layout((AVPicture *)data, avctx->pix_fmt, avctx->width,
> avctx->height, frame, buf_size);
> +
> + if(avctx->codec_tag == AV_RL32("yuv2") && ret > 0 &&
> + avctx->pix_fmt == PIX_FMT_YUYV422) {
> + int x;
> + for(x = 1; x < avctx->height*avctx->width*2; x += 2)
> + frame[x] ^= 0x80;
> + }
Hm, avctx->height*avctx->width*2 just recalculates the size of the
encoded frame, but ret already contains that.
Wouldn't it be better to just use "ret" then?
More information about the ffmpeg-devel
mailing list