Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#340 closed defect (fixed)

VAAPI and VDPAU are enabled by default

Reported by: llogan Owned by:
Priority: normal Component: build system
Version: git-master Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


With current Git head a7d3a51 VAAPI and VDPAU appear to be enabled by default. I assumed they were disabled by default due to the existence of --enable-vaapi and --enable-vdpau (which make the same configure output if enabled) and because of e8f6bd4.

$ ./configure 
install prefix            /usr/local
source path               .
C compiler                gcc
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     no
yasm                      yes
MMX enabled               yes
MMX2 enabled              yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AVX enabled               yes
CMOV enabled              yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
debug symbols             yes
strip symbols             yes
optimize for size         no
optimizations             yes
static                    yes
shared                    no
postprocessing support    no
new filter support        yes
network support           yes
threading support         pthreads
SDL support               yes
Sun medialib support      no
libdxva2 enabled          no
libva enabled             yes
libvdpau enabled          yes
AVISynth enabled          no
libcelt enabled           no
frei0r enabled            no
libdc1394 support         no
libdirac enabled          no
libfaac enabled           no
libgsm enabled            no
libmp3lame enabled        no
libnut enabled            no
libopencore-amrnb support no
libopencore-amrwb support no
libopencv support         no
libopenjpeg enabled       no
librtmp enabled           no
libschroedinger enabled   no
libspeex enabled          no
libtheora enabled         no
libvo-aacenc support      no
libvo-amrwbenc support    no
libvorbis enabled         no
libvpx enabled            no
libx264 enabled           no
libxavs enabled           no
libxvid enabled           no
openal enabled            no
zlib enabled              yes
bzlib enabled             yes

Enabled decoders:
aac			dpx			mp3adu
aac_latm		dsicinaudio		mp3adufloat
aasc			dsicinvideo		mp3float
ac3			dvbsub			mp3on4
adpcm_4xm		dvdsub			mp3on4float
adpcm_adx		dvvideo			mpc7
adpcm_ct		dxa			mpc8
adpcm_ea		eac3			mpeg1_vdpau
adpcm_ea_maxis_xa	eacmv			mpeg1video
adpcm_ea_r1		eamad			mpeg2video
adpcm_ea_r2		eatgq			mpeg4
adpcm_ea_r3		eatgv			mpeg4_vdpau
adpcm_ea_xas		eatqi			mpeg_vdpau
adpcm_g722		eightbps		mpeg_xvmc
adpcm_g726		eightsvx_exp		mpegvideo
adpcm_ima_amv		eightsvx_fib		msmpeg4v1
adpcm_ima_dk3		eightsvx_raw		msmpeg4v2
adpcm_ima_dk4		escape124		msmpeg4v3
adpcm_ima_ea_eacs	ffv1			msrle
adpcm_ima_ea_sead	ffvhuff			msvideo1
adpcm_ima_iss		flac			mszh
adpcm_ima_qt		flashsv			mxpeg
adpcm_ima_smjpeg	flic			nellymoser
adpcm_ima_wav		flv			nuv
adpcm_ima_ws		fourxm			pam
adpcm_ms		fraps			pbm
adpcm_sbpro_2		frwu			pcm_alaw
adpcm_sbpro_3		gif			pcm_bluray
adpcm_sbpro_4		gsm			pcm_dvd
adpcm_swf		gsm_ms			pcm_f32be
adpcm_thp		h261			pcm_f32le
adpcm_xa		h263			pcm_f64be
adpcm_yamaha		h263i			pcm_f64le
alac			h264			pcm_lxf
als			h264_vdpau		pcm_mulaw
amrnb			huffyuv			pcm_s16be
amrwb			idcin			pcm_s16le
amv			iff_byterun1		pcm_s16le_planar
anm			iff_ilbm		pcm_s24be
ansi			imc			pcm_s24daud
ape			indeo2			pcm_s24le
ass			indeo3			pcm_s32be
asv1			indeo5			pcm_s32le
asv2			interplay_dpcm		pcm_s8
atrac1			interplay_video		pcm_u16be
atrac3			jpeg2000		pcm_u16le
aura			jpegls			pcm_u24be
aura2			jv			pcm_u24le
avs			kgv1			pcm_u32be
bethsoftvid		kmvc			pcm_u32le
bfi			lagarith		pcm_u8
bink			loco			pcm_zork
binkaudio_dct		mace3			pcx
binkaudio_rdft		mace6			pgm
bmp			mdec			pgmyuv
c93			mimic			pgssub
cavs			mjpeg			pictor
cdgraphics		mjpegb			png
cinepak			mlp			ppm
cljr			mmvideo			ptx
cook			motionpixels		qcelp
cscd			mp1			qdm2
cyuv			mp1float		qdraw
dca			mp2			qpeg
dfa			mp2float		qtrle
dnxhd			mp3			r10k
r210			svq3			vp3
ra_144			targa			vp5
ra_288			theora			vp6
rawvideo		thp			vp6a
rl2			tiertexseqvideo		vp6f
roq			tiff			vp8
roq_dpcm		tmv			vqa
rpza			truehd			wavpack
rv10			truemotion1		wmapro
rv20			truemotion2		wmav1
rv30			truespeech		wmav2
rv40			tscc			wmavoice
s302m			tta			wmv1
sgi			twinvq			wmv2
shorten			txd			wmv3
sipr			ulti			wmv3_vdpau
smackaud		v210			wnv1
smacker			v210x			ws_snd1
smc			vb			xan_dpcm
snow			vc1			xan_wc3
sol_dpcm		vc1_vdpau		xan_wc4
sonic			vcr1			xl
sp5x			vmdaudio		xsub
srt			vmdvideo		yop
sunrast			vmnc			zlib
svq1			vorbis			zmbv

