Browse Source

radeon/vcn: update quantiser matrices only when requested

Only update 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>
tags/18.0-branchpoint
Indrajit Das 7 years ago
parent
commit
f5277e8492
1 changed files with 11 additions and 6 deletions
  1. 11
    6
      src/gallium/drivers/radeon/radeon_vcn_dec.c

+ 11
- 6
src/gallium/drivers/radeon/radeon_vcn_dec.c View File

@@ -498,12 +498,17 @@ static rvcn_dec_message_mpeg2_vld_t get_mpeg2_msg(struct radeon_decoder *dec,
result.forward_ref_pic_idx = get_ref_pic_idx(dec, pic->ref[0]);
result.backward_ref_pic_idx = get_ref_pic_idx(dec, pic->ref[1]);

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;

Loading…
Cancel
Save