I have been using VMR9 to render a YUV
video stream. I had some performance concern so I run a profiler and have discovered that function named _yvRgb24 takes up to 25% of CPU time. With further investigations I discovered that VMR9 uses that function to render my video stream.
Does VMR9 convert my YUV
video to RGB24 before rendering it? Can't it do the rendering right away? Conversion algorithm does not seem to be fast.
I am using MEDIASUBTYPE_IYUV
as output type for VMR9.
VMR-9 is backed by Direct3D and availability of specific pixel format support depends respectively. In most cases you have quite some choice of pixel formats to render in, most popular are YUY2, YV12, NV12. The video is displayed without conversion to RGB.