[d3d11screencapturesrc] Having problems in screen capturing 3440x1440 resolution, other resolutions wokrs well.

Davide Perini perini.davide at dpsoftware.org
Fri Mar 10 12:55:20 UTC 2023



Hi Seungha,
I'm not able to answer at the moment since I'm "a simple user" of the 
Java Bindings, I need to look into how the binding's implementation 
works.

I'll start by looking if I'm using D3D11 aware elements/components.

Anyway thanks for all the hints.

Kind regards,
Davide

Il 2023-03-08 21:34 Seungha Yang via gstreamer-devel ha scritto:

> It looks like stride (or called pitch) mismatch. What's the consumer of 
> "new pipeline"
> (how did you read the output buffer)? If it's not a D3D11-aware 
> element/component,
> the "new pipeline" would not boost any performance.
> 
> Note that CPU read/writable memory layout of Direct3D11 memory might be 
> different from
> that of normal CPU memory. To read video memory, don't assume that 
> stride/pitch is equal to width
> but you should use gst_video_frame_map() or so.
> 
> Seungha
> 
> -----Original Message-----
> From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> 
> On Behalf Of Davide Perini via gstreamer-devel
> Sent: Thursday, March 9, 2023 5:11 AM
> To: gstreamer-devel at lists.freedesktop.org
> Cc: Davide Perini <perini.davide at dpsoftware.org>
> Subject: [d3d11screencapturesrc] Having problems in screen capturing 
> 3440x1440 resolution, other resolutions wokrs well.
> 
> Hi all,
> I'm screen capturing using GStreamer bindings for Java without problems 
> since a lot of time, it works super awesome at all screen resolutions.
> 
> Love GStreamer and the Java Bindings for GStreamer. :) Thank you all 
> for this awesome things.
> 
> I'm using a pipeline like this:
> d3d11screencapturesrc monitor-handle={0} ! d3d11convert ! d3d11download 
> ! video/x-raw(memory:SystemMemory),width=3440,height=1440
> this pipeline works as expected.
> 
> I recently switched to this "new pipeline" that should be more 
> optimized for the purpose:
> d3d11screencapturesrc monitor-handle={0} ! d3d11convert !
> video/x-raw(memory:D3D11Memory),width=3440,height=1440
> 
> this "new pipeline" works well at every screen resolutions except 
> 3440x1440, I even tried another 21:9 resolution like 3840x1080 and it 
> works well but not on 3440x1440.
> All other screen resolutions works well.
> 
> This is so weird. My code should be ok since if I switch to the "older 
> pipeline" all works well.
> 
> I took a screenshot at 3440x1440 when capturing the screen and the 
> image is completely scrambled, I attach it.
> 
> I don't know how where to start finding for a solution.
> 
> Is this a problem related to the bindings? Is there some errors in my 
> pipeline?
> 
> How can a pipeline works well at every screen resolutions and not at 
> 3440x1440?
> 
> Thank you
> Davide
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230310/cfe72382/attachment.htm>


More information about the gstreamer-devel mailing list