]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/roqvideoenc.c
Merge commit 'a67b67944aa9e6e794934d15f9fd9a9cf7173e09'
[ffmpeg] / libavcodec / roqvideoenc.c
index 89879e81b318c85fdab518ef0e19fff9df524a99..72fc2d75aef166e94f872cecb8e58365c9e63331 100644 (file)
@@ -960,9 +960,6 @@ static int roq_encode_video(RoqContext *enc)
     reconstruct_and_encode_image(enc, tempData, enc->width, enc->height,
                                  enc->width*enc->height/64);
 
-    av_frame_unref(enc->avctx->coded_frame);
-    av_frame_ref(enc->avctx->coded_frame, enc->current_frame);
-
     /* Rotate frame history */
     FFSWAP(AVFrame *, enc->current_frame, enc->last_frame);
     FFSWAP(motion_vect *, enc->last_motion4, enc->this_motion4);
@@ -982,7 +979,6 @@ static av_cold int roq_encode_end(AVCodecContext *avctx)
 
     av_frame_free(&enc->current_frame);
     av_frame_free(&enc->last_frame);
-    av_frame_free(&enc->avctx->coded_frame);
 
     av_freep(&enc->tmpData);
     av_freep(&enc->this_motion4);
@@ -1023,8 +1019,7 @@ static av_cold int roq_encode_init(AVCodecContext *avctx)
 
     enc->last_frame    = av_frame_alloc();
     enc->current_frame = av_frame_alloc();
-    avctx->coded_frame = av_frame_alloc();
-    if (!enc->last_frame || !enc->current_frame || !avctx->coded_frame) {
+    if (!enc->last_frame || !enc->current_frame) {
         roq_encode_end(avctx);
         return AVERROR(ENOMEM);
     }
@@ -1095,7 +1090,7 @@ static int roq_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     /* 138 bits max per 8x8 block +
      *     256 codebooks*(6 bytes 2x2 + 4 bytes 4x4) + 8 bytes frame header */
     size = ((enc->width * enc->height / 64) * 138 + 7) / 8 + 256 * (6 + 4) + 8;
-    if ((ret = ff_alloc_packet2(avctx, pkt, size)) < 0)
+    if ((ret = ff_alloc_packet2(avctx, pkt, size, 0)) < 0)
         return ret;
     enc->out_buf = pkt->data;