[Mesa-dev] Decode hi10p with mesa uvd vdpau

Peter Frühberger peter.fruehberger at gmail.com
Sat Oct 26 17:49:20 CEST 2013


Thanks for your answer,
2013/10/26 Grigori Goronzy <greg at chown.ath.cx>:
> On 26.10.2013 16:31, Peter Frühberger wrote:
>>
>> Hi,
>>
>> I looked at the openmax decoder posted yesterday and have seen that
>> only two fields are missing to also decode hi10p with the current
>> vdpau uvd infrastructure in place.
>>
>> I mailed two patches to the vdpau mailing list in order to get the API
>> bumped to "ship" those two fields via the h264 structure to later have
>> them available, the rest is already there with [1].
>>
>
> Maybe it would be nice to get some further useful API additions into VDPAU
> along the way?
> For instance, 10 bpc video surfaces would be quite useful (for software
> decoding w/ VDPAU presentation), or a video mixer attribute to configure
> chroma sample cositing.
>

I tought of a minimal way for now to get those things working in the
complete concept. Ommitting all the 10 bpc surfaces and also only
using 8 bit references is a quite a hacky approach. As I don't know of
any hw decoder that really does those things in 10 bits, I thought it
is enough to get the discussion started.

Presentation is a good aspect I did not have in mind.

> Best regards
> Grigori
>
>
>> In mesa it is currently handled with the already given profiles, see
>> attached patch. This is - I think - a minimal way of get it decoded.
>> Happy to discuss a more general approach.
>>
>> Input welcome, I will especially update, when I get feedback on the
>> vdpau Mailinglist (bumped versions are only to be seen prototypical).
>>
>> [1]
>> http://lists.freedesktop.org/archives/mesa-dev/2013-October/046944.html
>>
>> Best regards
>> Peter
>>
>>  From 9f9df1a397a7d9a0b6471e16c49e9a330c13172d Mon Sep 17 00:00:00 2001
>> From: fritsch <peter.fruehberger at gmail.com>
>> Date: Sat, 26 Oct 2013 15:52:46 +0200
>> Subject: [PATCH 1/3] hi10p: vdpau state tracker patch
>>
>> ---
>>   src/gallium/state_trackers/vdpau/vdpau_private.h | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/src/gallium/state_trackers/vdpau/vdpau_private.h
>> b/src/gallium/state_trackers/vdpau/vdpau_private.h
>> index 60196ac..99bad8f 100644
>> --- a/src/gallium/state_trackers/vdpau/vdpau_private.h
>> +++ b/src/gallium/state_trackers/vdpau/vdpau_private.h
>> @@ -260,6 +260,8 @@ ProfileToPipe(VdpDecoderProfile vdpau_profile)
>>            return PIPE_VIDEO_PROFILE_VC1_MAIN;
>>         case VDP_DECODER_PROFILE_VC1_ADVANCED:
>>            return PIPE_VIDEO_PROFILE_VC1_ADVANCED;
>> +      case VDP_DECODER_PROFILE_H264_HI10;
>> +         return PIPE_VIDEO_PROFILE_MPEG4_AVC_HI10;
>>         default:
>>            return PIPE_VIDEO_PROFILE_UNKNOWN;
>>      }
>> @@ -281,6 +283,8 @@ PipeToProfile(enum pipe_video_profile p_profile)
>>            return VDP_DECODER_PROFILE_H264_MAIN;
>>         case PIPE_VIDEO_PROFILE_MPEG4_AVC_HIGH:
>>            return VDP_DECODER_PROFILE_H264_HIGH;
>> +      case PIPE_VIDEO_PROFILE_MPEG4_AVC_HI10:
>> +         return VDP_DECODER_PROFILE_H264_HI10;
>>         case PIPE_VIDEO_PROFILE_MPEG4_SIMPLE:
>>            return VDP_DECODER_PROFILE_MPEG4_PART2_SP;
>>         case PIPE_VIDEO_PROFILE_MPEG4_ADVANCED_SIMPLE:
>>
>



-- 
                   Key-ID:     0x1A995A9B
                   keyserver: pgp.mit.edu
==============================================================
Fingerprint: 4606 DA19 EC2E 9A0B 0157  C81B DA07 CF63 1A99 5A9B


More information about the mesa-dev mailing list