History

lavc: Remove register mechanism for hwaccels

There is no longer any need for a list of them at runtime, because decoders now carry the pointers to their associated hwaccels internally. The file containing external declarations is now used to make the list of hwaccels for configure.

Mark Thompson committed 9 years ago

Commit 9bd326a1 parent 3536a3e2 files · +1 −83Browse files

Unified · Split

2 files
  1. configure +1 −1
  2. libavcodec/allcodecs.c +0 −82
configure+1−1
@@ -3527,7 +3527,6 @@ find_things(){ · 3526 unmodified lines
35273527
35283528 ENCODER_LIST=$(find_things encoder ENC libavcodec/allcodecs.c)
35293529 DECODER_LIST=$(find_things decoder DEC libavcodec/allcodecs.c)
3530−HWACCEL_LIST=$(find_things hwaccel HWACCEL libavcodec/allcodecs.c)
35313530 PARSER_LIST=$(find_things parser PARSER libavcodec/allcodecs.c)
35323531 MUXER_LIST=$(find_things muxer _MUX libavformat/allformats.c)
35333532 DEMUXER_LIST=$(find_things demuxer DEMUX libavformat/allformats.c)
@@ -3543,6 +3542,7 @@ find_things_extern(){ · 9 unmodified lines
35433542 }
35443543
35453544 BSF_LIST=$(find_things_extern bsf AVBitStreamFilter libavcodec/bitstream_filters.c)
3545+HWACCEL_LIST=$(find_things_extern hwaccel AVHWAccel libavcodec/hwaccels.h)
35463546 PROTOCOL_LIST=$(find_things_extern protocol URLProtocol libavformat/protocols.c)
35473547
35483548 AVCODEC_COMPONENTS_LIST="
libavcodec/allcodecs.c+0−82
@@ -29,13 +29,6 @@ · 28 unmodified lines
2929 #include "avcodec.h"
3030 #include "version.h"
3131
32−#define REGISTER_HWACCEL(X, x) \
33− { \
34− extern AVHWAccel ff_##x##_hwaccel; \
35− if (CONFIG_##X##_HWACCEL) \
36− av_register_hwaccel(&ff_##x##_hwaccel); \
37− }
38−
3932 #define REGISTER_ENCODER(X, x) \
4033 { \
4134 extern AVCodec ff_##x##_encoder; \
@@ -61,81 +54,6 @@ · 19 unmodified lines
6154
6255 static void register_all(void)
6356 {
64− /* hardware accelerators */
65− REGISTER_HWACCEL(H263_VAAPI, h263_vaapi);
66− REGISTER_HWACCEL(H263_VIDEOTOOLBOX, h263_videotoolbox);
67− REGISTER_HWACCEL(H264_CUVID, h264_cuvid);
68− REGISTER_HWACCEL(H264_D3D11VA, h264_d3d11va);
69− REGISTER_HWACCEL(H264_D3D11VA2, h264_d3d11va2);
70− REGISTER_HWACCEL(H264_DXVA2, h264_dxva2);
71− REGISTER_HWACCEL(H264_MEDIACODEC, h264_mediacodec);
72− REGISTER_HWACCEL(H264_MMAL, h264_mmal);
73− REGISTER_HWACCEL(H264_NVDEC, h264_nvdec);
74− REGISTER_HWACCEL(H264_QSV, h264_qsv);
75− REGISTER_HWACCEL(H264_VAAPI, h264_vaapi);
76− REGISTER_HWACCEL(H264_VDPAU, h264_vdpau);
77− REGISTER_HWACCEL(H264_VIDEOTOOLBOX, h264_videotoolbox);
78− REGISTER_HWACCEL(HEVC_CUVID, hevc_cuvid);
79− REGISTER_HWACCEL(HEVC_D3D11VA, hevc_d3d11va);
80− REGISTER_HWACCEL(HEVC_D3D11VA2, hevc_d3d11va2);
81− REGISTER_HWACCEL(HEVC_DXVA2, hevc_dxva2);
82− REGISTER_HWACCEL(HEVC_NVDEC, hevc_nvdec);
83− REGISTER_HWACCEL(HEVC_MEDIACODEC, hevc_mediacodec);
84− REGISTER_HWACCEL(HEVC_QSV, hevc_qsv);
85− REGISTER_HWACCEL(HEVC_VAAPI, hevc_vaapi);
86− REGISTER_HWACCEL(HEVC_VDPAU, hevc_vdpau);
87− REGISTER_HWACCEL(HEVC_VIDEOTOOLBOX, hevc_videotoolbox);
88− REGISTER_HWACCEL(MJPEG_CUVID, mjpeg_cuvid);
89− REGISTER_HWACCEL(MPEG1_CUVID, mpeg1_cuvid);
90− REGISTER_HWACCEL(MPEG1_NVDEC, mpeg1_nvdec);
91− REGISTER_HWACCEL(MPEG1_XVMC, mpeg1_xvmc);
92− REGISTER_HWACCEL(MPEG1_VDPAU, mpeg1_vdpau);
93− REGISTER_HWACCEL(MPEG1_VIDEOTOOLBOX, mpeg1_videotoolbox);
94− REGISTER_HWACCEL(MPEG2_CUVID, mpeg2_cuvid);
95− REGISTER_HWACCEL(MPEG2_XVMC, mpeg2_xvmc);
96− REGISTER_HWACCEL(MPEG2_D3D11VA, mpeg2_d3d11va);
97− REGISTER_HWACCEL(MPEG2_D3D11VA2, mpeg2_d3d11va2);
98− REGISTER_HWACCEL(MPEG2_DXVA2, mpeg2_dxva2);
99− REGISTER_HWACCEL(MPEG2_MMAL, mpeg2_mmal);
100− REGISTER_HWACCEL(MPEG2_NVDEC, mpeg2_nvdec);
101− REGISTER_HWACCEL(MPEG2_QSV, mpeg2_qsv);
102− REGISTER_HWACCEL(MPEG2_VAAPI, mpeg2_vaapi);
103− REGISTER_HWACCEL(MPEG2_VDPAU, mpeg2_vdpau);
104− REGISTER_HWACCEL(MPEG2_VIDEOTOOLBOX, mpeg2_videotoolbox);
105− REGISTER_HWACCEL(MPEG2_MEDIACODEC, mpeg2_mediacodec);
106− REGISTER_HWACCEL(MPEG4_CUVID, mpeg4_cuvid);
107− REGISTER_HWACCEL(MPEG4_MEDIACODEC, mpeg4_mediacodec);
108− REGISTER_HWACCEL(MPEG4_MMAL, mpeg4_mmal);
109− REGISTER_HWACCEL(MPEG4_NVDEC, mpeg4_nvdec);
110− REGISTER_HWACCEL(MPEG4_VAAPI, mpeg4_vaapi);
111− REGISTER_HWACCEL(MPEG4_VDPAU, mpeg4_vdpau);
112− REGISTER_HWACCEL(MPEG4_VIDEOTOOLBOX, mpeg4_videotoolbox);
113− REGISTER_HWACCEL(VC1_CUVID, vc1_cuvid);
114− REGISTER_HWACCEL(VC1_D3D11VA, vc1_d3d11va);
115− REGISTER_HWACCEL(VC1_D3D11VA2, vc1_d3d11va2);
116− REGISTER_HWACCEL(VC1_DXVA2, vc1_dxva2);
117− REGISTER_HWACCEL(VC1_NVDEC, vc1_nvdec);
118− REGISTER_HWACCEL(VC1_VAAPI, vc1_vaapi);
119− REGISTER_HWACCEL(VC1_VDPAU, vc1_vdpau);
120− REGISTER_HWACCEL(VC1_MMAL, vc1_mmal);
121− REGISTER_HWACCEL(VC1_QSV, vc1_qsv);
122− REGISTER_HWACCEL(VP8_CUVID, vp8_cuvid);
123− REGISTER_HWACCEL(VP8_MEDIACODEC, vp8_mediacodec);
124− REGISTER_HWACCEL(VP8_QSV, vp8_qsv);
125− REGISTER_HWACCEL(VP9_CUVID, vp9_cuvid);
126− REGISTER_HWACCEL(VP9_D3D11VA, vp9_d3d11va);
127− REGISTER_HWACCEL(VP9_D3D11VA2, vp9_d3d11va2);
128− REGISTER_HWACCEL(VP9_DXVA2, vp9_dxva2);
129− REGISTER_HWACCEL(VP9_MEDIACODEC, vp9_mediacodec);
130− REGISTER_HWACCEL(VP9_NVDEC, vp9_nvdec);
131− REGISTER_HWACCEL(VP9_VAAPI, vp9_vaapi);
132− REGISTER_HWACCEL(WMV3_D3D11VA, wmv3_d3d11va);
133− REGISTER_HWACCEL(WMV3_D3D11VA2, wmv3_d3d11va2);
134− REGISTER_HWACCEL(WMV3_DXVA2, wmv3_dxva2);
135− REGISTER_HWACCEL(WMV3_NVDEC, wmv3_nvdec);
136− REGISTER_HWACCEL(WMV3_VAAPI, wmv3_vaapi);
137− REGISTER_HWACCEL(WMV3_VDPAU, wmv3_vdpau);
138−
13957 /* video codecs */
14058 REGISTER_ENCODER(A64MULTI, a64multi);
14159 REGISTER_ENCODER(A64MULTI5, a64multi5);

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