[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