]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/snowenc.c
vp9: de-duplicate some functions that are identical between 10/12 bpp.
[ffmpeg] / libavcodec / snowenc.c
index e03dc136d523e40471f55fd4b6440adf81f4a756..ea5e544c4f1821d152c174f41efeb4a649b19ad4 100644 (file)
@@ -60,7 +60,6 @@ static av_cold int encode_init(AVCodecContext *avctx)
     }
 
     if ((ret = ff_snow_common_init(avctx)) < 0) {
-        ff_snow_common_end(avctx->priv_data);
         return ret;
     }
     ff_mpegvideoencdsp_init(&s->mpvencdsp, avctx);
@@ -1622,7 +1621,9 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
 
     ff_snow_frame_start(s);
     av_frame_unref(avctx->coded_frame);
-    av_frame_ref(avctx->coded_frame, s->current_picture);
+    ret = av_frame_ref(avctx->coded_frame, s->current_picture);
+    if (ret < 0)
+        return ret;
 
     s->m.current_picture_ptr= &s->m.current_picture;
     s->m.current_picture.f = s->current_picture;
@@ -1901,6 +1902,8 @@ AVCodec ff_snow_encoder = {
         AV_PIX_FMT_NONE
     },
     .priv_class     = &snowenc_class,
+    .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+                      FF_CODEC_CAP_INIT_CLEANUP,
 };