<div dir="ltr"><br><br><div class="gmail_quote">On 25 July 2010 14:19, Laurent Aimar <span dir="ltr"><<a href="mailto:fenrir@elivagar.org">fenrir@elivagar.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
 It seems that it is not needed to store d2_dpi_x/d2_dpi_y  into the private<br>
context.<br></blockquote><div class="h5"><br>You're correct.<br><br>> +#ifndef WS_NONAVDONEBUTTON<br>
> +#   define WS_NONAVDONEBUTTON 0<br>
> +#endif<br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> Is it needed ?<br></blockquote><div><br>Nope.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
 I wonder what its priority should be. If it is better/faster than gdi (and<br>
it should be when d2d support is present), I think it should have a priority<br>
a bit higher.<br></blockquote><div class="im"><br>Yes it's better than GDI. I'll increase the priority. <br><br>
> +    if (sys->d2_render_target && sys->d2_bitmap)<br>
> +    {<br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> Bad { placement.<br></blockquote><div><br>Good spot.<br> <br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im">
</div> Have you tested with crop(yes), zoom, auto-scale, aspect ratio, and various<br>
combination of them? (All in the Video menu).<br></blockquote><div><br>I tested a WHOLE bunch but it was quite random so no sure if i missed stuff out. Will test more.<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
 
About our previous discussion, it seems that pitch != width * 4 is fine.<br>
 From msdn:<br>
 "pitch<br>
  UINT32<br>
  The stride, or pitch, of the source bitmap stored in srcData. The stride<br>
  is the byte count of a scanline (one row of pixels in memory). The stride<br>
  can be computed from the following formula:<br>
  pixel width * bytes per pixel + memory padding."<br></blockquote><div class="im"><br>Yes it seems that way (I'm already using i_pitch) :)<br><br>
</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> From msdn I see<br>
"Your application should create render targets once and hold onto them for the<br>
 life of the application or until the render target's EndDraw method returns the<br>
 D2DERR_RECREATE_TARGET error. When you receive this error, you need to recreate<br>
 the render target (and any resources it created)."<br>
<br>
 So it seems that you need to check for EndDraw error code and recreate the<br>
resources when needed. You can see how d3d does it.<br></blockquote><div><br>I'm not sure what would cause D2DERR_RECREATE_TARGET but I suppose we should handle it.<br><br></div><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">
> +    D2D1_PIXEL_FORMAT pf = {<br>
> +        DXGI_FORMAT_B8G8R8A8_UNORM,<br>
> +        D2D1_ALPHA_MODE_IGNORE<br>
> +    };<br>
</div> As you now only require RGB32, is it possible to set a correct RGB mask<br>
in Open() ?<br></blockquote><div><br>What do you mean? Have I set it incorrectly?<br>(An aside: I also hope to add some YUV->RGB DirectCompute support which should speed things up nicely. At least until Microsoft sort out native YUV support for D2D). </div>
</div><br>Thanks as always!<br></div>