aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-13 18:04:57 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-19 04:47:17 +0200
commite424d1f557271d506336345b9b3da0a20ef3eaf3 (patch)
treea06c6eb9f5cd79f4ac25a9ac7527d2884b17d543
parenta85d2de45f37aace0cbdb754881effa0c9689784 (diff)
downloadffmpeg-e424d1f557271d506336345b9b3da0a20ef3eaf3.tar.gz
avfilter/vf_spp: Add dummy element to array to avoid shift
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavfilter/vf_spp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c
index 6c15dbaf66..b9b5f7bc78 100644
--- a/libavfilter/vf_spp.c
+++ b/libavfilter/vf_spp.c
@@ -93,7 +93,8 @@ DECLARE_ALIGNED(8, static const uint8_t, ldither)[8][8] = {
{ 42, 26, 38, 22, 41, 25, 37, 21 },
};
-static const uint8_t offset[127][2] = {
+static const uint8_t offset[128][2] = {
+ {0,0}, // unused
{0,0},
{0,0}, {4,4}, // quality = 1
{0,0}, {2,2}, {6,4}, {4,6}, // quality = 2
@@ -283,8 +284,8 @@ static void filter(SPPContext *p, uint8_t *dst, uint8_t *src,
qp = FFMAX(1, ff_norm_qscale(qp, p->qscale_type));
}
for (i = 0; i < count; i++) {
- const int x1 = x + offset[i + count - 1][0];
- const int y1 = y + offset[i + count - 1][1];
+ const int x1 = x + offset[i + count][0];
+ const int y1 = y + offset[i + count][1];
const int index = x1 + y1*linesize;
p->dct->get_pixels_unaligned(block, p->src + sample_bytes*index, sample_bytes*linesize);
p->dct->fdct(block);