Ah OK, fair enough - so yes a bug
![Smile :)](./images/smilies/icon_smile.gif)
.
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.