Page 1 of 1

VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 02:14
by mrbadguy86
Hello,

Since I use VLC 2.0.3 I have a problem in the visualization of the subititles added to an avi in DivXs.
They appear "stripped", an example of what I see is this:
Image

With VLC 1 the subtitles worked normally, as if I watch the DivX with another device (Divx player, videogame console, etc.).

Could you help me? What could be the problem?

Thank You!

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 03:10
by Arite
Are they hard-coded subtitles (i.e. part of the video)? If so do you have deinterlacing enabled?

Arite.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 03:27
by Jean-Baptiste Kempf
No, they are not.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 08:43
by mrbadguy86
No, they are part of the DivX file but they are not hard coded, I can choose wheter activate them or not.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 11:54
by solazy
Hi all,
The same issue has been reported in another post :
viewtopic.php?f=14&t=103943#p351814

Maybe the file "test.divx" (226 Ko only) found in the other topic will help Vlc programmers.
Good luck guys.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 19:33
by Arite
Ah OK, fair enough - so yes a bug :).

Interestingly VLC 1.1.11 performs a blend filter on a subtitle, whereas VLC 2.0.3 just treats it as a normal OSD texture.

VLC 1.1.11 (from enabling XSUB subtitle to EOF):

Code: Select all

main debug: looking for decoder module: 34 candidates avcodec debug: libavcodec already initialized avcodec debug: ffmpeg codec (DivX XSUB subtitles) started main debug: using decoder module "avcodec" main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms) freetype debug: using fontsize: 27 main debug: thread (decoder) created at priority 0 (../.././src/input/decoder.c:301) main debug: thread started avi debug: old:0 < new 3750000 main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: RGBA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: removing module "blend" main debug: looking for video blending module: 1 candidate blend debug: chroma: YUVA -> I420 main debug: using video blending module "blend" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) avi warning: cannot get packet header, track disabled main debug: EOF reached
VLC 2.0.3 (from point of enabling XSUB to EOF):

Code: Select all

main debug: looking for decoder module: 31 candidates avcodec debug: libavcodec already initialized avcodec debug: ffmpeg codec (DivX XSUB subtitles) started main debug: using decoder module "avcodec" main debug: TIMER module_need() : 3.659 ms - Total 3.659 ms / 1 intvls (Avg 3.659 ms) avi debug: old:0 < new 2100000 main warning: original picture size is undefined direct3d debug: Created 84x36 texture for OSD direct3d debug: Created 352x29 texture for OSD main warning: original picture size is undefined direct3d debug: Created 120x36 texture for OSD avi warning: cannot get packet header, track disabled main debug: EOF reached
The latest VLC 2.1.0-git appears the same as 2.0.3 except direct3d debug states that the OSD texture is being reused.

EDIT: Actually I think I confused the "blend" video filter with the "blend" deinterlacing filter. I believe blend is the filter used to blend the subtitle onto the video; something no longer needed after the vout rework.

Arite.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 20:42
by mrbadguy86
Too technical for me :mrgreen:

It's a bug, then do we just need to wait a new version?

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 22:14
by Arite
As I edited above I think I was wrong as I confused the blend filter with the blend deinterlacing filter, so the messages posting is probably of no use. Plus according to the trac ticket (link below) they worked correctly in 2.0.1.
It's a bug, then do we just need to wait a new version?
Well it needs to be fixed first :P. There is a trac ticket open here:
https://trac.videolan.org/vlc/ticket/7426

jb says it may be a libavcodec regression, so might not be VLC related. Anyhow, you could keep an eye on the ticket as when fixed it's status should change.

Arite.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 23:14
by Jean-Baptiste Kempf
I can't see a way to fix it... Crap.

Re: VLC 2 DiVX subtitles problem

Posted: 13 Sep 2012 23:32
by mrbadguy86
ok thank you, how can I download VLC 2.0.1?

Re: VLC 2 DiVX subtitles problem

Posted: 14 Sep 2012 00:05
by Arite
I can't see a way to fix it... Crap.
Can I help at all? VLC 2.0.1 works fine, seemed to be introduced before 2.0.2.

EDIT: Actually 2.0.2 seems to work fine too (may have had an old branch nightly build or something).
ok thank you, how can I download VLC 2.0.1?
Win32 builds here:
http://download.videolan.org/pub/vlc/2.0.1/win32/

Get the *.exe if you want to replace 2.0.3, other just get *.zip or *.7z if you want to extract and run it from a folder.

Arite.

Re: VLC 2 DiVX subtitles problem

Posted: 14 Sep 2012 00:41
by Jean-Baptiste Kempf
I can't see a way to fix it... Crap.
Can I help at all? VLC 2.0.1 works fine, seemed to be introduced before 2.0.2.
Trying 2.0.2 with 2.0.1 libswscale would help.

Re: VLC 2 DiVX subtitles problem

Posted: 14 Sep 2012 02:23
by Arite
No change replacing libswscale :(. Replacing libavcodec worked however.

BTW I downloaded 2.0.2 again and it seems to work too... so possible I had a nightly branch build or something. The final release (*.7z archive) of 2.0.2 seems to work fine anyway.

Replacing libavcodec_plugin.dll in VLC 2.0.3 with either the one from 2.0.1 or 2.0.2 seems to fix the issue.

EDIT: Interestingly the latest Win64 nightly works fine. The latest Win32 nightly doesn't though.

Arite.

Re: VLC 2 DiVX subtitles problem

Posted: 14 Sep 2012 22:07
by Jean-Baptiste Kempf
Probably a libavcodec regression then :)

Re: VLC 2 DiVX subtitles problem

Posted: 26 Sep 2012 12:14
by Jean-Baptiste Kempf
This will be fixed in 2.0.4.