Menu

#3 Patch: DX10/DX11 Support, FPS Indicators, fixes, more

open
nobody
None
5
2010-08-22
2010-08-22
Anonymous
No

This is a personal build of Taksi that I haven't had any problems with so far. Still some things I want to fix but thought I'd share what I have.

All testing done in Windows 7 x64 with Visual C++ 2008 Express
Patch notes:

Added: DX10 Support
Added: DX11 Support
Added: FPS Indicators w/GUI config (DX/GL)
Added: Mouse cursor capture (optional) (DX/GL)

Fixed: Crash caused by recording at certain video heights. (Multiple condition loop issue in GetFrameHalfSize() and GetFrameFullSize() functions)
Fixed: Some cases where Taksi doesn't reset when a hooked app is closed. (DLL_PROCESS_DETACH isn't called sometimes. Now forces the system wide hook reset when unhooking in DX_Release() and OGL_WglDeleteContext())
Fixed: Misaligned/slanted video capture when frame width isn't a factor of 4. (Now forces destination video width to be a factor of 4. Changed destination rowpitch in GetFrameHalfSize() and GetFrameFullSize() functions based on the new width.)
Fixed: Video/Screenshots captured in GL,DX10,DX11 have the wrong dimensions when capturing after an app/game window is resized. (Now forces a GetFrameInfo() call at the beginning of RecordAVI_Start() and MakeScreenshot() in order to update frame dimensions since not all api's have a reliable way of doing this through RecordAVI_Reset on window resizes.)
Fixed: OpenGL taksi indicator doesn't display. (Now uses GL_QUADS instead of GL_POLYGON. Changed order of vertex drawing. Uses existing viewport dimensions in order to reliably position the indicator viewport)
Fixed (Previously): DX9 capturing in an app/game with anti-aliasing enabled. (Uses StretchRect() to downsample for capture)

Discussion

  • Nobody/Anonymous

    Adds DX10/DX11 support, FPS indicators, Mouse capturing, bug fixes

     
  • Mike Lynch

    Mike Lynch - 2010-09-08

    I don't like the idea of forcing a multiple of 4 for with width and height.

    I tested a bunch of codecs and came to the conclusion that the misaligned/slanted video is a result of bad codecs that don't fail (return an error) for resolutions they don't support (most notably being ffdshow).

    Specifically, x264vfw requires a multiple of 2 and it will fail if not (and Taksi will retry, beginning with a multiple of 2). I'm sure I also found at least one codec that has no width height constraint that further proves no alignment bug within Taksi.

    However, it might be nice to have this as an option to work around such broken codecs.