summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeo Liu <[email protected]>2017-08-21 11:51:35 -0400
committerLeo Liu <[email protected]>2017-08-22 15:13:34 -0400
commit398a299f7beae8d0e3973929b42ddbd250794453 (patch)
tree1dd2cdec5f1bbd6b1ac6e5c24dc3449f644f34a2
parentdf6c087a383f801c32352309e9b858340989955d (diff)
radeon/vcn: enable P016 mode support
Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Christian König <[email protected]>
-rw-r--r--src/gallium/drivers/radeon/radeon_vcn_dec.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c b/src/gallium/drivers/radeon/radeon_vcn_dec.c
index 51391627d5f..a7a57f2969e 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_dec.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_dec.c
@@ -324,13 +324,17 @@ static rvcn_dec_message_hevc_t get_h265_msg(struct radeon_decoder *dec,
result.direct_reflist[i][j] = pic->RefPicList[i][j];
}
- if ((pic->base.profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10) &&
- (target->buffer_format == PIPE_FORMAT_NV12)) {
- result.p010_mode = 0;
- result.luma_10to8 = 5;
- result.chroma_10to8 = 5;
- result.hevc_reserved[0] = 4; /* sclr_luma10to8 */
- result.hevc_reserved[1] = 4; /* sclr_chroma10to8 */
+ if (pic->base.profile == PIPE_VIDEO_PROFILE_HEVC_MAIN_10) {
+ if (target->buffer_format == PIPE_FORMAT_P016) {
+ result.p010_mode = 1;
+ result.msb_mode = 1;
+ } else {
+ result.p010_mode = 0;
+ result.luma_10to8 = 5;
+ result.chroma_10to8 = 5;
+ result.hevc_reserved[0] = 4; /* sclr_luma10to8 */
+ result.hevc_reserved[1] = 4; /* sclr_chroma10to8 */
+ }
}
return result;