[FFmpeg-cvslog] mjpegenc: Fix const correctness and avoid writes into AVFrame of amv_encode_picture( )

Michael Niedermayer git at videolan.org
Wed Mar 7 01:00:15 CET 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Mar  7 00:40:39 2012 +0100| [7d75febe0fd3bb65ad5ade9513dcf4d52a522df7] | committer: Michael Niedermayer

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

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7d75febe0fd3bb65ad5ade9513dcf4d52a522df7
---

 libavcodec/mjpegenc.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 6f6d775..b8d4d64 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -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 = {



More information about the ffmpeg-cvslog mailing list