<div dir="auto">Hi,<div dir="auto"><br></div><div dir="auto">I have tried using "<span style="background-color:rgb(255,224,130)">av_hwframe_transfer_data()</span>" API in FFMPEG to transfer GPU memory to CPU which takes approximately 16ms for a 4k frame and then passing that memory to <span style="font-family:sans-serif">cariro_image_surface_create_for</span><span style="font-family:sans-serif">_data().</span></div><div dir="auto"><br></div><div dir="auto">However, to improve the performance of my code I need to use this GPU buffer directly. </div><div dir="auto"><br></div><div dir="auto">Is there a way to make cairo_paint() work faster with uncached<span style="font-family:sans-serif"> memory</span>?</div><div dir="auto"><br></div><div dir="auto">Thanks.</div><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Mon, Feb 11, 2019, 1:37 ON Uli Schlachter <<a href="mailto:psychon@znc.in">psychon@znc.in</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On 11.02.19 08:11, Abimathi Natarajan wrote:<br>
[...]<br>
>          The above command will decode the input file (input.mp4) with<br>
> hardware accelerations(vaapi) and hwmap will directly map the hardware<br>
>          frames to system memory.<br>
[...]<br>
>    - I will directly feed this memory to<br>
> <br>
>                 cairo_image_surface_create_for_data ((unsigned char<br>
> *)buffer, CAIRO_FORMAT_ARGB32,width, height, stride) to create a<br>
> cairo_surface for the given frame.<br>
<br>
>From the information you provided, I can only make a guess. My guess is<br>
that CPU access to the buffer in GPU memory is uncached and thus slow.<br>
<br>
You could try copying the image to a buffer in main memory and using<br>
that copy for cariro_image_surface_create_for_data(). That way<br>
cairo/pixman get to operate on cached memory.<br>
<br>
Cheers,<br>
Uli<br>
-- <br>
"Are you preparing for another war, Plutarch?" I ask.<br>
"Oh, not now. Now we're in that sweet period where<br>
everyone agrees that our recent horrors should never<br>
be repeated," he says.<br>
</blockquote></div></div>