History

avfilter/avf_showcqt: fix crash when using vflip filter

Paul B Mahol committed 3 years ago

Commit 4c1a79e1 parent 9d2b5761 file · +4 −3Browse files

Unified · Split

libavfilter/avf_showcqt.c+4−3
@@ -1031,16 +1031,17 @@ static void draw_sono(AVFrame *out, AVFrame *sono, int off, int idx) · 1030 unmodified lines
1031 int nb_planes = (fmt == AV_PIX_FMT_RGB24) ? 1 : 3;1031 int nb_planes = (fmt == AV_PIX_FMT_RGB24) ? 1 : 3;
1032 int offh = (fmt == AV_PIX_FMT_YUV420P) ? off / 2 : off;1032 int offh = (fmt == AV_PIX_FMT_YUV420P) ? off / 2 : off;
1033 int inc = (fmt == AV_PIX_FMT_YUV420P) ? 2 : 1;1033 int inc = (fmt == AV_PIX_FMT_YUV420P) ? 2 : 1;
1034 int ls, i, y, yh;1034 ptrdiff_t ls;
1035 int i, y, yh;
1035 1036
1036 ls = FFMIN(out->linesize[0], sono->linesize[0]);1037 ls = FFABS(FFMIN(out->linesize[0], sono->linesize[0]));
1037 for (y = 0; y < h; y++) {1038 for (y = 0; y < h; y++) {
1038 memcpy(out->data[0] + (off + y) * out->linesize[0],1039 memcpy(out->data[0] + (off + y) * out->linesize[0],
1039 sono->data[0] + (idx + y) % h * sono->linesize[0], ls);1040 sono->data[0] + (idx + y) % h * sono->linesize[0], ls);
1040 }1041 }
1041 1042
1042 for (i = 1; i < nb_planes; i++) {1043 for (i = 1; i < nb_planes; i++) {
1043 ls = FFMIN(out->linesize[i], sono->linesize[i]);1044 ls = FFABS(FFMIN(out->linesize[i], sono->linesize[i]));
1044 for (y = 0; y < h; y += inc) {1045 for (y = 0; y < h; y += inc) {
1045 yh = (fmt == AV_PIX_FMT_YUV420P) ? y / 2 : y;1046 yh = (fmt == AV_PIX_FMT_YUV420P) ? y / 2 : y;
1046 memcpy(out->data[i] + (offh + yh) * out->linesize[i],1047 memcpy(out->data[i] + (offh + yh) * out->linesize[i],

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t