Commit 584eea5b authored by Jun Zhao's avatar Jun Zhao Committed by Mark Thompson

lavc/vaapi_hevc: fix scaling list duplicate transfer issue.

scaling list is already transfered to raster scan during head parsing,
so no need to transfer it again.

And after this fix, FATE test SLIST_A_Sony_4/SLIST_B_Sony_8/
SLIST_C_Sony_3/SLIST_D_Sony_9 will pass in i965/Skylake.
Signed-off-by: 's avatarWang, Yi A <yi.a.wamg@intel.com>
Signed-off-by: 's avatarJun Zhao <jun.zhao@intel.com>
Signed-off-by: 's avatarMark Thompson <sw@jkqxz.net>
parent d84a2120
......@@ -265,7 +265,7 @@ static int vaapi_hevc_start_frame(AVCodecContext *avctx,
VAPictureParameterBufferHEVC *pic_param;
VAIQMatrixBufferHEVC *iq_matrix;
ScalingList const * scaling_list;
int i, j, pos;
int i, j;
ff_dlog(avctx, "vaapi_hevc_start_frame()\n");
......@@ -293,15 +293,13 @@ static int vaapi_hevc_start_frame(AVCodecContext *avctx,
for (i = 0; i < 6; ++i) {
for (j = 0; j < 16; ++j) {
pos = 4 * ff_hevc_diag_scan4x4_y[j] + ff_hevc_diag_scan4x4_x[j];
iq_matrix->ScalingList4x4[i][j] = scaling_list->sl[0][i][pos];
iq_matrix->ScalingList4x4[i][j] = scaling_list->sl[0][i][j];
}
for (j = 0; j < 64; ++j) {
pos = 8 * ff_hevc_diag_scan8x8_y[j] + ff_hevc_diag_scan8x8_x[j];
iq_matrix->ScalingList8x8[i][j] = scaling_list->sl[1][i][pos];
iq_matrix->ScalingList16x16[i][j] = scaling_list->sl[2][i][pos];
iq_matrix->ScalingList8x8[i][j] = scaling_list->sl[1][i][j];
iq_matrix->ScalingList16x16[i][j] = scaling_list->sl[2][i][j];
if (i < 2) {
iq_matrix->ScalingList32x32[i][j] = scaling_list->sl[3][i * 3][pos];
iq_matrix->ScalingList32x32[i][j] = scaling_list->sl[3][i * 3][j];
}
}
iq_matrix->ScalingListDC16x16[i] = scaling_list->sl_dc[0][i];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment