Commit f0f86627 authored by Laurent Aimar's avatar Laurent Aimar

VC-1/WMV3 DXVA2 implementation

 It allows VLD VC-1/WMV3 decoding using DXVA2 (GPU assisted decoding API under
VISTA and Windows 7).
 It is implemented by using AVHWAccel API.

Originally committed as revision 21424 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 77d40dce
...@@ -1234,6 +1234,8 @@ tiff_encoder_suggest="zlib" ...@@ -1234,6 +1234,8 @@ tiff_encoder_suggest="zlib"
truehd_decoder_select="mlp_decoder" truehd_decoder_select="mlp_decoder"
tscc_decoder_select="zlib" tscc_decoder_select="zlib"
vc1_decoder_select="h263_decoder" vc1_decoder_select="h263_decoder"
vc1_dxva2_hwaccel_deps="dxva2api_h"
vc1_dxva2_hwaccel_select="dxva2 vc1_decoder"
vc1_vaapi_hwaccel_deps="va_va_h" vc1_vaapi_hwaccel_deps="va_va_h"
vc1_vaapi_hwaccel_select="vaapi vc1_decoder" vc1_vaapi_hwaccel_select="vaapi vc1_decoder"
vc1_vdpau_decoder_deps="vdpau_vdpau_h vdpau_vdpau_x11_h" vc1_vdpau_decoder_deps="vdpau_vdpau_h vdpau_vdpau_x11_h"
...@@ -1251,6 +1253,7 @@ wmv1_encoder_select="h263_encoder" ...@@ -1251,6 +1253,7 @@ wmv1_encoder_select="h263_encoder"
wmv2_decoder_select="h263_decoder" wmv2_decoder_select="h263_decoder"
wmv2_encoder_select="h263_encoder" wmv2_encoder_select="h263_encoder"
wmv3_decoder_select="vc1_decoder" wmv3_decoder_select="vc1_decoder"
wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel" wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
wmv3_vdpau_decoder_select="vc1_vdpau_decoder" wmv3_vdpau_decoder_select="vc1_vdpau_decoder"
zlib_decoder_select="zlib" zlib_decoder_select="zlib"
......
...@@ -315,6 +315,7 @@ OBJS-$(CONFIG_VB_DECODER) += vb.o ...@@ -315,6 +315,7 @@ OBJS-$(CONFIG_VB_DECODER) += vb.o
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \ OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \
msmpeg4.o msmpeg4data.o \ msmpeg4.o msmpeg4data.o \
intrax8.o intrax8dsp.o intrax8.o intrax8dsp.o
OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o
OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o OBJS-$(CONFIG_VC1_VAAPI_HWACCEL) += vaapi_vc1.o
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
OBJS-$(CONFIG_VCR1_ENCODER) += vcr1.o OBJS-$(CONFIG_VCR1_ENCODER) += vcr1.o
......
...@@ -59,7 +59,9 @@ void avcodec_register_all(void) ...@@ -59,7 +59,9 @@ void avcodec_register_all(void)
REGISTER_HWACCEL (H264_VAAPI, h264_vaapi); REGISTER_HWACCEL (H264_VAAPI, h264_vaapi);
REGISTER_HWACCEL (MPEG2_VAAPI, mpeg2_vaapi); REGISTER_HWACCEL (MPEG2_VAAPI, mpeg2_vaapi);
REGISTER_HWACCEL (MPEG4_VAAPI, mpeg4_vaapi); REGISTER_HWACCEL (MPEG4_VAAPI, mpeg4_vaapi);
REGISTER_HWACCEL (VC1_DXVA2, vc1_dxva2);
REGISTER_HWACCEL (VC1_VAAPI, vc1_vaapi); REGISTER_HWACCEL (VC1_VAAPI, vc1_vaapi);
REGISTER_HWACCEL (WMV3_DXVA2, wmv3_dxva2);
REGISTER_HWACCEL (WMV3_VAAPI, wmv3_vaapi); REGISTER_HWACCEL (WMV3_VAAPI, wmv3_vaapi);
/* video codecs */ /* video codecs */
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment