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
3527 3527
3528ENCODER_LIST=$(find_things encoder ENC libavcodec/allcodecs.c)3528ENCODER_LIST=$(find_things encoder ENC libavcodec/allcodecs.c)
3529DECODER_LIST=$(find_things decoder DEC libavcodec/allcodecs.c)3529DECODER_LIST=$(find_things decoder DEC libavcodec/allcodecs.c)
3530HWACCEL_LIST=$(find_things hwaccel HWACCEL libavcodec/allcodecs.c)
3531PARSER_LIST=$(find_things parser PARSER libavcodec/allcodecs.c)3530PARSER_LIST=$(find_things parser PARSER libavcodec/allcodecs.c)
3532MUXER_LIST=$(find_things muxer _MUX libavformat/allformats.c)3531MUXER_LIST=$(find_things muxer _MUX libavformat/allformats.c)
3533DEMUXER_LIST=$(find_things demuxer DEMUX libavformat/allformats.c)3532DEMUXER_LIST=$(find_things demuxer DEMUX libavformat/allformats.c)
@@ -3543,6 +3542,7 @@ find_things_extern(){ · 9 unmodified lines
3543}3542}
3544 3543
3545BSF_LIST=$(find_things_extern bsf AVBitStreamFilter libavcodec/bitstream_filters.c)3544BSF_LIST=$(find_things_extern bsf AVBitStreamFilter libavcodec/bitstream_filters.c)
3545HWACCEL_LIST=$(find_things_extern hwaccel AVHWAccel libavcodec/hwaccels.h)
3546PROTOCOL_LIST=$(find_things_extern protocol URLProtocol libavformat/protocols.c)3546PROTOCOL_LIST=$(find_things_extern protocol URLProtocol libavformat/protocols.c)
3547 3547
3548AVCODEC_COMPONENTS_LIST="3548AVCODEC_COMPONENTS_LIST="
libavcodec/allcodecs.c+0−82
@@ -29,13 +29,6 @@ · 28 unmodified lines
29#include "avcodec.h"29#include "avcodec.h"
30#include "version.h"30#include "version.h"
31 31
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
39#define REGISTER_ENCODER(X, x) \32#define REGISTER_ENCODER(X, x) \
40 { \33 { \
41 extern AVCodec ff_##x##_encoder; \34 extern AVCodec ff_##x##_encoder; \
@@ -61,81 +54,6 @@ · 19 unmodified lines
61 54
62static void register_all(void)55static void register_all(void)
63{56{
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
139 /* video codecs */57 /* video codecs */
140 REGISTER_ENCODER(A64MULTI, a64multi);58 REGISTER_ENCODER(A64MULTI, a64multi);
141 REGISTER_ENCODER(A64MULTI5, a64multi5);59 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