[FFmpeg-devel] [PATCH] hevc: Fix scaling list prediction delta for the 32x32 inter matrix

Mark Thompson sw at jkqxz.net
Sun Apr 30 15:34:01 EEST 2017


Fixes ticket #6356.
---
This was broken in 627c044f50da3046809314f7cc742b8a10cf26a1, which changed the array index of the 32x32 inter matrix but missed this case.

Sample at <https://trac.ffmpeg.org/ticket/6356> - with this change the output for that sample matches the reference decoder.


 libavcodec/hevc_ps.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index 6d67dd9c69..3e00e4b3f3 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -719,6 +719,7 @@ static int scaling_list_data(GetBitContext *gb, AVCodecContext *avctx, ScalingLi
                  * which should already be in the arrays. */
                 if (delta) {
                     // Copy from previous array.
+                    delta *= (size_id == 3) ? 3 : 1;
                     if (matrix_id < delta) {
                         av_log(avctx, AV_LOG_ERROR,
                                "Invalid delta in scaling list data: %d.\n", delta);
-- 
2.11.0



More information about the ffmpeg-devel mailing list