mjpegenc: Fix const correctness and avoid writes into AVFrame of amv_encode_picture()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-03-07 00:40:39 +01:00
parent 5e6514e24f
commit 7d75febe0f
1 changed files with 5 additions and 4 deletions

View File

@ -453,10 +453,11 @@ void ff_mjpeg_encode_mb(MpegEncContext *s, DCTELEM block[6][64])
// maximum over s->mjpeg_vsample[i]
#define V_MAX 2
static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
AVFrame *pic, int *got_packet)
const AVFrame *pic_arg, int *got_packet)
{
MpegEncContext *s = avctx->priv_data;
AVFrame pic = *pic_arg;
int i;
//CODEC_FLAG_EMU_EDGE have to be cleared
@ -465,10 +466,10 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
//picture should be flipped upside-down
for(i=0; i < 3; i++) {
pic->data[i] += (pic->linesize[i] * (s->mjpeg_vsample[i] * (8 * s->mb_height -((s->height/V_MAX)&7)) - 1 ));
pic->linesize[i] *= -1;
pic.data[i] += (pic.linesize[i] * (s->mjpeg_vsample[i] * (8 * s->mb_height -((s->height/V_MAX)&7)) - 1 ));
pic.linesize[i] *= -1;
}
return ff_MPV_encode_picture(avctx, pkt, pic, got_packet);
return ff_MPV_encode_picture(avctx, pkt, &pic, got_packet);
}
AVCodec ff_mjpeg_encoder = {