[VDPAU] [PATCH] Add support for Hi444PP in VDPAU API
Rémi Denis-Courmont
remi at remlab.net
Wed Dec 10 07:33:47 PST 2014
Le 2014-12-10 18:13, José Hiram Soltren a écrit :
> If we are going this route I propose adding any of the profiles in
> Rec. ITU-T
> H.264 (02/2014), Annex A, Section A.2 that we do not currently offer.
> If I'm
> reading this correctly we need to add:
>
> VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
> VDP_DECODER_PROFILE_H264_EXTENDED
> VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
> VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH
Those four are already in git as of now. And drivers should be updated
to support at least Constrained Baseline, Constrained High and
Progressive High. I guess no real hardware supports Extended.
> VDP_DECODER_PROFILE_H264_HIGH_10
I think that one should be postponed. If I understand the specification
correctly, High 10 is really just High without the 8 bits per component
limit.
There are no ways to deal with those bits in VDPAU as yet.
Specifically, there are no ways for the application to tell the VDPAU
driver that it intends to use 9, 10... or 14 bits when querying decoder
capabilities and when creating a decoder. There are also no adequate
defined surface chroma types.
> VDP_DECODER_PROFILE_H264_HIGH_422
> VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE (being added here)
Yes to both.
> VDP_DECODER_PROFILE_H264_HIGH_10_INTRA
Tricky. If the hardware can decode High, it can decode High 10 Intra so
long as chroma_idc == 1 but... I would postpone it alongside High 10.
> VDP_DECODER_PROFILE_H264_HIGH_422_INTRA
> VDP_DECODER_PROFILE_H264_HIGH_444_INTRA
> VDP_DECODER_PROFILE_H264_CAVLC_444_INTRA
Yes thrice.
> Some of these need to be added in line, between other values, which
> will ruin
> the enumeration values regardless. We can either make the enum values
> out of
> order, or force a major API change as we alter these values. I vote
> for the
> former as ugly as it is.
I don't think anybody cares that the order in vdpau.h is different from
the order in the specification. VDPAU never matched profile_idc anyway.
> While we're at it we may as well add the additional decoder level
> from Rec.
> ITU-T H.264 (02/2014) Table A-1:
>
> VDP_DECODER_LEVEL_H264_5_2
Sure. Existing application code already effectively assumes that this
is equal to 52.
--
Rémi Denis-Courmont
More information about the VDPAU
mailing list