radeon/uvd: update quantiser matrices only when requested

Only upload them when the pointers are valid.

Signed-off-by: Indrajit Das <indrajit-kumar.das@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
Indrajit Das 2018-01-10 15:10:17 +05:30 committed by Christian König
parent 1cbcd70b64
commit 38dee62c9a
1 changed files with 11 additions and 6 deletions

View File

@ -871,12 +871,17 @@ static struct ruvd_mpeg2 get_mpeg2_msg(struct ruvd_decoder *dec,
for (i = 0; i < 2; ++i)
result.ref_pic_idx[i] = get_ref_pic_idx(dec, pic->ref[i]);
result.load_intra_quantiser_matrix = 1;
result.load_nonintra_quantiser_matrix = 1;
for (i = 0; i < 64; ++i) {
result.intra_quantiser_matrix[i] = pic->intra_matrix[zscan[i]];
result.nonintra_quantiser_matrix[i] = pic->non_intra_matrix[zscan[i]];
if(pic->intra_matrix) {
result.load_intra_quantiser_matrix = 1;
for (i = 0; i < 64; ++i) {
result.intra_quantiser_matrix[i] = pic->intra_matrix[zscan[i]];
}
}
if(pic->non_intra_matrix) {
result.load_nonintra_quantiser_matrix = 1;
for (i = 0; i < 64; ++i) {
result.nonintra_quantiser_matrix[i] = pic->non_intra_matrix[zscan[i]];
}
}
result.profile_and_level_indication = 0;