Skip to content

d3d11converter: Rewrite conversion object

Rewriting GstD3D11Converter (equivalent to GstVideoConverter) to optimize some conversion path and clean up.

  • Extract YUV <-> RGB conversion matrix building method to utils. It will be used by other implementation
  • Use calculated offset values for YCbCr <-> YPbPr conversion instead of hardcoded values
  • Move transform matrix building helper function to utils. The method will be used by other elements
  • Use single constant buffer. Multiple constatne buffer for conversion pipeline is almost pointless
  • Remove lots of duplicated HLSL code and split pixel shader code path into sampling -> colorspace conversion -> shader output packing
  • Avoid floating point precision error around UV coordinates
  • Optimize RGB -> YUV conversion path

Merge request reports