[FFmpeg-devel] [PATCH] MOV YUV2 fourcc -> PIX_FMT_YUYV422 mapping

Jai Menon jmenon86
Thu Apr 2 14:11:14 CEST 2009


On 4/2/09, Reimar D?ffinger <Reimar.Doeffinger at gmx.de> wrote:
> 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?

The readability of that is questionable :) , especially for a fringe
fourcc like this. But I could change it everybody likes it this
way....

-- 
Regards,

Jai



More information about the ffmpeg-devel mailing list