[FFmpeg-cvslog] avcodec/mjpegenc: drop dependancy on sizeof(AVFrame)

Michael Niedermayer git at videolan.org
Tue Jan 7 21:35:29 CET 2014


ffmpeg | branch: release/2.1 | Michael Niedermayer <michaelni at gmx.at> | Tue Dec 17 16:27:36 2013 +0100| [d2578f81523728f36092859c36b34beb6a4715e1] | committer: Michael Niedermayer

avcodec/mjpegenc: drop dependancy on sizeof(AVFrame)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 5b3f4b3ef590b1221d44d24345a846c1aa636b69)

Conflicts:

	libavcodec/mjpegenc.c

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

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

diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c
index 74817ca..fcac6f1 100644
--- a/libavcodec/mjpegenc.c
+++ b/libavcodec/mjpegenc.c
@@ -498,19 +498,23 @@ static int amv_encode_picture(AVCodecContext *avctx, AVPacket *pkt,
 
 {
     MpegEncContext *s = avctx->priv_data;
-    AVFrame pic = *pic_arg;
-    int i;
+    AVFrame *pic;
+    int i, ret;
 
     //CODEC_FLAG_EMU_EDGE have to be cleared
     if(s->avctx->flags & CODEC_FLAG_EMU_EDGE)
         return -1;
 
+    pic = av_frame_alloc();
+    av_frame_ref(pic, pic_arg);
     //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);
+    ret = ff_MPV_encode_picture(avctx, pkt, pic, got_packet);
+    av_frame_free(&pic);
+    return ret;
 }
 
 #if CONFIG_MJPEG_ENCODER



More information about the ffmpeg-cvslog mailing list