Enabled encoders:
a64multi		h263			pcm_u32be
a64multi5		h263p			pcm_u32le
aac			huffyuv			pcm_u8
ac3			jpegls			pcm_zork
ac3_fixed		ljpeg			pcx
ac3_float		mjpeg			pgm
adpcm_adx		mp2			pgmyuv
adpcm_g722		mpeg1video		png
adpcm_g726		mpeg2video		ppm
adpcm_ima_qt		mpeg4			qtrle
adpcm_ima_wav		msmpeg4v2		ra_144
adpcm_ms		msmpeg4v3		rawvideo
adpcm_swf		msvideo1		roq
adpcm_yamaha		nellymoser		roq_dpcm
alac			pam			rv10
ass			pbm			rv20
asv1			pcm_alaw		sgi
asv2			pcm_f32be		snow
bmp			pcm_f32le		sonic
dca			pcm_f64be		sonic_ls
dnxhd			pcm_f64le		srt
dpx			pcm_mulaw		svq1
dvbsub			pcm_s16be		targa
dvdsub			pcm_s16le		tiff
dvvideo			pcm_s24be		v210
eac3			pcm_s24daud		vorbis
ffv1			pcm_s24le		wmav1
ffvhuff			pcm_s32be		wmav2
flac			pcm_s32le		wmv1
flashsv			pcm_s8			wmv2
flashsv2		pcm_u16be		xsub
flv			pcm_u16le		zlib
gif			pcm_u24be		zmbv
h261			pcm_u24le

Enabled hwaccels:
h263_vaapi		mpeg2_vaapi		vc1_vaapi
h264_vaapi		mpeg2_vdpau		wmv3_vaapi
mpeg1_vdpau		mpeg4_vaapi

Enabled parsers:
aac			dvdsub			mpeg4video
aac_latm		flac			mpegaudio
ac3			h261			mpegvideo
cavsvideo		h263			pnm
dca			h264			vc1
dirac			mjpeg			vp3
dnxhd			mlp			vp8

Enabled demuxers:
aac			ipmovie			pcm_u32be
ac3			iss			pcm_u32le
aea			iv8			pcm_u8
aiff			ivf			pmp
amr			jv			pva
anm			lmlm4			qcp
apc			lxf			r3d
ape			m4v			rawvideo
applehttp		matroska		rl2
asf			microdvd		rm
ass			mjpeg			roq
au			mlp			rpl
avi			mm			rso
avs			mmf			rtp
bethsoftvid		mov			rtsp
bfi			mp3			sap
bink			mpc			sdp
c93			mpc8			segafilm
caf			mpegps			shorten
cavsvideo		mpegts			siff
cdg			mpegtsraw		smacker
daud			mpegvideo		sol
dfa			msnwc_tcp		sox
dirac			mtv			spdif
dnxhd			mvi			srt
dsicin			mxf			str
dts			mxg			swf
dv			nc			thp
dxa			nsv			tiertexseq
ea			nut			tmv
ea_cdata		nuv			truehd
eac3			ogg			tta
ffm			oma			tty
ffmetadata		pcm_alaw		txd
filmstrip		pcm_f32be		vc1
flac			pcm_f32le		vc1t
flic			pcm_f64be		vmd
flv			pcm_f64le		voc
fourxm			pcm_mulaw		vqf
g722			pcm_s16be		w64
gsm			pcm_s16le		wav
gxf			pcm_s24be		wc3
h261			pcm_s24le		wsaud
h263			pcm_s32be		wsvqa
h264			pcm_s32le		wtv
idcin			pcm_s8			wv
iff			pcm_u16be		xa
image2			pcm_u16le		xwma
image2pipe		pcm_u24be		yop
ingenient		pcm_u24le		yuv4mpegpipe

