With ffmpeg 0.4.9_p20070616-r1 it appears the behavior of it's xvid support has changed. At least with the ffmpeg command, the previous version (0.4.9_p20070330) used, e.g. "-vcodec xvid". This has now apparently changed to "-vcodec -libxvid". For the vlc player it simply will not play xvid media: [00000397] main decoder error: no suitable decoder module for fourcc `XVID'. VLC probably does not support this sound or video format. I have re-emerged vlc (0.8.6c) to resolve the issue, but it does not.
I spotted this warning when running vlc with -vv (with the affected revision of ffmpeg): [00000001] main private warning: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (/usr/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol: img_resample) Hope it helps.
(In reply to comment #1) > I spotted this warning when running vlc with -vv (with the affected revision of > ffmpeg): > [00000001] main private warning: cannot load module > `/usr/lib/vlc/codec/libffmpeg_plugin.so' > (/usr/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol: img_resample) I actually do not get that warning.
(In reply to comment #2) > (In reply to comment #1) > > I spotted this warning when running vlc with -vv (with the affected revision of > > ffmpeg): > > [00000001] main private warning: cannot load module > > `/usr/lib/vlc/codec/libffmpeg_plugin.so' > > (/usr/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol: img_resample) > > I actually do not get that warning. > I do get it and it's due to ffmpeg having swscale enabled. Are you using ffmpeg-0.4.9_p20070616-r1 ? For now only vlc svn supports ffmpeg with swscale with some hacks. There is something I don't understand in ffmpeg's code : in avcodec.h : #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0) [...] attribute_deprecated void img_resample(ImgReSampleContext *s, AVPicture *output, const AVPicture *input); Thus, since the version is lower, it tells that img_resample is present, however : in libavcodec/Makefile ifneq ($(CONFIG_SWSCALER),yes) OBJS += imgresample.o endif same goes with img_convert, under versionned ifdefs and : #ifndef CONFIG_SWSCALER /* XXX: always use linesize. Return -1 if not supported */ int img_convert(AVPicture *dst, int dst_pix_fmt, So, as vlc builds only shared objects for its plugins, it won't fail at compile time nor link time, but when it'll try to load the plugin that has unresolvable symbols. The hack for detecting it in vlc svn is to try to link to libswscale, if found then use swscale api if not then use old img_* api... anyway, ffmpeg's way of handling that doesn't seem sane to me as when swscaler is enabled, it provides less functions than what it claims in its .h files btw, swscaler will probably break other packages at link/runtime due to this @others (esp. lu_zero): is there any better alternative ? I've seen some patches to ffmpeg on other distros repos that just build both img_* api and swsaler
(In reply to comment #3) > > I actually do not get that warning. > > > > > I do get it and it's due to ffmpeg having swscale enabled. > Are you using ffmpeg-0.4.9_p20070616-r1 ? > For now only vlc svn supports ffmpeg with swscale with some hacks. $ epm -q ffmpeg vlc ffmpeg-0.4.9_p20070616-r1 vlc-0.8.6c No, no undefined symbol warnings... I can play other codecs, it appears to only be xvid. I'll attach the output of running "vlc -vv" on a xvid-encoded avi. Totem (gstreamer) plays the same file but vlc does not.
Created attachment 123416 [details] output of "vlc -vv test7.avi" The output has been truncated because it appears to run forever (loops through the video). I think that may be do to user preference though.
(In reply to comment #5) > Created an attachment (id=123416) [edit] > output of "vlc -vv test7.avi" and what about 'vlc --reset-plugins-cache -vv test7.avi' ?
I have had the very same problem with this version of ffmpeg. Also, (In reply to comment #6) > (In reply to comment #5) > > Created an attachment (id=123416) [edit] > > output of "vlc -vv test7.avi" > > and what about 'vlc --reset-plugins-cache -vv test7.avi' ? > Same thing, except the undefined symbol here is "img_resample_init". Seems to be the same problem though. Reverting to 0.4.9_p20070616 for the moment.
*** Bug 183985 has been marked as a duplicate of this bug. ***
(In reply to comment #6) > (In reply to comment #5) > > Created an attachment (id=123416) [edit] > > output of "vlc -vv test7.avi" > > and what about 'vlc --reset-plugins-cache -vv test7.avi' ? > If I had replied to this on 30 June I would have said that "vlc --reset-plugins-cache" fixed the issue and I was able to view xvids. But today that is not the case. The only thing I can think of is that on the 1st of the month I do an automatic "emerge -e world". Today when I tried vlc again I get the following: [00000001] main private warning: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (/usr/lib/vlc/codec/libffmpeg_plugin.so: undefined symbol: img_resample_init) [00000001] main private warning: cannot load module `/usr/lib/vlc/codec/libquicktime_plugin.so' (/usr/lib/vlc/codec/libquicktime_plugin.so: undefined symbol: NewHandleClear) I tried re-emerging vlc-0.8.6c but I still get the undefineds. So now I'm in the same camp as everyone else.
Ok here's an update (and perhaps why it did work for me before): ffmpeg-0.4.9_p20070616 : works ffmpeg-0.4.9_p20070616-r1: undefined symbols
Since this version of ffmpeg is obviously gonna break a lot of packages, shouldn't be hard masked for the moment?
I have the same experience as marduk in Comment #10.
Confirmed here. I too have the same problem as Comment #10. However, even after reverting back to the older revision, I had to: rm -rf ~/.vlc
*** Bug 187029 has been marked as a duplicate of this bug. ***
*** Bug 188464 has been marked as a duplicate of this bug. ***
*** Bug 188469 has been marked as a duplicate of this bug. ***
Created attachment 127750 [details] mp4 test video file
*** Bug 189394 has been marked as a duplicate of this bug. ***
Is anybody working on this? If not might I suggest masking ffmpeg-0.4.9_p20070616-r1? This bug is getting old.
no don't mask this. this is the new interface, apps must be updated to reflect the changes have you checked vlc svn if they put any patch?
(In reply to comment #20) > no don't mask this. this is the new interface, apps must be updated to reflect > the changes imho the old interface shouldnt have been removed, just the new one added, but that's another story > have you checked vlc svn if they put any patch? Yes, I'm working on bumping a snapshot (which supports swscaler), but since vlc 0.9.0 is in developpement, I prefer making sure it will not break first.
>imho the old interface shouldnt have been removed, just the new one added, but that's another story totally agree with you, but it's OT as it's not VLC bugzilla and we have no control over it ok, Alexis i'll be happy to test on my amd64 profile. we need linphone update too. should i fill a separate bug for it?
vlc snapshot bumped for unstable users, blocking older versions cause of bug #157746 for linphone, you'll have to open a separate bug if there isn't already one