From 6f2410c9aa5b0a2e7f08c9e60f4d3dc84cfa9f41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Thu, 24 Oct 2013 05:12:58 -0600 Subject: radeon/uvd: fix H264 chroma format handling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christian König --- src/gallium/drivers/radeon/radeon_uvd.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/gallium/drivers/radeon/radeon_uvd.c') diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c index 134ce4e..6d87841 100644 --- a/src/gallium/drivers/radeon/radeon_uvd.c +++ b/src/gallium/drivers/radeon/radeon_uvd.c @@ -385,6 +385,21 @@ static struct ruvd_h264 get_h264_msg(struct ruvd_decoder *dec, struct pipe_h264_ result.sps_info_flags |= pic->frame_mbs_only_flag << 2; result.sps_info_flags |= pic->delta_pic_order_always_zero_flag << 3; + switch (dec->base.chroma_format) { + case PIPE_VIDEO_CHROMA_FORMAT_400: + result.chroma_format = 0; + break; + case PIPE_VIDEO_CHROMA_FORMAT_420: + result.chroma_format = 1; + break; + case PIPE_VIDEO_CHROMA_FORMAT_422: + result.chroma_format = 2; + break; + case PIPE_VIDEO_CHROMA_FORMAT_444: + result.chroma_format = 3; + break; + } + result.pps_info_flags = 0; result.pps_info_flags |= pic->transform_8x8_mode_flag << 0; result.pps_info_flags |= pic->redundant_pic_cnt_present_flag << 1; @@ -395,7 +410,6 @@ static struct ruvd_h264 get_h264_msg(struct ruvd_decoder *dec, struct pipe_h264_ result.pps_info_flags |= pic->pic_order_present_flag << 7; result.pps_info_flags |= pic->entropy_coding_mode_flag << 8; - result.chroma_format = 0x1; result.bit_depth_luma_minus8 = 0; result.bit_depth_chroma_minus8 = 0; -- cgit v1.1