From d8f7d20b6a12468999f6de7299d4f33deedf6861 Mon Sep 17 00:00:00 2001 From: Gan Zhang Date: Wed, 20 Nov 2019 05:49:54 +0000 Subject: h265: The code stream with width and height of 64 failed the CTS test. [1/1] PD#SWPL-17038 Problem: When the width and height of the decoded macro block is 1, the HEVC_PARSER_LCU_START parameter read from the register is 0, which will cause the decoded data to be set to error. Solution: (hevc->lcu_x_num * hevc->lcu_y_num != 1) Add the above judgment conditions to unset the decoded data to Error. Verify: P212 Change-Id: Ia89f5381059ef6d996bb8c60408324e0509e5b2d Signed-off-by: Gan Zhang --- diff --git a/drivers/frame_provider/decoder/h265/vh265.c b/drivers/frame_provider/decoder/h265/vh265.c index 37e6969..58e2c2b 100644 --- a/drivers/frame_provider/decoder/h265/vh265.c +++ b/drivers/frame_provider/decoder/h265/vh265.c @@ -9481,7 +9481,8 @@ pic_done: check_pic_decoded_error(hevc, READ_VREG(HEVC_PARSER_LCU_START) & 0xffffff); if (hevc->cur_pic != NULL && - (READ_VREG(HEVC_PARSER_LCU_START) & 0xffffff) == 0) + (READ_VREG(HEVC_PARSER_LCU_START) & 0xffffff) == 0 + && (hevc->lcu_x_num * hevc->lcu_y_num != 1)) hevc->cur_pic->error_mark = 1; force_output: pic_display = output_pic(hevc, 1); -- cgit