locked
dxva2trace.h RRS feed

  • Question

  • Looking at dxva2trace.h in the DirectX SDK, there are events for DXVA2Trace_VideoProcessBlt. Does each Blt event mean that the frame is actually rendered to screen? Or is it possible that this event just signifies a Blt directive with no actual indication of whether the frame is rendered or dropped.  I would like to know which frames are dropped, so please let me know how to determine this.

     

    Thanks

    Tuesday, November 20, 2007 9:51 PM

Answers

  •  

    DXVA2 VideoProcessBlt is a public API and therefore can be used by any application that may also be running on the system.  The Events are system wide so you could be seeing events from your application and any others that might be using DXVA2.

     

    As I indicated earlier, there is an internal video pipeline within the EVR.  The EVR will not be calling VideoProcessBlt at frame period intervals.

     

    Stephen.

    Thursday, November 22, 2007 12:18 AM

All replies

  • The event indicates that a DXVA2 VideoProcessBlt call has been made. 

     

    The EVR contains an internal video processing pipeline, a call to VideoProcessBlt is just one element in the pipeline.  There are other events that the EVR generates that indicate a frame has been drawn to the screen.  (Sorry I can't remember the name of these off hand).

     

    In general there will be a single call to VideoProcessBlt for each frame drawn to the screen but don't forget there could be other callers of this API besides the EVR and these apps might not be rendering video.

     

    Stephen.

    Wednesday, November 21, 2007 4:05 AM
  • > There are other events that the EVR generates that indicate a frame has been drawn to the screen. 

    > (Sorry I can't remember the name of these off hand).

    Can you let me know the names of some of these events, or the context? It might be helpful.

     

    > don't forget there could be other callers of this API besides the EVR and these apps might not be

    > rendering video.

    Who else could call this api if not the evr, and not be rendering video? I have a video playback application - is it possible that in this scenario I would be getting some calls to this api which are not related to video rendering? I dont think I understood this point completely.

     

    The issue I am seeing is that successive calls to this api's Enter event do not seem to be at frame-period intervals. This is unexpected, so I am wondering if my assumptions are correct.

     

    Thanks for the reply!

    Wednesday, November 21, 2007 6:18 PM
  •  

    DXVA2 VideoProcessBlt is a public API and therefore can be used by any application that may also be running on the system.  The Events are system wide so you could be seeing events from your application and any others that might be using DXVA2.

     

    As I indicated earlier, there is an internal video pipeline within the EVR.  The EVR will not be calling VideoProcessBlt at frame period intervals.

     

    Stephen.

    Thursday, November 22, 2007 12:18 AM