[VDPAU] [PATCH] Change HEVC profile numbers to 100 through 104
Aaron Plattner
aplattner at nvidia.com
Mon Mar 16 16:07:59 PDT 2015
On 03/16/2015 12:41 PM, José Hiram Soltren wrote:
> This change itself looks fine to me. This must only change once before the next
> VDPAU release.
Thanks José. I pushed this and released libvdpau 1.1.
> This also brings up two more points which will set precedents
>
> 1. Instead of bumping the API major version number for a VdpPictureInfo change,
> we are instead changing the VdpDecoderProfile version to cause a decoder
> initialization failure. I think this is a clever and appropriate idea, are
> there any other opinions?
>
> 2. VdpDecoderProfile is a uint32_t. I propose that we carve out ranges of 100
> for individual codecs in the future. As a concrete example, all HEVC
> VdpDecoderProfile values must fit in the range of 100-199, and 200-299 is
> reserved for a future codec.
>
> I prefer to reserve integer ranges as 100 seems like plenty of profiles for a
> particular codec and that gives floor((2^32-1)/100) possible codecs.
I don't really see the purpose of reserving numbers for future codecs
since the numbers are essentially meaningless, but it doesn't seem like
it hurts anything either.
> Reviewed-by: José Hiram Soltren <jsoltren at nvidia.com>
>
> On 03/16/2015 02:19 PM, Aaron Plattner wrote:
>> libvdpau 1.0 contained an error in its HEVC picture info structures. Rather
>> than try to maintain backward compatibility with the incorrect definition, the
>> existing VdpPictureInfoHEVC was updated to contain the fixed definition. Since
>> the new structure is no longer compatible with the ABI defined by libvdpau 1.0,
>> change the profile numbers for HEVC so that software built against the incorrect
>> definition will not recognize the new profiles.
>>
>> Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
>> ---
>> include/vdpau/vdpau.h | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/vdpau/vdpau.h b/include/vdpau/vdpau.h
>> index a0c4dafb15ec..e6803f729080 100644
>> --- a/include/vdpau/vdpau.h
>> +++ b/include/vdpau/vdpau.h
>> @@ -2485,15 +2485,15 @@ typedef uint32_t VdpDecoderProfile;
>> #define VDP_DECODER_PROFILE_H264_HIGH_444_PREDICTIVE ((VdpDecoderProfile)26)
>> /** \hideinitializer */
>> /** \brief MPEG-H Part 2 == H.265 == HEVC */
>> -#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)50)
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN ((VdpDecoderProfile)100)
>> /** \hideinitializer */
>> -#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)51)
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN_10 ((VdpDecoderProfile)101)
>> /** \hideinitializer */
>> -#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)52)
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN_STILL ((VdpDecoderProfile)102)
>> /** \hideinitializer */
>> -#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)53)
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN_12 ((VdpDecoderProfile)103)
>> /** \hideinitializer */
>> -#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)54)
>> +#define VDP_DECODER_PROFILE_HEVC_MAIN_444 ((VdpDecoderProfile)104)
>>
>> /** \hideinitializer */
>> #define VDP_DECODER_LEVEL_MPEG1_NA 0
--
Aaron
More information about the VDPAU
mailing list