[vlc-devel] [PATCH 1/5] va: try to output an opaque chroma first, then a plane-based one

Steve Lhomme robux4 at videolabs.io
Mon Jun 1 19:15:03 CEST 2015


On Mon, Jun 1, 2015 at 7:00 PM, Rémi Denis-Courmont <remi at remlab.net> wrote:
> Le lundi 01 juin 2015, 18:43:05 Steve Lhomme a écrit :
>> On Mon, Jun 1, 2015 at 5:40 PM, Rémi Denis-Courmont <remi at remlab.net> wrote:
>> > Le lundi 01 juin 2015, 15:58:04 Steve Lhomme a écrit :
>> >> ---
>> >>
>> >>  modules/codec/avcodec/dxva2.c |  2 +-
>> >>  modules/codec/avcodec/va.h    |  7 ++++---
>> >>  modules/codec/avcodec/vaapi.c |  3 ++-
>> >>  modules/codec/avcodec/vda.c   |  3 ++-
>> >>  modules/codec/avcodec/video.c | 32 ++++++++++++++++++++++++++------
>> >>  modules/hw/vdpau/avcodec.c    |  3 ++-
>> >>  6 files changed, 37 insertions(+), 13 deletions(-)
>> >
>> > Surface types are normally converted in video filters, not in decoders.
>>
>> Well, the old DXVA was doing the plane extraction on the fly from the
>> "opaque" surface. There is no "conversion" in terms of pixel type.
>
> Hysterical raisins. I don´t see any reasons why the libavcodec should have to
> care about this implementation detail of the DXVA plugin.

It's not specific to DXVA. IMO Video Acceleration has no guarantee
that the decoded frames will be in the CPU memory. In a DRM system
there's even a good chance it's not possible at all. So it's a good
thing that we make sure the vout is possible for the output type.

Given that there are cases where no vout can deal with a GPU based
picture_t. One solution I proposed is to add hacks in the core to be
able to read such pictures and convert them afterwards. It's in the
core and it's ugly. This solution is much lighter and IMO makes more
sense than deporting the logic of handling a picture_t type that
cannot be handled elsewhere because there are too many assumptions on
planes.

> --
> Rémi Denis-Courmont
> Remlab T:mi
> http://www.remlab.net/
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



More information about the vlc-devel mailing list