r28636 - trunk/libmpcodecs/vd_ffmpeg.c
Author: reimar Date: Tue Feb 17 17:40:50 2009 New Revision: 28636 Log: Set avctx->opaque already at init instead of decode so it can be used in get_format and get_buffer would not crash if called during avcodec_open. Patch by Gwenole Beauchesne [gbeauchesne splitted-desktop com] Modified: trunk/libmpcodecs/vd_ffmpeg.c Modified: trunk/libmpcodecs/vd_ffmpeg.c ============================================================================== --- trunk/libmpcodecs/vd_ffmpeg.c Tue Feb 17 16:00:57 2009 (r28635) +++ trunk/libmpcodecs/vd_ffmpeg.c Tue Feb 17 17:40:50 2009 (r28636) @@ -240,6 +240,7 @@ static int init(sh_video_t *sh){ ctx->pic = avcodec_alloc_frame(); ctx->avctx = avcodec_alloc_context(); avctx = ctx->avctx; + avctx->opaque = sh; #if CONFIG_VDPAU if(lavc_codec->capabilities & CODEC_CAP_HWACCEL_VDPAU){ @@ -744,7 +745,6 @@ static mp_image_t *decode(sh_video_t *sh //ffmpeg interlace (mpeg2) bug have been fixed. no need of -noslices if (!dr1) avctx->draw_horiz_band=NULL; - avctx->opaque=sh; if(ctx->vo_initialized && !(flags&3) && !dr1){ mpi=mpcodecs_get_image(sh, MP_IMGTYPE_EXPORT, MP_IMGFLAG_PRESERVE | (ctx->do_slices?MP_IMGFLAG_DRAW_CALLBACK:0),
participants (1)
-
reimar