[vlc-devel] Build latest VLC-3.0.0 with Intel qsv support (decode)

David Bokovza david.bokovza at vicon-security.com
Mon Feb 13 13:10:04 CET 2017


Hi,

We are trying to build the VLC 3.0.0 player with Intel quick sink support (decoding side).
I have configured  the FFMPEG(--enable-libmax, --enable-nonfree) library and have
Successfully compiled all 3rd party library . then compiled the VLC player for win32 but
this end with a link errors, see errors below.

Please note that  the build machine uses:

1.       Ubuntu 17.04  OS

2.       mingw-w64 cross compiler (win32/64)

3.       intel Media SDK for Linux

Please advise, Is it possible to use cross compiler to build code for windows while the installed SDK is
For Linux ?  How problem can be solved?

make[4]: Entering directory '/home/david/projects_vlc3/vlc_080217/win32/modules'
  CCLD     libavcodec_plugin.la
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvdec.o): In function `qsv_decode':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:314: undefined reference to `MFXVideoDECODE_DecodeFrameAsync'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:368: undefined reference to `MFXVideoCORE_SyncOperation'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvdec.o): In function `ff_qsv_decode_close':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:413: undefined reference to `MFXVideoDECODE_Close'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:439: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvdec.o): In function `qsv_init_session':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:83: undefined reference to `MFXVideoDECODE_Close'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvdec.o): In function `qsv_decode_init':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:178: undefined reference to `MFXVideoDECODE_Init'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvdec.o): In function `qsv_init_session':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvdec.c:53: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvenc.o): In function `qsv_retrieve_enc_params':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:602: undefined reference to `MFXVideoENCODE_GetVideoParam'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvenc.o): In function `rc_supported':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:349: undefined reference to `MFXVideoENCODE_Query'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvenc.o): In function `ff_qsv_enc_init':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:753: undefined reference to `MFXVideoENCODE_QueryIOSurf'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:793: undefined reference to `MFXVideoENCODE_Init'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvenc.o): In function `encode_frame':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:983: undefined reference to `MFXVideoENCODE_EncodeFrameAsync'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvenc.o): In function `ff_qsv_encode':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:1035: undefined reference to `MFXVideoCORE_SyncOperation'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsvenc.o): In function `ff_qsv_enc_close':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:1089: undefined reference to `MFXVideoENCODE_Close'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsvenc.c:1091: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsv.o): In function `qsv_load_plugins':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:223: undefined reference to `MFXVideoUSER_Load'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsv.o): In function `ff_qsv_init_internal_session':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:253: undefined reference to `MFXInit'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:264: undefined reference to `MFXQueryIMPL'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavcodec.a(qsv.o): In function `ff_qsv_init_session_hwcontext':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:570: undefined reference to `MFXQueryIMPL'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:572: undefined reference to `MFXQueryVersion'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:578: undefined reference to `MFXVideoCORE_GetHandle'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:590: undefined reference to `MFXInit'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:596: undefined reference to `MFXVideoCORE_SetHandle'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavcodec/qsv.c:619: undefined reference to `MFXVideoCORE_SetFrameAllocator'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_frames_uninit':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:136: undefined reference to `MFXVideoVPP_Close'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:137: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:142: undefined reference to `MFXVideoVPP_Close'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:143: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_device_free':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:757: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_init_internal_session':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:406: undefined reference to `MFXInit'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:413: undefined reference to `MFXVideoCORE_SetHandle'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:420: undefined reference to `MFXVideoCORE_SetFrameAllocator'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:451: undefined reference to `MFXVideoVPP_Init'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:455: undefined reference to `MFXClose'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_device_init':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:106: undefined reference to `MFXVideoCORE_GetHandle'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:120: undefined reference to `MFXQueryIMPL'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:122: undefined reference to `MFXQueryVersion'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_device_create':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:848: undefined reference to `MFXInit'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:854: undefined reference to `MFXVideoCORE_SetHandle'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_transfer_data_from':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:658: undefined reference to `MFXVideoVPP_RunFrameVPPAsync'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:669: undefined reference to `MFXVideoCORE_SyncOperation'
/home/david/projects_vlc3/vlc_080217/contrib/i686-w64-mingw32/lib/libavutil.a(hwcontext_qsv.o): In function `qsv_transfer_data_to':
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:705: undefined reference to `MFXVideoVPP_RunFrameVPPAsync'
/home/david/projects_vlc3/vlc_080217/contrib/win32/ffmpeg/libavutil/hwcontext_qsv.c:716: undefined reference to `MFXVideoCORE_SyncOperation'
collect2: error: ld returned 1 exit status
Makefile:10813: recipe for target 'libavcodec_plugin.la' failed
make[4]: *** [libavcodec_plugin.la] Error 1
make[4]: Leaving directory '/home/david/projects_vlc3/vlc_080217/win32/modules'
Makefile:20637: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/david/projects_vlc3/vlc_080217/win32/modules'
Makefile:8869: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/david/projects_vlc3/vlc_080217/win32/modules'
Makefile:2151: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/david/projects_vlc3/vlc_080217/win32'
Makefile:2036: recipe for target 'all' failed
make: *** [all] Error 2

Best Regards
David


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20170213/4711c974/attachment.html>


More information about the vlc-devel mailing list