Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun Zhao <mypopydev@gmail.com>2016-11-22 10:58:50 +0300
committerMark Thompson <sw@jkqxz.net>2016-11-24 00:38:10 +0300
commit584eea5bf3e40e2dbab986f8e9e8f01c8a4426d2 (patch)
tree7a137ea5e2164701aa962ad2ae3e1df6c42e59b9 /libavcodec/vaapi_hevc.c
parentd84a21207ea83055dc9b6dc1cd6a379f2ea756e7 (diff)
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: Wang, Yi A <yi.a.wamg@intel.com> Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
Diffstat (limited to 'libavcodec/vaapi_hevc.c')
-rw-r--r--libavcodec/vaapi_hevc.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/libavcodec/vaapi_hevc.c b/libavcodec/vaapi_hevc.c
index 62f783e308..dd43463bdb 100644
--- a/libavcodec/vaapi_hevc.c
+++ b/libavcodec/vaapi_hevc.c
@@ -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];