avcodec/cdgraphics: fix for negative linesize and vertical scrolling

This commit is contained in:
Paul B Mahol 2023-09-26 16:32:58 +02:00
parent 8fa83ad70f
commit e1530a319a

View File

@ -249,11 +249,11 @@ static void cdg_scroll(CDGraphicsContext *cc, uint8_t *data,
if (vinc > 0) if (vinc > 0)
cdg_fill_wrapper(0, 0, out, cdg_fill_wrapper(0, 0, out,
0, CDG_FULL_HEIGHT - vinc, in, color, 0, CDG_FULL_HEIGHT - vinc, in, color,
stride, vinc, stride, roll_over); FFABS(stride), vinc, stride, roll_over);
else if (vinc < 0) else if (vinc < 0)
cdg_fill_wrapper(0, CDG_FULL_HEIGHT + vinc, out, cdg_fill_wrapper(0, CDG_FULL_HEIGHT + vinc, out,
0, 0, in, color, 0, 0, in, color,
stride, -1 * vinc, stride, roll_over); FFABS(stride), -1 * vinc, stride, roll_over);
if (hinc > 0) if (hinc > 0)
cdg_fill_wrapper(0, 0, out, cdg_fill_wrapper(0, 0, out,