[vlc-devel] [PATCH] DXVA2: output D3D9 GPU surfaces

Jean-Baptiste Kempf jb at videolan.org
Tue Apr 28 22:30:45 CEST 2015


On 28 Apr, Steve Lhomme wrote :
> +    if (dst->format.i_chroma == VLC_CODEC_I420) {
> +        uint8_t *tmp = dst->p[1].p_pixels;
> +        dst->p[1].p_pixels = dst->p[2].p_pixels;
> +        dst->p[2].p_pixels = tmp;
> +    }
> +
> +    if (desc.Format == MAKEFOURCC('Y','V','1','2') ||
> +        desc.Format == MAKEFOURCC('I','M','C','3')) {
> +        bool imc3 = desc.Format == MAKEFOURCC('I','M','C','3');

Some hw decoder actually output IMC3?

> +    if (dst->format.i_chroma == VLC_CODEC_I420) {
> +        uint8_t *tmp = dst->p[1].p_pixels;
> +        dst->p[1].p_pixels = dst->p[2].p_pixels;
> +        dst->p[2].p_pixels = tmp;
> +    }

This (I420) should be changed to be the default, IMHO.

> +static void DXA9_NV12(filter_t *p_filter, picture_t *src, picture_t *dst)

Can't we use a common function for most of the code of DXA9_NV12 and DXA9_YV12 ?

> +static int OpenConverter( vlc_object_t *obj )

This does not use any code from the decoder, right?
This filter could almost be split from the decoder file, right?

The rest is good :)

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device



More information about the vlc-devel mailing list