[vlc-devel] [PATCH] picture_t: add the possibility to copy pixels another way than through planes

Rémi Denis-Courmont remi at remlab.net
Mon Apr 20 17:26:35 CEST 2015

Le lundi 20 avril 2015, 17:13:19 Steve Lhomme a écrit :
> On Mon, Apr 20, 2015 at 4:16 PM, Rémi Denis-Courmont <remi at remlab.net> 
> > Le 2015-04-20 17:10, Steve Lhomme a écrit :
> >> Pixel copying only occurs with picture_t having the same pixel format
> >> and dimensions. If the pixel format is the same, then the copy method
> >> should be compatible.
> > 
> > Yes... but copying what? There is nothing to copy besides the generic
> > parameters and the planes.
> Pixels are copied from the D3D9 surface of the decoder to the D3D9
> surface of the display FIFO.

That sounds like very slow. Normally, the GPU "copies" the picture only 
once... while converting to RGB and scaling before rendering. As far as VLC is 
concerned, this is either hidden inside the video output plugin, or a format 
conversion - not a copy.

> It's not just passing along meta data.
> The decoder surfaces belong to the avcodec dxva_context and must not
> be used for anything else. That was the source of some of the weird
> ordering issues I was having.

That does not change the fact that picture_Copy() cannot possibly copy 
anything but the generic parameters and planes.

Rémi Denis-Courmont

More information about the vlc-devel mailing list