/*
* Raw Video Encoder
- * Copyright (c) 2001 Fabrice Bellard.
+ * Copyright (c) 2001 Fabrice Bellard
*
* This file is part of FFmpeg.
*
*/
/**
- * @file rawenc.c
+ * @file libavcodec/rawenc.c
* Raw Video Encoder
*/
#include "avcodec.h"
#include "raw.h"
+#include "libavutil/intreadwrite.h"
static av_cold int raw_init_encoder(AVCodecContext *avctx)
{
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;
+ }
+ return ret;
}
AVCodec rawvideo_encoder = {