--enable-libzvbi enable teletext support via libzvbi [no]
--disable-lzma disable lzma [autodetect]
--enable-decklink enable Blackmagick DeckLink I/O support [no]
+ --enable-mmal enable decoding via MMAL [no]
--enable-nvenc enable NVIDIA NVENC support [no]
--enable-openal enable OpenAL 1.1 capture support [no]
--enable-opencl enable OpenCL code
--disable-neon disable NEON optimizations
--disable-inline-asm disable use of inline assembly
--disable-yasm disable use of nasm/yasm assembly
+ --disable-mips32r5 disable MIPS32R5 optimizations
+ --disable-mips64r6 disable MIPS64R6 optimizations
--disable-mipsdspr1 disable MIPS DSP ASE R1 optimizations
--disable-mipsdspr2 disable MIPS DSP ASE R2 optimizations
+ --disable-msa disable MSA optimizations
--disable-mipsfpu disable floating point MIPS optimizations
--disable-fast-unaligned consider unaligned accesses slow
(group) and PROB the probability associated with
NAME (default 0.5).
--random-seed=VALUE seed value for --enable/disable-random
+ --disable-valgrind-backtrace do not print a backtrace under Valgrind
+ (only applies to --disable-optimizations builds)
NOTE: Object files are built at the place where configure is launched.
EOF
EXAMPLE_LIST="
avio_reading_example
+ avio_list_dir_example
decoding_encoding_example
demuxing_decoding_example
extract_mvs_example
libzmq
libzvbi
lzma
+ mmal
nvenc
openal
opencl
pod2man
raise_major
thumb
+ valgrind_backtrace
xmm_clobber_test
"
ARCH_EXT_LIST_MIPS="
mipsfpu
mips32r2
+ mips32r5
+ mips64r6
mipsdspr1
mipsdspr2
+ msa
"
ARCH_EXT_LIST_X86_SIMD="
termios_h
udplite_h
unistd_h
+ valgrind_valgrind_h
windows_h
winsock2_h
"
iirfilter
imdct15
intrax8
+ jpegtables
lgplv3
llauddsp
llviddsp
map 'eval ${v}_inline_deps=inline_asm' $ARCH_EXT_LIST_ARM
+loongson_deps="mips"
mipsfpu_deps="mips"
mipsdspr1_deps="mips"
mipsdspr2_deps="mips"
+mips32r2_deps="mips"
+mips32r5_deps="mips"
+mips64r6_deps="mips"
+msa_deps="mips"
altivec_deps="ppc"
+dcbzl_deps="ppc"
+ldbrx_deps="ppc"
ppc4xx_deps="ppc"
vsx_deps="ppc"
# system capabilities
symver_if_any="symver_asm_label symver_gnu_asm"
+valgrind_backtrace_deps="!optimizations valgrind_valgrind_h"
# threading support
atomics_gcc_if_any="sync_val_compare_and_swap atomic_compare_exchange"
amrnb_decoder_select="lsp"
amrwb_decoder_select="lsp"
amv_decoder_select="sp5x_decoder exif"
-amv_encoder_select="aandcttables mpegvideoenc"
+amv_encoder_select="aandcttables jpegtables mpegvideoenc"
ape_decoder_select="bswapdsp llauddsp"
apng_decoder_select="zlib"
+apng_encoder_select="huffyuvencdsp zlib"
asv1_decoder_select="blockdsp bswapdsp idctdsp"
asv1_encoder_select="bswapdsp fdctdsp pixblockdsp"
asv2_decoder_select="blockdsp bswapdsp idctdsp"
atrac1_decoder_select="mdct sinewin"
atrac3_decoder_select="mdct"
atrac3p_decoder_select="mdct sinewin"
-avrn_decoder_select="exif"
+avrn_decoder_select="exif jpegtables"
bink_decoder_select="blockdsp hpeldsp"
binkaudio_dct_decoder_select="mdct rdft dct sinewin wma_freqs"
binkaudio_rdft_decoder_select="mdct rdft sinewin wma_freqs"
flv_encoder_select="h263_encoder"
fourxm_decoder_select="blockdsp bswapdsp"
fraps_decoder_select="bswapdsp huffman"
-g2m_decoder_select="blockdsp idctdsp zlib"
+g2m_decoder_select="blockdsp idctdsp jpegtables zlib"
g729_decoder_select="audiodsp"
h261_decoder_select="mpeg_er mpegvideo"
h261_encoder_select="aandcttables mpegvideoenc"
h263_decoder_select="error_resilience h263_parser h263dsp mpeg_er mpegvideo qpeldsp"
h263_encoder_select="aandcttables h263dsp mpegvideoenc"
h263i_decoder_select="h263_decoder"
+h263p_decoder_select="h263_decoder"
h263p_encoder_select="h263_encoder"
h264_decoder_select="cabac golomb h264chroma h264dsp h264pred h264qpel startcode videodsp"
h264_decoder_suggest="error_resilience"
jpegls_encoder_select="golomb"
jv_decoder_select="blockdsp"
lagarith_decoder_select="huffyuvdsp"
-ljpeg_encoder_select="aandcttables idctdsp"
+ljpeg_encoder_select="aandcttables idctdsp jpegtables"
loco_decoder_select="golomb"
mdec_decoder_select="blockdsp idctdsp mpegvideo"
metasound_decoder_select="lsp mdct sinewin"
mimic_decoder_select="blockdsp bswapdsp hpeldsp idctdsp"
-mjpeg_decoder_select="blockdsp hpeldsp exif idctdsp"
-mjpeg_encoder_select="aandcttables mpegvideoenc"
+mjpeg_decoder_select="blockdsp hpeldsp exif idctdsp jpegtables"
+mjpeg_encoder_select="aandcttables jpegtables mpegvideoenc"
mjpegb_decoder_select="mjpeg_decoder"
mlp_decoder_select="mlp_parser"
motionpixels_decoder_select="bswapdsp"
h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
h264_dxva2_hwaccel_deps="dxva2"
h264_dxva2_hwaccel_select="h264_decoder"
+h264_mmal_decoder_deps="mmal"
+h264_mmal_hwaccel_deps="mmal"
+h264_mmal_decoder_select="h264_decoder"
+h264_mmal_encoder_deps="mmal"
h264_qsv_hwaccel_deps="libmfx"
h264_vaapi_hwaccel_deps="vaapi"
h264_vaapi_hwaccel_select="h264_decoder"
mpeg4video_parser_select="error_resilience h263dsp mpeg_er mpegvideo qpeldsp"
vc1_parser_select="mpegvideo startcode vc1_decoder"
+# bitstream_filters
+mjpeg2jpeg_bsf_select="jpegtables"
+
# external libraries
libaacplus_encoder_deps="libaacplus"
libcelt_decoder_deps="libcelt"
opus_muxer_select="ogg_muxer"
psp_muxer_select="mov_muxer"
rtp_demuxer_select="sdp_demuxer"
-rtpdec_select="asf_demuxer rm_demuxer rtp_protocol mpegts_demuxer mov_demuxer"
+rtpdec_select="asf_demuxer jpegtables mov_demuxer mpegts_demuxer rm_demuxer rtp_protocol"
rtsp_demuxer_select="http_protocol rtpdec"
rtsp_muxer_select="rtp_muxer http_protocol rtp_protocol rtpenc_chain"
sap_demuxer_select="sdp_demuxer"
# examples
avio_reading="avformat avcodec avutil"
+avio_list_dir="avformat avutil"
avcodec_example_deps="avcodec avutil"
decoding_encoding_example_deps="avcodec avformat avutil"
demuxing_decoding_example_deps="avcodec avformat avutil"
enable safe_bitstream_reader
enable static
enable swscale_alpha
+enable valgrind_backtrace
sws_max_filter_size_default=256
set_default sws_max_filter_size
case $cpu in
24kc)
+ disable mips32r5
+ disable mips64r6
disable mipsfpu
disable mipsdspr1
disable mipsdspr2
+ disable msa
;;
24kf*)
+ disable mips32r5
+ disable mips64r6
disable mipsdspr1
disable mipsdspr2
+ disable msa
;;
24kec|34kc|1004kc)
+ disable mips32r5
+ disable mips64r6
disable mipsfpu
disable mipsdspr2
+ disable msa
;;
24kef*|34kf*|1004kf*)
+ disable mips32r5
+ disable mips64r6
disable mipsdspr2
+ disable msa
;;
74kc)
+ disable mips32r5
+ disable mips64r6
disable mipsfpu
+ disable msa
+ ;;
+ 74kf)
+ disable mips32r5
+ disable mips64r6
+ disable msa
+ ;;
+ p5600)
+ disable mips64r6
+ disable mipsdspr1
+ disable mipsdspr2
+
+ check_cflags "-mtune=p5600"
+ ;;
+ i6400)
+ disable mips32r5
+ disable mipsdspr1
+ disable mipsdspr2
+ disable mipsfpu
+
+ check_cflags "-mtune=i6400 -mabi=64"
+ check_ldflags "-mabi=64"
+ ;;
+ generic)
+ disable mips32r5
+ disable mips64r6
+ disable msa
;;
esac
elif enabled mips64 && enabled mipsfpu; then
add_cflags "-mips64"
add_asflags "-mips64"
- elif enabled mipsfpu || enabled mipsdspr1 || enabled mipsdspr2; then
- add_cflags "-mips32r2"
- add_asflags "-mips32r2"
+ elif enabled mipsdspr1 || enabled mipsdspr2; then
+ add_cflags "-mips32r2 -mfp32"
+ add_asflags "-mips32r2 -mfp32"
+ elif enabled mips32r5 || enabled mips64r6; then
+ check_cflags "-mfp64"
+ check_ldflags "-mfp64"
fi
+ enabled mips32r5 && check_cflags "-mips32r5 -msched-weight -mload-store-pairs -funroll-loops" &&
+ check_ldflags "-mips32r5" &&
+ check_inline_asm mips32r5 '"ulw $t0, ($t1)"'
+ enabled mips64r6 && check_cflags "-mips64r6 -msched-weight -mload-store-pairs -funroll-loops" &&
+ check_ldflags "-mips64r6" &&
+ check_inline_asm mips64r6 '"aui $t0, $t1, 1"'
enabled mipsdspr1 && add_cflags "-mdsp" && add_asflags "-mdsp" &&
check_inline_asm mipsdspr1 '"addu.qb $t0, $t1, $t2"'
enabled mipsdspr2 && add_cflags "-mdspr2" && add_asflags "-mdspr2" &&
check_inline_asm mipsdspr2 '"absq_s.qb $t0, $t1"'
enabled mipsfpu && add_cflags "-mhard-float" && add_asflags "-mhard-float" &&
check_inline_asm mipsfpu '"madd.d $f0, $f2, $f4, $f6"'
+ enabled msa && check_cflags "-mmsa" && check_ldflags "-mmsa" &&
+ check_inline_asm msa '"addvi.b $w0, $w1, 1"'
+
+ enabled mips32r5 && add_asflags "-mips32r5 -mfp64"
+ enabled mips64r6 && add_asflags "-mips64r6 -mfp64"
+ enabled msa && add_asflags "-mmsa"
elif enabled parisc; then
check_header sys/un.h
check_header termios.h
check_header unistd.h
+check_header valgrind/valgrind.h
check_header vdpau/vdpau.h
check_header vdpau/vdpau_x11.h
check_header VideoDecodeAcceleration/VDADecoder.h
{ check_lib celt/celt.h celt_decoder_create_custom -lcelt0 ||
die "ERROR: libcelt must be installed and version must be >= 0.11.0."; }
enabled libcaca && require_pkg_config caca caca.h caca_create_canvas
-enabled libdcadec && require libdcadec libdcadec/dca_context.h dcadec_context_create -ldcadec
+enabled libdcadec && require_pkg_config dcadec libdcadec/dca_context.h dcadec_context_create
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
enabled libfdk_aac && require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac
flite_libs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite"
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
enabled libzmq && require_pkg_config libzmq zmq.h zmq_ctx_new
enabled libzvbi && require libzvbi libzvbi.h vbi_decoder_new -lzvbi
+enabled mmal && { check_lib interface/mmal/mmal.h mmal_port_connect -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host ||
+ { ! enabled cross_compile && {
+ add_cflags -isystem/opt/vc/include/ -isystem/opt/vc/include/interface/vmcs_host/linux -isystem/opt/vc/include/interface/vcos/pthreads -fgnu89-inline ;
+ add_extralibs -L/opt/vc/lib/ -lmmal_core -lmmal_util -lmmal_vc_client -lbcm_host ;
+ check_lib interface/mmal/mmal.h mmal_port_connect ; }
+ check_lib interface/mmal/mmal.h mmal_port_connect ; } ||
+ die "ERROR: mmal not found"; }
enabled nvenc && { check_header nvEncodeAPI.h || die "ERROR: nvEncodeAPI.h not found."; } &&
{ check_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 5" ||
die "ERROR: NVENC API version 4 or older is not supported"; } &&
fi
if enabled mips; then
echo "MIPS FPU enabled ${mipsfpu-no}"
+ echo "MIPS32R5 enabled ${mips32r5-no}"
+ echo "MIPS64R6 enabled ${mips64r6-no}"
echo "MIPS DSP R1 enabled ${mipsdspr1-no}"
echo "MIPS DSP R2 enabled ${mipsdspr2-no}"
+ echo "MIPS MSA enabled ${msa-no}"
fi
if enabled ppc; then
echo "AltiVec enabled ${altivec-no}"