Commit 330177b5 authored by Diego Biurrun's avatar Diego Biurrun

build: Group declarations for hw-accelerated de-/encoding separately

parent 01621202
...@@ -139,6 +139,12 @@ Hardware accelerators: ...@@ -139,6 +139,12 @@ Hardware accelerators:
--enable-vda enable VDA code --enable-vda enable VDA code
--enable-vdpau enable VDPAU code --enable-vdpau enable VDPAU code
Hardware-accelerated decoding/encoding:
--enable-cuda enable dynamically linked CUDA [no]
--enable-libmfx enable HW acceleration through libmfx
--enable-mmal enable decoding via MMAL [no]
--enable-nvenc enable encoding via NVENC [no]
Individual component options: Individual component options:
--disable-everything disable all components listed below --disable-everything disable all components listed below
--disable-encoder=NAME disable encoder NAME --disable-encoder=NAME disable encoder NAME
...@@ -179,7 +185,6 @@ Individual component options: ...@@ -179,7 +185,6 @@ Individual component options:
External library support: External library support:
--enable-avisynth enable reading of AviSynth script files [no] --enable-avisynth enable reading of AviSynth script files [no]
--enable-bzlib enable bzlib [autodetect] --enable-bzlib enable bzlib [autodetect]
--enable-cuda enable dynamically linked CUDA [no]
--enable-frei0r enable frei0r video filtering --enable-frei0r enable frei0r video filtering
--enable-gnutls enable gnutls [no] --enable-gnutls enable gnutls [no]
--enable-libbs2b enable bs2b DSP library [no] --enable-libbs2b enable bs2b DSP library [no]
...@@ -193,7 +198,6 @@ External library support: ...@@ -193,7 +198,6 @@ External library support:
--enable-libgsm enable GSM de/encoding via libgsm [no] --enable-libgsm enable GSM de/encoding via libgsm [no]
--enable-libilbc enable iLBC de/encoding via libilbc [no] --enable-libilbc enable iLBC de/encoding via libilbc [no]
--enable-libkvazaar enable HEVC encoding via libkvazaar [no] --enable-libkvazaar enable HEVC encoding via libkvazaar [no]
--enable-libmfx enable HW acceleration through libmfx
--enable-libmp3lame enable MP3 encoding via libmp3lame [no] --enable-libmp3lame enable MP3 encoding via libmp3lame [no]
--enable-libnpp enable NVIDIA Performance Primitives-based code [no] --enable-libnpp enable NVIDIA Performance Primitives-based code [no]
--enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no]
...@@ -223,8 +227,6 @@ External library support: ...@@ -223,8 +227,6 @@ External library support:
--enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto] --enable-libxcb-xfixes enable X11 grabbing mouse rendering [auto]
--enable-libxvid enable Xvid encoding via xvidcore, --enable-libxvid enable Xvid encoding via xvidcore,
native MPEG-4/Xvid encoder exists [no] native MPEG-4/Xvid encoder exists [no]
--enable-mmal enable decoding via MMAL [no]
--enable-nvenc enable encoding via NVENC [no]
--enable-openssl enable openssl [no] --enable-openssl enable openssl [no]
--enable-x11grab enable X11 grabbing (legacy) [no] --enable-x11grab enable X11 grabbing (legacy) [no]
--enable-zlib enable zlib [autodetect] --enable-zlib enable zlib [autodetect]
...@@ -1207,7 +1209,6 @@ EXAMPLE_LIST=" ...@@ -1207,7 +1209,6 @@ EXAMPLE_LIST="
EXTERNAL_LIBRARY_LIST=" EXTERNAL_LIBRARY_LIST="
avisynth avisynth
bzlib bzlib
cuda
frei0r frei0r
gnutls gnutls
libbs2b libbs2b
...@@ -1221,7 +1222,6 @@ EXTERNAL_LIBRARY_LIST=" ...@@ -1221,7 +1222,6 @@ EXTERNAL_LIBRARY_LIST="
libgsm libgsm
libilbc libilbc
libkvazaar libkvazaar
libmfx
libmp3lame libmp3lame
libnpp libnpp
libopencore_amrnb libopencore_amrnb
...@@ -1250,8 +1250,6 @@ EXTERNAL_LIBRARY_LIST=" ...@@ -1250,8 +1250,6 @@ EXTERNAL_LIBRARY_LIST="
libxcb_shm libxcb_shm
libxcb_xfixes libxcb_xfixes
libxvid libxvid
mmal
nvenc
openssl openssl
x11grab x11grab
zlib zlib
...@@ -1269,6 +1267,13 @@ FEATURE_LIST=" ...@@ -1269,6 +1267,13 @@ FEATURE_LIST="
swscale_alpha swscale_alpha
" "
HW_CODECS_LIST="
cuda
libmfx
mmal
nvenc
"
HWACCEL_LIST=" HWACCEL_LIST="
d3d11va d3d11va
dxva2 dxva2
...@@ -1317,6 +1322,7 @@ CONFIG_LIST=" ...@@ -1317,6 +1322,7 @@ CONFIG_LIST="
$EXAMPLE_LIST $EXAMPLE_LIST
$EXTERNAL_LIBRARY_LIST $EXTERNAL_LIBRARY_LIST
$FEATURE_LIST $FEATURE_LIST
$HW_CODECS_LIST
$HWACCEL_LIST $HWACCEL_LIST
$LICENSE_LIST $LICENSE_LIST
$LIBRARY_LIST $LIBRARY_LIST
...@@ -1876,11 +1882,6 @@ mpegaudio_select="mpegaudiodsp" ...@@ -1876,11 +1882,6 @@ mpegaudio_select="mpegaudiodsp"
mpegaudiodsp_select="dct" mpegaudiodsp_select="dct"
mpegvideo_select="blockdsp hpeldsp idctdsp me_cmp mpeg_er videodsp" mpegvideo_select="blockdsp hpeldsp idctdsp me_cmp mpeg_er videodsp"
mpegvideoenc_select="me_cmp mpegvideo pixblockdsp qpeldsp" mpegvideoenc_select="me_cmp mpegvideo pixblockdsp qpeldsp"
nvenc_deps_any="dlopen LoadLibrary"
nvenc_extralibs='$ldl'
qsvdec_select="qsv"
qsvenc_select="qsv"
vaapi_encode_deps="vaapi"
vc1dsp_select="h264chroma qpeldsp startcode" vc1dsp_select="h264chroma qpeldsp startcode"
# decoders / encoders # decoders / encoders
...@@ -1953,24 +1954,10 @@ h263i_decoder_select="h263_decoder" ...@@ -1953,24 +1954,10 @@ h263i_decoder_select="h263_decoder"
h263p_encoder_select="h263_encoder" h263p_encoder_select="h263_encoder"
h264_decoder_select="cabac golomb h264chroma h264dsp h264pred h264qpel videodsp" h264_decoder_select="cabac golomb h264chroma h264dsp h264pred h264qpel videodsp"
h264_decoder_suggest="error_resilience" h264_decoder_suggest="error_resilience"
h264_nvenc_encoder_deps="nvenc"
h264_qsv_decoder_deps="libmfx"
h264_qsv_decoder_select="h264_mp4toannexb_bsf h264_parser qsvdec h264_qsv_hwaccel"
h264_qsv_encoder_deps="libmfx"
h264_qsv_encoder_select="qsvenc"
h264_vaapi_encoder_deps="VAEncPictureParameterBufferH264"
h264_vaapi_encoder_select="vaapi_encode golomb"
hap_decoder_select="snappy texturedsp" hap_decoder_select="snappy texturedsp"
hap_encoder_deps="libsnappy" hap_encoder_deps="libsnappy"
hap_encoder_select="texturedspenc" hap_encoder_select="texturedspenc"
hevc_decoder_select="bswapdsp cabac golomb videodsp" hevc_decoder_select="bswapdsp cabac golomb videodsp"
hevc_nvenc_encoder_deps="nvenc"
hevc_qsv_encoder_deps="libmfx"
hevc_qsv_decoder_deps="libmfx"
hevc_qsv_decoder_select="hevc_mp4toannexb_bsf hevc_parser qsvdec hevc_qsv_hwaccel"
hevc_qsv_encoder_select="qsvenc"
hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC"
hevc_vaapi_encoder_select="vaapi_encode golomb"
huffyuv_decoder_select="bswapdsp huffyuvdsp" huffyuv_decoder_select="bswapdsp huffyuvdsp"
huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp" huffyuv_encoder_select="bswapdsp huffman huffyuvencdsp"
iac_decoder_select="imc_decoder" iac_decoder_select="imc_decoder"
...@@ -2013,10 +2000,6 @@ mpeg1video_decoder_select="error_resilience mpeg_er mpegvideo" ...@@ -2013,10 +2000,6 @@ mpeg1video_decoder_select="error_resilience mpeg_er mpegvideo"
mpeg1video_encoder_select="aandcttables mpegvideoenc" mpeg1video_encoder_select="aandcttables mpegvideoenc"
mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo" mpeg2video_decoder_select="error_resilience mpeg_er mpegvideo"
mpeg2video_encoder_select="aandcttables mpegvideoenc" mpeg2video_encoder_select="aandcttables mpegvideoenc"
mpeg2_qsv_decoder_deps="libmfx"
mpeg2_qsv_decoder_select="qsvdec mpeg2_qsv_hwaccel mpegvideo_parser"
mpeg2_qsv_encoder_deps="libmfx"
mpeg2_qsv_encoder_select="qsvenc"
mpeg4_decoder_select="h263_decoder mpeg4video_parser" mpeg4_decoder_select="h263_decoder mpeg4video_parser"
mpeg4_encoder_select="h263_encoder" mpeg4_encoder_select="h263_encoder"
msa1_decoder_select="mss34dsp" msa1_decoder_select="mss34dsp"
...@@ -2031,8 +2014,6 @@ mxpeg_decoder_select="mjpeg_decoder" ...@@ -2031,8 +2014,6 @@ mxpeg_decoder_select="mjpeg_decoder"
nellymoser_decoder_select="mdct sinewin" nellymoser_decoder_select="mdct sinewin"
nellymoser_encoder_select="audio_frame_queue mdct sinewin" nellymoser_encoder_select="audio_frame_queue mdct sinewin"
nuv_decoder_select="idctdsp lzo" nuv_decoder_select="idctdsp lzo"
nvenc_h264_encoder_deps="nvenc"
nvenc_hevc_encoder_deps="nvenc"
on2avc_decoder_select="mdct" on2avc_decoder_select="mdct"
opus_decoder_deps="avresample" opus_decoder_deps="avresample"
opus_decoder_select="imdct15" opus_decoder_select="imdct15"
...@@ -2169,6 +2150,39 @@ wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel" ...@@ -2169,6 +2150,39 @@ wmv3_dxva2_hwaccel_select="vc1_dxva2_hwaccel"
wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel" wmv3_vaapi_hwaccel_select="vc1_vaapi_hwaccel"
wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel" wmv3_vdpau_hwaccel_select="vc1_vdpau_hwaccel"
# hardware-accelerated codecs
nvenc_deps_any="dlopen LoadLibrary"
nvenc_extralibs='$ldl'
qsvdec_select="qsv"
qsvenc_select="qsv"
vaapi_encode_deps="vaapi"
hwupload_cuda_filter_deps="cuda"
scale_npp_filter_deps="cuda libnpp"
h264_nvenc_encoder_deps="nvenc"
h264_qsv_decoder_deps="libmfx"
h264_qsv_decoder_select="h264_mp4toannexb_bsf h264_parser qsvdec h264_qsv_hwaccel"
h264_qsv_encoder_deps="libmfx"
h264_qsv_encoder_select="qsvenc"
h264_vaapi_encoder_deps="VAEncPictureParameterBufferH264"
h264_vaapi_encoder_select="vaapi_encode golomb"
hevc_nvenc_encoder_deps="nvenc"
hevc_qsv_decoder_deps="libmfx"
hevc_qsv_encoder_deps="libmfx"
hevc_qsv_decoder_select="hevc_mp4toannexb_bsf hevc_parser hevc_qsv_hwaccel qsvdec"
hevc_qsv_encoder_select="qsvenc"
hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC"
hevc_vaapi_encoder_select="vaapi_encode golomb"
mpeg2_qsv_decoder_deps="libmfx"
mpeg2_qsv_decoder_select="qsvdec mpeg2_qsv_hwaccel mpegvideo_parser"
mpeg2_qsv_encoder_deps="libmfx"
mpeg2_qsv_encoder_select="qsvenc"
nvenc_h264_encoder_deps="nvenc"
nvenc_hevc_encoder_deps="nvenc"
# parsers # parsers
h264_parser_select="h264_decoder" h264_parser_select="h264_decoder"
hevc_parser_select="golomb" hevc_parser_select="golomb"
...@@ -2369,12 +2383,10 @@ frei0r_filter_extralibs='$ldl' ...@@ -2369,12 +2383,10 @@ frei0r_filter_extralibs='$ldl'
frei0r_src_filter_deps="frei0r dlopen" frei0r_src_filter_deps="frei0r dlopen"
frei0r_src_filter_extralibs='$ldl' frei0r_src_filter_extralibs='$ldl'
hqdn3d_filter_deps="gpl" hqdn3d_filter_deps="gpl"
hwupload_cuda_filter_deps="cuda"
interlace_filter_deps="gpl" interlace_filter_deps="gpl"
ocv_filter_deps="libopencv" ocv_filter_deps="libopencv"
resample_filter_deps="avresample" resample_filter_deps="avresample"
scale_filter_deps="swscale" scale_filter_deps="swscale"
scale_npp_filter_deps="cuda libnpp"
scale_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer" scale_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer"
# examples # examples
...@@ -5081,6 +5093,10 @@ for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf ind ...@@ -5081,6 +5093,10 @@ for type in decoder encoder hwaccel parser demuxer muxer protocol filter bsf ind
echo echo
done done
echo "Enabled Hardware-accelerated codecs:"
print_enabled '' $HW_CODECS_LIST | print_3_columns
echo
license="LGPL version 2.1 or later" license="LGPL version 2.1 or later"
if enabled nonfree; then if enabled nonfree; then
license="nonfree and unredistributable" license="nonfree and unredistributable"
......
...@@ -91,12 +91,8 @@ OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \ ...@@ -91,12 +91,8 @@ OBJS-$(CONFIG_MPEGVIDEOENC) += mpegvideo_enc.o mpeg12data.o \
motion_est.o ratecontrol.o \ motion_est.o ratecontrol.o \
mpegvideoencdsp.o mpegvideoencdsp.o
OBJS-$(CONFIG_MSS34DSP) += mss34dsp.o OBJS-$(CONFIG_MSS34DSP) += mss34dsp.o
OBJS-$(CONFIG_NVENC) += nvenc.o
OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o OBJS-$(CONFIG_PIXBLOCKDSP) += pixblockdsp.o
OBJS-$(CONFIG_QPELDSP) += qpeldsp.o OBJS-$(CONFIG_QPELDSP) += qpeldsp.o
OBJS-$(CONFIG_QSV) += qsv.o
OBJS-$(CONFIG_QSVDEC) += qsvdec.o
OBJS-$(CONFIG_QSVENC) += qsvenc.o
OBJS-$(CONFIG_RANGECODER) += rangecoder.o OBJS-$(CONFIG_RANGECODER) += rangecoder.o
RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o RDFT-OBJS-$(CONFIG_HARDCODED_TABLES) += sin_tables.o
OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes) OBJS-$(CONFIG_RDFT) += rdft.o $(RDFT-OBJS-yes)
...@@ -255,20 +251,11 @@ OBJS-$(CONFIG_H264_DECODER) += h264.o h264_cabac.o h264_cavlc.o \ ...@@ -255,20 +251,11 @@ OBJS-$(CONFIG_H264_DECODER) += h264.o h264_cabac.o h264_cavlc.o \
h264_refs.o h264_sei.o \ h264_refs.o h264_sei.o \
h264_slice.o h264data.o h264_parse.o \ h264_slice.o h264data.o h264_parse.o \
h2645_parse.o h2645_parse.o
OBJS-$(CONFIG_H264_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_H264_NVENC_ENCODER) += nvenc_h264.o
OBJS-$(CONFIG_H264_QSV_DECODER) += qsvdec_h2645.o
OBJS-$(CONFIG_H264_QSV_ENCODER) += qsvenc_h264.o
OBJS-$(CONFIG_H264_VAAPI_ENCODER) += vaapi_encode_h264.o vaapi_encode_h26x.o
OBJS-$(CONFIG_HAP_DECODER) += hapdec.o hap.o OBJS-$(CONFIG_HAP_DECODER) += hapdec.o hap.o
OBJS-$(CONFIG_HAP_ENCODER) += hapenc.o hap.o OBJS-$(CONFIG_HAP_ENCODER) += hapenc.o hap.o
OBJS-$(CONFIG_HEVC_DECODER) += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \ OBJS-$(CONFIG_HEVC_DECODER) += hevc.o hevc_mvs.o hevc_ps.o hevc_sei.o \
hevc_cabac.o hevc_refs.o hevcpred.o \ hevc_cabac.o hevc_refs.o hevcpred.o \
hevcdsp.o hevc_filter.o h2645_parse.o hevc_data.o hevcdsp.o hevc_filter.o h2645_parse.o hevc_data.o
OBJS-$(CONFIG_HEVC_NVENC_ENCODER) += nvenc_hevc.o
OBJS-$(CONFIG_HEVC_QSV_DECODER) += qsvdec_h2645.o
OBJS-$(CONFIG_HEVC_QSV_ENCODER) += qsvenc_hevc.o hevc_ps_enc.o h2645_parse.o
OBJS-$(CONFIG_HEVC_VAAPI_ENCODER) += vaapi_encode_h265.o vaapi_encode_h26x.o
OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o OBJS-$(CONFIG_HNM4_VIDEO_DECODER) += hnm4video.o
OBJS-$(CONFIG_HQ_HQA_DECODER) += hq_hqa.o hq_hqadata.o hq_hqadsp.o \ OBJS-$(CONFIG_HQ_HQA_DECODER) += hq_hqa.o hq_hqadata.o hq_hqadsp.o \
canopus.o canopus.o
...@@ -325,8 +312,6 @@ OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o ...@@ -325,8 +312,6 @@ OBJS-$(CONFIG_MPC8_DECODER) += mpc8.o mpc.o
OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o OBJS-$(CONFIG_MPEG_XVMC_DECODER) += mpegvideo_xvmc.o
OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o OBJS-$(CONFIG_MPEG1VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12.o OBJS-$(CONFIG_MPEG1VIDEO_ENCODER) += mpeg12enc.o mpeg12.o
OBJS-$(CONFIG_MPEG2_QSV_DECODER) += qsvdec_mpeg2.o
OBJS-$(CONFIG_MPEG2_QSV_ENCODER) += qsvenc_mpeg2.o
OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o OBJS-$(CONFIG_MPEG2VIDEO_DECODER) += mpeg12dec.o mpeg12.o mpeg12data.o
OBJS-$(CONFIG_MPEG2VIDEO_ENCODER) += mpeg12enc.o mpeg12.o OBJS-$(CONFIG_MPEG2VIDEO_ENCODER) += mpeg12enc.o mpeg12.o
OBJS-$(CONFIG_MPEG4_DECODER) += xvididct.o OBJS-$(CONFIG_MPEG4_DECODER) += xvididct.o
...@@ -628,6 +613,24 @@ OBJS-$(CONFIG_VC1_DXVA2_HWACCEL) += dxva2_vc1.o ...@@ -628,6 +613,24 @@ 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_VC1_VDPAU_HWACCEL) += vdpau_vc1.o OBJS-$(CONFIG_VC1_VDPAU_HWACCEL) += vdpau_vc1.o
# hardware-accelerated decoding/encoding
OBJS-$(CONFIG_NVENC) += nvenc.o
OBJS-$(CONFIG_QSV) += qsv.o
OBJS-$(CONFIG_QSVDEC) += qsvdec.o
OBJS-$(CONFIG_QSVENC) += qsvenc.o
OBJS-$(CONFIG_H264_MMAL_DECODER) += mmaldec.o
OBJS-$(CONFIG_H264_NVENC_ENCODER) += nvenc_h264.o
OBJS-$(CONFIG_H264_QSV_DECODER) += qsvdec_h2645.o
OBJS-$(CONFIG_H264_QSV_ENCODER) += qsvenc_h264.o
OBJS-$(CONFIG_H264_VAAPI_ENCODER) += vaapi_encode_h264.o vaapi_encode_h26x.o
OBJS-$(CONFIG_HEVC_NVENC_ENCODER) += nvenc_hevc.o
OBJS-$(CONFIG_HEVC_QSV_DECODER) += qsvdec_h2645.o
OBJS-$(CONFIG_HEVC_QSV_ENCODER) += qsvenc_hevc.o hevc_ps_enc.o h2645_parse.o
OBJS-$(CONFIG_HEVC_VAAPI_ENCODER) += vaapi_encode_h265.o vaapi_encode_h26x.o
OBJS-$(CONFIG_MPEG2_QSV_DECODER) += qsvdec_mpeg2.o
OBJS-$(CONFIG_MPEG2_QSV_ENCODER) += qsvenc_mpeg2.o
# libavformat dependencies # libavformat dependencies
OBJS-$(CONFIG_ISO_MEDIA) += mpeg4audio.o mpegaudiodata.o OBJS-$(CONFIG_ISO_MEDIA) += mpeg4audio.o mpegaudiodata.o
......
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