On Tue, 31 Dec 2019, fgodt wrote:
On 2019/12/31 上午1:37, Calvin Walton wrote:
On Mon, 2019-12-30 at 12:31 +0100, Marton Balint wrote:
On Mon, 30 Dec 2019, fgodt...@hotmail.com wrote:
From: FgoDt <fgodt...@hotmail.com>
+@item use_captureblt
+When use gdigrab to capture window or desktop, the mouse cursor
will flicker.
Why? Does this happen with every windows version? This does not seem
like
the right fix. In fact, I dont't see how this can work, because mouse
is
drawn upon the captured video "manually" in paint_mouse_pointer.
Could you
dig deeper what is the main cause of the issue?
I'm guessing that what happens here is that on some OS versions, with
some graphics drivers, the cursor on the *real* display might flicker
while ffmpeg is capturing. I've never actually seen this happen, but if
you have bad/old drivers and have desktop compositing disabled, maybe?
sorry i'm not describe clear. as you say the capture video mouse is
"manually" paint,
so the flicker is not the video, but windows mouse cursor. the reason is
CAPTUREBLT flag
use to capture layered window, and the animated cursors or software
cursor became know
as layered window in Windows. so when we call bitblt with CAPTUREBLT
windows will hide
cursor do capture , and then reshow the cursor,this will make Windows
mouse cursor flicker.
if user not capture layered window, without CAPTUREBLT flag does not
change anything.
see details
https://docs.microsoft.com/en-us/previous-versions/technet-magazine/dd392008(v=msdn.10)?redirectedfrom=MSDN
This is still not the whole story, if you google deeper you should find
that this only affects Windows XP and earlier or Windows 7 if Aero is
disabled.
Considering this, I am not sure if we should add this flag,
maybe a warning should be printed instead if Aero is disabled.
Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".