[Mesa-dev] Decode hi10p with mesa uvd vdpau
Grigori Goronzy
greg at chown.ath.cx
Sat Oct 26 17:35:32 CEST 2013
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.
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:
>
More information about the mesa-dev
mailing list