#762 closed defect (fixed)
ff_vdpau* symbols are missing in libavocdec shared library
Reported by: | marillat | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | build system |
Version: | git-master | Keywords: | vdpau |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | yes |
Description
Hi,
Context : Debian unstable ffmpeg git 484b1cdd5303771447e15d0067a2034b0c17fdc8
same problem in 0.9 but not in 0.8.7
Build with only --enable-shared
At least all ff_vdpau* symbols are gone :
objdump -T libavcodec/libavcodec.so.53 | grep ff_vdpau
return nothing.
Christian
Change History (6)
follow-up: 2 comment:1 by , 13 years ago
Keywords: | vdpau added |
---|---|
Version: | unspecified → git-master |
follow-up: 3 comment:2 by , 13 years ago
Replying to cehoyos:
Why should they be exported?
(They do not show up in libavcodec/vdpau.h and I believe they are intended only to be used internally by the decoders.)
I don't understand because up to now these functions was in libavcodec53 (confirmed in 0.8.7) and XBMC check for ff_vdpau_vc1_decode_picture() in libavcodec to detect if VDPAU is enabled or not.
Then what is the best way to detect VDPAU presence in libavcodec ?
comment:3 by , 13 years ago
Analyzed by developer: | set |
---|---|
Status: | new → open |
Replying to marillat:
Replying to cehoyos:
Why should they be exported?
(They do not show up in libavcodec/vdpau.h and I believe they are intended only to be used internally by the decoders.)
I don't understand because up to now these functions was in libavcodec53 (confirmed in 0.8.7)
Since the function does not appear in any installed header, I don't think this is a good argument.
and XBMC check for ff_vdpau_vc1_decode_picture() in libavcodec to detect if VDPAU is enabled or not.
Untested patch sent to ffmpeg-devel.
Then what is the best way to detect VDPAU presence in libavcodec ?
Why is it tested in configure at all?
After all, you can configure libavcodec with --disable-decoder=h264 and xbmc will still accept the library although it won't work as expected.
Thank you for the report!
XBMC configure:
https://github.com/xbmc/xbmc/blob/f587ca90e1c6b5fbbcb80bdc04048a4e0ca278de/configure.in#L1251
comment:4 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Should be fixed (but untested).
comment:5 by , 13 years ago
Thanks for readding the needed symbol. Don't you think a better global could be used for detection. vdapu.h does not offer any external symbol so what about:
extern int ffmpeg_vdpau_support_enabled or something like that?
comment:6 by , 13 years ago
Please explain why you believe this "detection" makes any sense?
Do you test if the h264 decoder is enabled when detecting libavcodec?
(Apart from the fact that adding a symbol would obviously mean you cannot detect older versions of libavcodec.)
Why should they be exported?
(They do not show up in libavcodec/vdpau.h and I believe they are intended only to be used internally by the decoders.)