Dear List,

I am compiling a stripped-down, static versions of the libraries, i.e. :

libavcodec.a libavformat.a libavutil.a libswscale.a libavfilter.a libswresample.a

and I'm "baking them in" into a custom shared-library.

All external libraries are disabled, and configure script tells me that:

---------------------
...
Enabled programs:
ffmpeg                  ffprobe                 ffserver

External libraries:

Enabled decoders:
h263                    h264                    vc1

Enabled encoders:
rawvideo

Enabled hwaccels:

Enabled parsers:
...
--------------------------

i.e., no external libraries, no hw accelerators, etc.

I link with

/usr/bin/c++ -fPIC -g -shared -Wl,-soname,libValkka.so.0 -o lib/libValkka.so.0.1.0 CMakeFiles/Valkka.dir/src/avthread.cpp.o CMakeFiles/Valkka.dir/src/opengl.cpp.o CMakeFiles/Valkka.dir/src/openglthread.cpp.o CMakeFiles/Valkka.dir/src/frames.cpp.o CMakeFiles/Valkka.dir/src/threads.cpp.o CMakeFiles/Valkka.dir/src/tools.cpp.o CMakeFiles/Valkka.dir/src/chains.cpp.o CMakeFiles/Valkka.dir/src/shaders.cpp.o CMakeFiles/Valkka.dir/src/logging.cpp.o CMakeFiles/Valkka.dir/src/live.cpp.o CMakeFiles/Valkka.dir/src/avdep.cpp.o CMakeFiles/Valkka.dir/src/queues.cpp.o CMakeFiles/Valkka.dir/src/livethread.cpp.o CMakeFiles/Valkka.dir/src/decoders.cpp.o CMakeFiles/Valkka.dir/src/filters.cpp.o -lX11 -lGLEW -lGLU -lGL -L/home/sampsa/C/valkka/lib -Wl,--allow-multiple-definition -Wl,-Bsymbolic -Wl,--start-group -Wl,--whole-archive -l:libliveMedia.a -l:libgroupsock.a -l:libBasicUsageEnvironment.a -l:libUsageEnvironment.a -l:libavfilter.a -l:libavformat.a -l:libavcodec.a -l:libavutil.a -l:libswscale.a -l:libswresample.a -Wl,--no-whole-archive -Wl,--end-group

But when creating executables

/usr/bin/c++ -g CMakeFiles/threads_test.dir/test/threads_test.cpp.o -o bin/threads_test -rdynamic -lValkka -L/home/sampsa/C/valkka/build_basic/lib /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaUnmapBuffer' /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaDestroyBuffer' /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaCreateBuffer' /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaRenderPicture' /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaMapBuffer' /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaEndPicture' /home/sampsa/C/valkka/build_basic/lib/libValkka.so: undefined reference to `vaBeginPicture

There's no freaking way to get rid of these vaapi-related symbols..! I used to be able to do this with an older (1 year+) version of the code, but now I'm getting way too much gray hair. I'm trying to do this with the git branch

origin/release/3.0

It seems they come about in the following way:

----
grep -nr "vaUnmap"

libavcodec/vaapi.c:79: vaUnmapBuffer(vactx->display, vactx->pic_param_buf_id); libavcodec/vaapi.c:83: vaUnmapBuffer(vactx->display, vactx->iq_matrix_buf_id); libavcodec/vaapi.c:88: vaUnmapBuffer(vactx->display, vactx->bitplane_buf_id);
Binary file libavcodec/vaapi.o matches
Binary file libavcodec/libavcodec.so.57 matches
Binary file libavcodec/libavcodec.a matches
-----

My own code is in cpp and in my header files I do:

------
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libavutil/log.h>
#include <libswscale/swscale.h>
}
------

Growing desperate.  Help appreciated!

Regards,

Sampsa


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to