comparison libmpcodecs/vd_ffmpeg.c @ 28563:1993dea41720

Reuse the code for the general do_dr1 case to set get_buffer/release_buffer for XvMC.
author reimar
date Sun, 15 Feb 2009 16:57:08 +0000
parents 0549b7c6803d
children f2f0357b2c30
comparison
equal deleted inserted replaced
28562:6fcf3cdf2c0f 28563:1993dea41720
246 if(lavc_codec->capabilities & CODEC_CAP_HWACCEL){ 246 if(lavc_codec->capabilities & CODEC_CAP_HWACCEL){
247 mp_msg(MSGT_DECVIDEO, MSGL_INFO, MSGTR_MPCODECS_XVMCAcceleratedCodec); 247 mp_msg(MSGT_DECVIDEO, MSGL_INFO, MSGTR_MPCODECS_XVMCAcceleratedCodec);
248 assert(ctx->do_dr1);//these are must to! 248 assert(ctx->do_dr1);//these are must to!
249 assert(ctx->do_slices); //it is (vo_)ffmpeg bug if this fails 249 assert(ctx->do_slices); //it is (vo_)ffmpeg bug if this fails
250 avctx->get_format= get_format;//for now only this decoder will use it 250 avctx->get_format= get_format;//for now only this decoder will use it
251 avctx->get_buffer= get_buffer;
252 avctx->release_buffer= release_buffer;
253 avctx->draw_horiz_band = draw_slice; 251 avctx->draw_horiz_band = draw_slice;
254 avctx->slice_flags=SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD; 252 avctx->slice_flags=SLICE_FLAG_CODED_ORDER|SLICE_FLAG_ALLOW_FIELD;
255 }else 253 }
256 #endif /* CONFIG_XVMC */ 254 #endif /* CONFIG_XVMC */
257 if(ctx->do_dr1){ 255 if(ctx->do_dr1){
258 avctx->flags|= CODEC_FLAG_EMU_EDGE; 256 avctx->flags|= CODEC_FLAG_EMU_EDGE;
259 avctx->get_buffer= get_buffer; 257 avctx->get_buffer= get_buffer;
260 avctx->release_buffer= release_buffer; 258 avctx->release_buffer= release_buffer;