]> git.sesse.net Git - ffmpeg/commitdiff
Merge commit '18db1286b04557aa2d2df7efbcb65ae825d5a469'
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 24 Apr 2015 20:48:29 +0000 (22:48 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 24 Apr 2015 21:11:34 +0000 (23:11 +0200)
* commit '18db1286b04557aa2d2df7efbcb65ae825d5a469':
  libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe

Conflicts:
libavcodec/libxvid.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/libxvid.c

index b6840ee358b27e1cd2b1411e0577e4c241c7db82,46da773052e14a49d09357eea651b06a570eaf90..bc971c4c8dc9d9ce1c57989eee043212663bb5f7
@@@ -826,25 -779,20 +826,26 @@@ static av_cold int xvid_encode_close(AV
  {
      struct xvid_context *x = avctx->priv_data;
  
-     if(x->encoder_handle)
+     if (x->encoder_handle) {
          xvid_encore(x->encoder_handle, XVID_ENC_DESTROY, NULL, NULL);
-     x->encoder_handle = NULL;
+         x->encoder_handle = NULL;
+     }
  
+     av_frame_free(&avctx->coded_frame);
      av_freep(&avctx->extradata);
      if (x->twopassbuffer) {
 -        av_free(x->twopassbuffer);
 -        av_free(x->old_twopassbuffer);
 +        av_freep(&x->twopassbuffer);
 +        av_freep(&x->old_twopassbuffer);
 +        avctx->stats_out = NULL;
 +    }
 +    if (x->twopassfd>=0) {
 +        unlink(x->twopassfile);
 +        close(x->twopassfd);
 +        x->twopassfd = -1;
      }
 -    av_free(x->twopassfile);
 -    av_free(x->intra_matrix);
 -    av_free(x->inter_matrix);
 +    av_freep(&x->twopassfile);
 +    av_freep(&x->intra_matrix);
 +    av_freep(&x->inter_matrix);
-     av_frame_free(&avctx->coded_frame);
  
      return 0;
  }