echo " --enable-w32threads use Win32 threads [no]"
echo " --enable-x11grab enable X11 grabbing [no]"
echo " --enable-vdpau enable VDPAU support [no]"
- echo " --enable-xvmc enable XvMC support [no]"
echo " --disable-network disable network support [no]"
echo " --disable-ipv6 disable IPv6 support [no]"
echo " --disable-mpegaudio-hp faster (but less accurate) MPEG audio decoding [no]"
vdpau
vhook
x11grab
- xvmc
zlib
"
mpeg4_encoder_select="aandct"
mpeg_vdpau_decoder_deps="vdpau"
mpeg1_vdpau_decoder_deps="vdpau"
-mpeg_xvmc_decoder_deps="xvmc X11_extensions_XvMClib_h"
+mpeg_xvmc_decoder_deps="X11_extensions_XvMClibx_h"
msmpeg4v1_encoder_select="aandct"
msmpeg4v2_encoder_select="aandct"
msmpeg4v3_encoder_select="aandct"
OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o mpegaudiodec.o mpegaudiodecheader.o mpegaudio.o mpegaudiodata.o
OBJS-$(CONFIG_MPEG_VDPAU_DECODER) += vdpau.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1_VDPAU_DECODER) += vdpau.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
+OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEGVIDEO_DECODER) += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12data.o mpegvideo_enc.o motion_est.o ratecontrol.o mpeg12.o mpeg12data.o mpegvideo.o error_resilience.o
OBJS-$(CONFIG_XAN_WC4_DECODER) += xan.o
OBJS-$(CONFIG_XL_DECODER) += xl.o
OBJS-$(CONFIG_XSUB_DECODER) += xsubdec.o
-OBJS-$(CONFIG_XVMC) += mpegvideo_xvmc.o
OBJS-$(CONFIG_ZLIB_DECODER) += lcldec.o
OBJS-$(CONFIG_ZLIB_ENCODER) += lclenc.o
OBJS-$(CONFIG_ZMBV_DECODER) += zmbv.o
if(undamaged_count < 5) return 0; //almost all MBs damaged -> use temporal prediction
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
//prevent dsp.sad() check, that requires access to the image
if(s->avctx->xvmc_acceleration && s->pict_type==FF_I_TYPE) return 1;
#endif
}else
guess_mv(s);
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
/* the filters below are not XvMC compatible, skip them */
if(s->avctx->xvmc_acceleration) goto ec_clean;
#endif
v_block_filter(s, s->current_picture.data[2], s->mb_width , s->mb_height , s->uvlinesize, 0);
}
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
ec_clean:
#endif
/* clean a few tables */
}else
memset(s->last_mv, 0, sizeof(s->last_mv)); /* reset mv prediction */
s->mb_intra = 1;
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
//if 1, we memcpy blocks in xvmcvideo
if(s->avctx->xvmc_acceleration > 1){
XVMC_pack_pblocks(s,-1);//inter are always full blocks
return -1;
}
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
//if 1, we memcpy blocks in xvmcvideo
if(s->avctx->xvmc_acceleration > 1){
XVMC_pack_pblocks(s,cbp);
}
}
}
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
// MPV_frame_start will call this function too,
// but we need to call it on every field
if(s->avctx->xvmc_acceleration)
}
for(;;) {
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
//If 1, we memcpy blocks in xvmcvideo.
if(s->avctx->xvmc_acceleration > 1)
XVMC_init_block(s);//set s->block
if (!s1->mpeg_enc_ctx_allocated || !s->current_picture_ptr)
return 0;
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
if(s->avctx->xvmc_acceleration)
XVMC_field_end(s);
#endif
.long_name= NULL_IF_CONFIG_SMALL("MPEG-1 video"),
};
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
static av_cold int mpeg_mc_decode_init(AVCodecContext *avctx){
Mpeg1Context *s;
update_noise_reduction(s);
}
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
if(s->avctx->xvmc_acceleration)
return XVMC_field_start(s, avctx);
#endif
{
int i;
/* draw edge for correct motion prediction if outside */
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
//just to make sure that all data is rendered.
if(s->avctx->xvmc_acceleration){
XVMC_field_end(s);
{
int mb_x, mb_y;
const int mb_xy = s->mb_y * s->mb_stride + s->mb_x;
-#if CONFIG_XVMC
+#if CONFIG_MPEG_XVMC_DECODER
if(s->avctx->xvmc_acceleration){
XVMC_decode_mb(s);//xvmc uses pblocks
return;