Page 1 of 1
Graphic bug with the Video window of a skin
Posted: 07 Dec 2009 07:58
by xan2622
Hello.
I notice a graphic bug when I open a video file. It happens with the Video window borders..
Here is a screenshot :
http://img707.imageshack.us/img707/7583 ... tre1gl.png
Here is the skin (still in progress) :
viewtopic.php?f=15&t=15831&p=228851#p228851
Re: Graphic bug with the Video window of a skin
Posted: 07 Dec 2009 13:15
by erwan10
I experienced this very problem on Linux with some ffmpeg svn version a while ago. It seems the libswscale library that scales bitmaps to fit a given window frame fails to do the job. If so, 'vlc --verbose 2' should be helpful
But, whether on Linux (latest git for vlc and svn for ffmpeg) or on Windows (official vlc1.0.3), this problem doesn't show up any more.
Please, can you describe your config (OS, version, ..) and check logs with verbosity = 2 ?
Erwan10
Re: Graphic bug with the Video window of a skin
Posted: 07 Dec 2009 18:51
by xan2622
My computer :
AMD Phenom II x4 965 (3.40 Ghz)
6 Gb of DDR3
ATI Radeon 4890 1 Gb
Windows 7 64 bits
VLC 1.0.3 (official)
and it happens too with VLC-1.0.4-rc-20091206-0202
Here is the log (verbose = 2) :
Code: Select all
main debug: adding item `Coeur de pirate feat Julien Doré - Pour un infidèle.flv' ( D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv )
main debug: rebuilding array of current - root Liste de lecture
main debug: rebuild done - 1 items, index -1
main debug: processing request item Coeur de pirate feat Julien Doré - Pour un infidèle.flv node null skip 0
main debug: resyncing on Coeur de pirate feat Julien Doré - Pour un infidèle.flv
main debug: Coeur de pirate feat Julien Doré - Pour un infidèle.flv is at 0
main debug: starting new item
main debug: creating new input thread
main debug: Creating an input for 'Coeur de pirate feat Julien Doré - Pour un infidèle.flv'
qt4 debug: Adding a new MRL to recent ones: D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv
main debug: thread (input) created at priority 1 (../.././src/input/input.c:230)
main debug: thread started
main debug: using timeshift granularity of 50 MBytes
main debug: using timeshift path 'C:\Users\user01\AppData\Local\Temp'
main debug: `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' gives access `' demux `' path `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv'
main debug: creating demux: access='' demux='' path='D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv'
main debug: looking for access_demux module: 3 candidates
qt4 debug: IM: Setting an input
qt4 debug: IM: Deleting the input
qt4 debug: IM: Setting an input
skins2 warning: cannot find node with id -1
dvdnav warning: cannot open dvdnav
main debug: TIMER module_need() : 72.000 ms - Total 72.000 ms / 1 intvls (Avg 72.000 ms)
main debug: creating access '' path='D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv'
main debug: looking for access module: 5 candidates
vcd debug: trying .cue file: D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Dor� - Pour un infid�le.cue
vcd debug: could not find .cue file
access_file debug: opening file `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv'
main debug: using access module "access_file"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: Using AStream*Stream
main debug: pre buffering
main debug: received first data after 0 ms
main debug: pre-buffering done 1024 bytes in 0s - 1000000 kbytes/s
main debug: looking for stream_filter module: 2 candidates
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: looking for stream_filter module: 1 candidate
main debug: using stream_filter module "stream_filter_record"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: creating demux: access='' demux='' path='D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv'
main debug: looking for demux module: 50 candidates
lua debug: Trying Lua scripts in C:\Users\user01\AppData\Roaming\vlc\lua\playlist
lua debug: Trying Lua scripts in C:\Program Files (x86)\vlc-1.0.3\\lua\playlist
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\anevia_streams.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\appletrailers.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\bbc_co_uk.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\break.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\canalplus.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\cue.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\dailymotion.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\france2.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\googlevideo.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\joox.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\koreus.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\lelombrik.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\megavideo.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\metacafe.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\mpora.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\vimeo.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\youtube.lua
lua debug: Trying Lua playlist script C:\Program Files (x86)\vlc-1.0.3\\lua\playlist\youtube_homepage.lua
lua debug: Trying Lua scripts in C:\Program Files (x86)\vlc-1.0.3\\share\lua\playlist
avformat debug: detected format: flv
main debug: selecting program id=0
avformat debug: adding es: video codec = h264
avformat debug: adding es: audio codec = mp4a
avformat debug: AVFormat supported stream
avformat debug: - format = flv (FLV format)
avformat debug: - start time = 0
avformat debug: - duration = 162563000
main debug: using demux module "avformat"
main debug: TIMER module_need() : 1105.000 ms - Total 1105.000 ms / 1 intvls (Avg 1105.000 ms)
main debug: looking for a subtitle file in D:\backup\gravure_wip\clips\
main debug: looking for decoder module: 36 candidates
avcodec debug: libavcodec initialized (interface 0x341e02)
avcodec debug: ffmpeg codec (H264 - MPEG-4 AVC (part 10)) started
main debug: using decoder module "avcodec"
main debug: TIMER module_need() : 650.000 ms - Total 650.000 ms / 1 intvls (Avg 650.000 ms)
main debug: thread (decoder) created at priority 0 (../.././src/input/decoder.c:315)
main debug: thread started
main debug: looking for decoder module: 36 candidates
main debug: using decoder module "faad"
main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms)
main debug: thread (decoder) created at priority 2 (../.././src/input/decoder.c:315)
main debug: thread started
main debug: looking for meta reader module: 1 candidate
main debug: TIMER module_need() : 75.000 ms - Total 75.000 ms / 1 intvls (Avg 75.000 ms)
main debug: `D:\backup\gravure_wip\clips\Coeur de pirate feat Julien Doré - Pour un infidèle.flv' successfully opened
main debug: Buffering 0%
main debug: Buffering 7%
main debug: Buffering 15%
main debug: Buffering 23%
main debug: Buffering 31%
main debug: Buffering 38%
main debug: Buffering 46%
main debug: Buffering 54%
main debug: Buffering 62%
main debug: Buffering 69%
main debug: Buffering 77%
main debug: Buffering 85%
main debug: Buffering 93%
main debug: Stream buffering done (302 ms in 0 ms)
faad warning: decoded zero sample
main debug: creating aout
main debug: no usable vout present, spawning one
main debug: looking for text renderer module: 2 candidates
main debug: looking for audio output module: 3 candidates
aout_directx debug: OpenAudio
main debug: thread (fontlist builder) created at priority 0 (../../.././modules/misc/freetype.c:475)
freetype debug: using fontsize: 2
main debug: using text renderer module "freetype"
main debug: TIMER module_need() : 90.000 ms - Total 90.000 ms / 1 intvls (Avg 90.000 ms)
main debug: looking for video filter2 module: 20 candidates
main debug: thread started
freetype debug: Building font database...
freetype debug: Finished building font database.
freetype debug: Took 0 microseconds
main debug: thread ended
swscale debug: 32x32 chroma: YUVA -> 16x16 chroma: YUVA with scaling using Bicubic (good quality)
main debug: using video filter2 module "swscale"
main debug: TIMER module_need() : 105.000 ms - Total 105.000 ms / 1 intvls (Avg 105.000 ms)
main debug: looking for video filter2 module: 20 candidates
aout_directx debug: found device: P�riph�rique audio principal
aout_directx debug: found device: Haut-parleurs (Realtek High Definition Audio)
aout_directx debug: found device: Realtek Digital Output (Realtek High Definition Audio)
yuvp debug: YUVP to YUVA converter
main debug: using video filter2 module "yuvp"
main debug: TIMER module_need() : 127.000 ms - Total 127.000 ms / 1 intvls (Avg 127.000 ms)
main debug: window size: 480x360
main debug: looking for video output module: 7 candidates
aout_directx debug: device supports 2 channels (DEFAULT!)
aout_directx debug: device supports 1 channel
aout_directx debug: Windows says your SpeakerConfig is stereo
aout_directx debug: creating DirectSoundThread
main debug: thread (DirectSound Notification Thread) created at priority 15 (../../.././modules/audio_output/directx.c:427)
main debug: using audio output module "aout_directx"
main debug: TIMER module_need() : 398.000 ms - Total 398.000 ms / 1 intvls (Avg 398.000 ms)
main debug: thread started
main debug: output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes
aout_directx debug: DirectSoundThread ready
main debug: mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes
main debug: filter(s) 'fl32'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "converter_float"
main debug: TIMER module_need() : 482.000 ms - Total 482.000 ms / 1 intvls (Avg 482.000 ms)
main debug: found a filter for the whole conversion
main debug: looking for audio mixer module: 3 candidates
main debug: using audio mixer module "float32_mixer"
main debug: TIMER module_need() : 8.000 ms - Total 8.000 ms / 1 intvls (Avg 8.000 ms)
main debug: input 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes
main debug: looking for audio filter module: 1 candidate
scaletempo debug: format: 44100 rate, 2 nch, 4 bps, fl32
scaletempo debug: params: 30 stride, 0.200 overlap, 14 search
scaletempo debug: 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 standing, 264 overlap, 617 search, 2204 queue, fl32 mode
main debug: using audio filter module "scaletempo"
main debug: TIMER module_need() : 10.000 ms - Total 10.000 ms / 1 intvls (Avg 10.000 ms)
main debug: looking for audio filter module: 1 candidate
equalizer debug: equalizer loaded for 44100 Hz with 10 bands 1 pass
equalizer debug: 60 Hz -> factor:0.000000 alpha:0.003013 beta:0.993973 gamma:1.993901
equalizer debug: 170 Hz -> factor:0.000000 alpha:0.008490 beta:0.983019 gamma:1.982437
equalizer debug: 310 Hz -> factor:-0.201812 alpha:0.015374 beta:0.969252 gamma:1.967331
equalizer debug: 600 Hz -> factor:-0.088586 alpha:0.029328 beta:0.941343 gamma:1.934254
equalizer debug: 1000 Hz -> factor:0.000000 alpha:0.047918 beta:0.904163 gamma:1.884869
equalizer debug: 3000 Hz -> factor:0.647305 alpha:0.130408 beta:0.739184 gamma:1.582718
equalizer debug: 6000 Hz -> factor:1.002968 alpha:0.226555 beta:0.546889 gamma:1.015267
equalizer debug: 12000 Hz -> factor:-0.134405 alpha:0.344937 beta:0.310127 gamma:-0.181410
equalizer debug: 14000 Hz -> factor:0.000000 alpha:0.366438 beta:0.267123 gamma:-0.521151
equalizer debug: 16000 Hz -> factor:0.392599 alpha:0.379009 beta:0.241981 gamma:-0.808451
main debug: using audio filter module "equalizer"
main debug: TIMER module_need() : 18.000 ms - Total 18.000 ms / 1 intvls (Avg 18.000 ms)
main debug: filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "bandlimited_resampler"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: found a filter for the whole conversion
main debug: End of audio preroll[/size]
direct3d debug: creating Vout EventThread
main debug: thread (Vout Events Thread) created at priority 0 (../../../.././modules/video_output/msw/direct3d.c:218)
main debug: thread started
direct3d debug: DirectXCreateWindow
main debug: looking for hwnd module: 3 candidates
skins2 error: AlphaBlend() failed
skins2 error: AlphaBlend() failed
skins2 error: AlphaBlend() failed
skins2 debug: New incoming vout=0x0x572471c, handle=0x0x205e8, VideoCtrl=0x0x26933b8
main debug: using hwnd module "skins2"
main debug: TIMER module_need() : 25.000 ms - Total 25.000 ms / 1 intvls (Avg 25.000 ms)
direct3d debug: created video sub-window
direct3d debug: Vout EventThread running
direct3d debug: disabling screen saver
main debug: using video output module "direct3d"
main debug: TIMER module_need() : 697.000 ms - Total 697.000 ms / 1 intvls (Avg 697.000 ms)
main debug: Deinterlacing available
direct3d debug: Direct3D device adapter successfully initialized
direct3d debug: selected surface pixel format is YUY2
direct3d debug: 1 Direct3D pictures created successfully
direct3d debug: Direct3D scene created successfully
main debug: got 1 direct buffer(s)
main debug: pic render sz 480x360, of (0,0), vsz 480x360, 4cc I420, ar 4:3, sar 1:1, msk r0x0 g0x0 b0x0
main debug: pic in sz 480x360, of (0,0), vsz 480x360, 4cc I420, ar 4:3, sar 1:1, msk r0x0 g0x0 b0x0
main debug: pic out sz 480x360, of (0,0), vsz 480x360, 4cc YUY2, ar 4:3, sar 1:1, msk r0x0 g0x0 b0x0
main debug: looking for video filter2 module: 20 candidates
main debug: using video filter2 module "i420_yuy2_sse2"
main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms)
main debug: indirect render, mapping render pictures 0-15 to system pictures 1-16
skins2 debug: control query not supported
main debug: End of video preroll
main debug: Received first picture
freetype debug: using fontsize: 22
main debug: Decoder buffering done in 1217 ms
main warning: PTS is out of range (-33000), dropping buffer
main debug: looking for video blending module: 1 candidate
blend debug: chroma: YUVA -> YUY2
main debug: using video blending module "blend"
main debug: TIMER module_need() : 25.000 ms - Total 25.000 ms / 1 intvls (Avg 25.000 ms)
main debug: Post-processing available
main warning: late picture skipped (26000 > -24257)
main warning: late picture skipped (-14000 > -24257)
main warning: output date isn't PTS date, requesting resampling (66000)
main warning: buffer is 66618 late, triggering upsampling
Re: Graphic bug with the Video window of a skin
Posted: 07 Dec 2009 22:20
by erwan10
Thanks for your inputs.
I'm afraid you just discovered a bug related to your Windows7 being a 64 bit OS.
The problem is the following :
skins2 error: AlphaBlend() failed
skins2 error: AlphaBlend() failed
skins2 error: AlphaBlend() failed
in the source code, a 'msimg32.dll' dll is explicitly loaded. chances are this code is not portable in 64 bits.
More generally, skins2 refers to several 32 bit dll (msimg32.dll, user32.dll).
We need to find a 64 bit expert ..... Maybe, jb ?
Erwan10
Re: Graphic bug with the Video window of a skin
Posted: 07 Dec 2009 22:47
by Jean-Baptiste Kempf
That shouldn't be a problem since we don't see
msg_Dbg( getIntf(), "couldn't find AlphaBlend()" );
nor
msg_Dbg( getIntf(), "couldn't find TransparentBlt(), falling back to BitBlt()" );
That is weird indeed.
Re: Graphic bug with the Video window of a skin
Posted: 08 Dec 2009 00:06
by erwan10
Actually, AlphaBlend is found, but a call to this function returns false.
Code: Select all
if( AlphaBlend &&
!AlphaBlend( m_hDC, xDest, yDest, width, height, hDC, 0, 0,
width, height, bf ) )
{
msg_Err( getIntf(), "AlphaBlend() failed" );
}
MSDN (
http://msdn.microsoft.com/fr-fr/library ... 85%29.aspx) only states an invalid parameter as a possible problem.
The same code (same skins, same vlc version) on WinXP works fine.
Maybe, it is not 64 bits but just Windows7 being more stringent on some parameters.
It could be interesting to give a try on Vista or Windows7 32 bits to see if the problem exists.
Erwan10.
Re: Graphic bug with the Video window of a skin
Posted: 08 Dec 2009 08:28
by 3breadt
I could reproduce that bug on Windows 7 32-bit, using the Navaga WIP skin.
But interestingly once I hid the video window and made it appear again, without pausing the playback, the window appeared normal again.
Config:
Dell Latitude 2100
CPU: Intel Atom N270 1.66 GHz
RAM: 1 GB
GPU: Intel 945 Express
GPU-RAM: 251 MB
DirectX 9.0+
Re: Graphic bug with the Video window of a skin
Posted: 08 Dec 2009 10:47
by erwan10
Thanks aLtgLasS , that's interesting.
I've got some more questions if somebody can test them (I've got no Windows7 at hand)
- Is it only the video window that shows the problem ? What about the playlist windows ?
- Does other skins also show this problem or just Navaga ?
- is it only those bitmaps that need to be scaled (as part of a resize process) that show the problem ?
fyi, Navaga uses the animated bitmap feature a lot, and hence AlphaBlend keeps on being called. And it seems to fail __only__ on some bitmaps that need to be scaled ...
Erwan10
Re: Graphic bug with the Video window of a skin
Posted: 09 Dec 2009 10:08
by 3breadt
It's just the video window with that problem. It are just the images that are resized. It occurs only after the video window has automatically been resized to fit the video. Immediately after you resize the window yourself the bug goes away. Also if you hide/show the window the bug goes away. So a simple redraw of the window after auto resizing might do the job.
EDIT: It is NOT only the resizable images that are affected, I just had it that also the video was affected and also static images in the upper and lower right corners. Part of the video and the window were totally gone, not just stripes.
The bug does not occur when switching from one video to another and the window is auto resized. Then the window stays intact.
I could not reproduce that behaviour in the default skin.
Re: Graphic bug with the Video window of a skin
Posted: 09 Dec 2009 12:42
by erwan10
Weird, indeed. And not easy to figure out, as neither WinXP or wine(Linux) have this problem.
@xanax : do you still have the navaga skins you sent me (the one with the nbFrames syntax error). I am curious to know if this skins (where animated bitmaps were in fact disabled) also shows the problem.
By design, the inner part of the video is managed by one thread (vout thread) and the other windows are managed by a second thread (skins thread). I fear there might be a race condition at the OS level(a Windows7 bug ?). When animated bitmaps are used, the skins thread keeps on calling AlphaBlend. And the vout thread tries to reparent the video window on top of an area managed by the skins thread. ...
Also, maybe a test on Vista could be interesting to know if this problem is only related to the new Windows7 or older
Erwan10
Re: Graphic bug with the Video window of a skin
Posted: 09 Dec 2009 17:14
by xan2622
Re: Graphic bug with the Video window of a skin
Posted: 01 Mar 2010 23:33
by erwan10
Hi,
Found in skins something that might cause the bug described in this thread. A patch has been committed today in vlc1.1. Feedbacks welcome with a nightly build that should be available as soon as tomorrow (vlc1.1 only)
Regards
Erwan10
Re: Graphic bug with the Video window of a skin
Posted: 02 Mar 2010 01:40
by Spyme
While i´m currently in skin developing state too, i can confirm both errors (Alpha on Win7 x64 and the scaling issue). Especially the scaling issue isn´t restricted to unix, i get the same "rescaling" issues on my Win7 x64. This issue is gone, if you hover over a button element. Scaling issue appears most time on down(re)scaling a skin (e.g: if you openend a dvd and use the fullscreen while switiching back).
Re: Graphic bug with the Video window of a skin
Posted: 04 May 2010 08:52
by xan2622
It seems this bug is gone in recent nightly builds.