Extend scale_d3d12 from NV12/P010 resizing to full pixel format and
color space conversion, matching what the D3D12 video processor is
actually capable of.
- Support converting to/from the semi-planar YUV formats (nv12, p010,
p012) and the packed RGB formats (bgra, rgba, x2bgr10, rgbaf16),
when the hardware supports it.
- Add out_color_matrix, out_range, out_color_primaries and
out_color_transfer options.
- Recalculate sample_aspect_ratio and drop size-dependent side data
on resize.
- Harden GPU teardown/reconfiguration.
Example usage:
Convert a d3d12 NV12 surface to BGRA:
scale_d3d12=format=bgra
Convert an HDR10 (P010) surface to 10-bit RGB, without altering
its HDR color properties:
scale_d3d12=format=x2bgr10
Scale and convert to full-range BGRA:
scale_d3d12=format=bgra:out_range=full
Signed-off-by: younengxiao <steven.xiao@amd.com>