Enabled muxers:
a64			ipod			pcm_s16be
ac3			ivf			pcm_s16le
adts			m4v			pcm_s24be
aiff			matroska		pcm_s24le
amr			matroska_audio		pcm_s32be
asf			md5			pcm_s32le
asf_stream		microdvd		pcm_s8
ass			mjpeg			pcm_u16be
au			mlp			pcm_u16le
avi			mmf			pcm_u24be
avm2			mov			pcm_u24le
caf			mp2			pcm_u32be
cavsvideo		mp3			pcm_u32le
crc			mp4			pcm_u8
daud			mpeg1system		psp
dirac			mpeg1vcd		rawvideo
dnxhd			mpeg1video		rm
dts			mpeg2dvd		roq
dv			mpeg2svcd		rso
eac3			mpeg2video		rtp
ffm			mpeg2vob		rtsp
ffmetadata		mpegts			sap
filmstrip		mpjpeg			sox
flac			mxf			spdif
flv			mxf_d10			srt
framecrc		null			swf
framemd5		nut			tg2
g722			ogg			tgp
gif			pcm_alaw		truehd
gxf			pcm_f32be		vc1t
h261			pcm_f32le		voc
h263			pcm_f64be		wav
h264			pcm_f64le		webm
image2			pcm_mulaw		yuv4mpegpipe

Enabled protocols:
applehttp		md5			rtmps
concat			mmsh			rtmpt
crypto			mmst			rtmpte
file			pipe			rtp
gopher			rtmp			tcp
http			rtmpe			udp

Enabled filters:
anull			hflip			scale
anullsink		lut			select
anullsrc		lutrgb			setdar
buffer			lutyuv			setpts
buffersink		movie			setsar
color			negate			settb
copy			noformat		showinfo
crop			null			slicify
drawbox			nullsink		split
fade			nullsrc			testsrc
fieldorder		overlay			transpose
fifo			pad			unsharp
format			pixdesctest		vflip

Enabled bsfs:
aac_adtstoasc		mjpeg2jpeg		mp3_header_decompress
chomp			mjpega_dump_header	noise
dump_extradata		mov2textsub		remove_extradata
h264_mp4toannexb	mp3_header_compress	text2movsub

Enabled indevs:
alsa			fbdev			oss
dv1394			jack			v4l2

Enabled outdevs:
alsa			oss			sdl

License: LGPL version 2.1 or later

Change History (3)

comment:1 Changed 5 years ago by cehoyos

  • Component changed from undetermined to build system
  • Resolution set to fixed
  • Status changed from new to closed

I tested the 0.6, 0.7 and 0.8 release branches and both VA-API and VDPAU were always auto-detected.
The reason is that they are system libraries like zlib and bzlib (which are also auto-detected). If you have strong reasons why this behaviour should be changed, I suggest you send a patch to ffmpeg-devel. (I believe I was originally against auto-detecting VDPAU, but I am also against changing behaviour.)

I tried to fix configure --help output (for VA-API and VDPAU, it now looks identical to zlib and bzlib documentation). If you find it completely uncomprehensive, please say so.

comment:2 Changed 5 years ago by llogan

Thanks. Your commit clarifies this behavior.

comment:3 Changed 5 years ago by reimar

Note that I think your explanation is not quite correct. To my knowledge FFmpeg does not use any libvdpa/libva code, in only needs the struct definitions from the headers.
Thus enabling it does not cause any extra runtime dependencies, and the amount of extra code is quite minimal. As such there is no good reason at all to not enable them if possible (i.e. headers are available).

Note: See TracTickets for help on using tickets.