History

dxva: add support for new dxva2 and d3d11 hwaccel APIs

This also adds support to avconv (which is trivial due to the new hwaccel API being generic enough). The new decoder setup code in dxva2.c is significantly based on work by Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites. Merges Libav commit f9e7a2f95a7194a8736cc1416a03a1a0155a3e9f. Also adds untested VP9 support. The check for DXVA2 COBJs is removed. Just update your MinGW to something newer than a 5 year old release.

wm4 committed 9 years ago

Commit 70143a31 parent 5659f7422 files · +885 −476Browse files

Showing the changes to libavcodec/allcodecs.c (1 of 22 files). Show all

Unified · Split

libavcodec/allcodecs.c+6−0
@@ -66,6 +66,7 @@ static void register_all(void) · 65 unmodified lines
6666 REGISTER_HWACCEL(H263_VIDEOTOOLBOX, h263_videotoolbox);
6767 REGISTER_HWACCEL(H264_CUVID, h264_cuvid);
6868 REGISTER_HWACCEL(H264_D3D11VA, h264_d3d11va);
69+ REGISTER_HWACCEL(H264_D3D11VA2, h264_d3d11va2);
6970 REGISTER_HWACCEL(H264_DXVA2, h264_dxva2);
7071 REGISTER_HWACCEL(H264_MEDIACODEC, h264_mediacodec);
7172 REGISTER_HWACCEL(H264_MMAL, h264_mmal);
@@ -77,6 +78,7 @@ static void register_all(void) · 5 unmodified lines
7778 REGISTER_HWACCEL(H264_VIDEOTOOLBOX, h264_videotoolbox);
7879 REGISTER_HWACCEL(HEVC_CUVID, hevc_cuvid);
7980 REGISTER_HWACCEL(HEVC_D3D11VA, hevc_d3d11va);
81+ REGISTER_HWACCEL(HEVC_D3D11VA2, hevc_d3d11va2);
8082 REGISTER_HWACCEL(HEVC_DXVA2, hevc_dxva2);
8183 REGISTER_HWACCEL(HEVC_MEDIACODEC, hevc_mediacodec);
8284 REGISTER_HWACCEL(HEVC_QSV, hevc_qsv);
@@ -90,6 +92,7 @@ static void register_all(void) · 7 unmodified lines
9092 REGISTER_HWACCEL(MPEG2_CUVID, mpeg2_cuvid);
9193 REGISTER_HWACCEL(MPEG2_XVMC, mpeg2_xvmc);
9294 REGISTER_HWACCEL(MPEG2_D3D11VA, mpeg2_d3d11va);
95+ REGISTER_HWACCEL(MPEG2_D3D11VA2, mpeg2_d3d11va2);
9396 REGISTER_HWACCEL(MPEG2_DXVA2, mpeg2_dxva2);
9497 REGISTER_HWACCEL(MPEG2_MMAL, mpeg2_mmal);
9598 REGISTER_HWACCEL(MPEG2_QSV, mpeg2_qsv);
@@ -105,6 +108,7 @@ static void register_all(void) · 9 unmodified lines
105108 REGISTER_HWACCEL(MPEG4_VIDEOTOOLBOX, mpeg4_videotoolbox);
106109 REGISTER_HWACCEL(VC1_CUVID, vc1_cuvid);
107110 REGISTER_HWACCEL(VC1_D3D11VA, vc1_d3d11va);
111+ REGISTER_HWACCEL(VC1_D3D11VA2, vc1_d3d11va2);
108112 REGISTER_HWACCEL(VC1_DXVA2, vc1_dxva2);
109113 REGISTER_HWACCEL(VC1_VAAPI, vc1_vaapi);
110114 REGISTER_HWACCEL(VC1_VDPAU, vc1_vdpau);
@@ -115,10 +119,12 @@ static void register_all(void) · 4 unmodified lines
115119 REGISTER_HWACCEL(VP8_QSV, vp8_qsv);
116120 REGISTER_HWACCEL(VP9_CUVID, vp9_cuvid);
117121 REGISTER_HWACCEL(VP9_D3D11VA, vp9_d3d11va);
122+ REGISTER_HWACCEL(VP9_D3D11VA2, vp9_d3d11va2);
118123 REGISTER_HWACCEL(VP9_DXVA2, vp9_dxva2);
119124 REGISTER_HWACCEL(VP9_MEDIACODEC, vp9_mediacodec);
120125 REGISTER_HWACCEL(VP9_VAAPI, vp9_vaapi);
121126 REGISTER_HWACCEL(WMV3_D3D11VA, wmv3_d3d11va);
127+ REGISTER_HWACCEL(WMV3_D3D11VA2, wmv3_d3d11va2);
122128 REGISTER_HWACCEL(WMV3_DXVA2, wmv3_dxva2);
123129 REGISTER_HWACCEL(WMV3_VAAPI, wmv3_vaapi);
124130 REGISTER_HWACCEL(WMV3_VDPAU, wmv3_vdpau);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t