NVIDIA 367.57 Linux driver - No blitter adaptor?

Hi all,

The video blitter adaptor was available in previous version of the Nvidia linux driver as a way to do direct rendering on the screen. This was partially undocumented and the only reference in the Nvidia documentation that I find is here:
Chapter 18. Configuring a Notebook :

“The video overlay only works on the first display device on which you started X. For example, if you start X on the internal
LCD, run a video application that uses the video overlay (uses the “Video Overlay” adapter advertised through the XV extension), and then hotkey switch to add a second display device, the video will not appear on the second display device. To work around this, you can either configure the video application to use the “Video Blitter” adapter advertised through the XV extension (this is always available), or hotkey switch to the display device on which you want to use the video overlay before starting X.”

Was this removed in more recent drivers? I am using v. 367.57.

I will explain my situation just for reference: I am trying to get the maximum performance in outputting HDMI 4k@60Hz using mplayer and as source a v4l2 driver. My v4l2 driver only supports RGB24 so mplayer is doing color space conversion to match the output of the graphic card that I am using (which in Geforce 1070 is YUVxxx). I would like to find a way to avoid this color space conversion such that I could output directly to the
graphics card. Please notice that I tried already with different flags in mplayer and but most of them are of no use as I am processing RAW video. Doing a quick search I found out about the video blitter adaptor which “supposedly” supports RGB24 as input.

If this adaptor is not available do you know any workaround that I can use to maximize performance?

Best regards,
Jose Miguel Abreu

The Xv blitter adaptor was only supported on GPUs older than G80 (the GeForce 8800 GTX). Modern GPUs use VDPAU now. Have you tried mplayer’s -vo vdpau option? You could also try -vo gl or -vo gl2, which ought to support RGB24 natively.

What I don’t know offhand is whether mplayer uses VdpOutputSurfacePutBitsNative to upload ARGB data directly, or if it’ll do a conversion to YCbCr and use VdpVideoSurfacePutBitsYCbCr. If it’s doing the conversion just so that VDPAU can convert it back to RGB, then improving that might be a good enhancement request for the mplayer developers.

In this day and age, I’d suggest you use mpv (https://mpv.io/) rather than mplayer if at all possible. The vdpau output code in mpv will upload ARGB directly.