summaryrefslogtreecommitdiff
path: root/libavfilter/vsrc_testsrc.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2015-08-10 11:17:52 +0200
committerPaul B Mahol <onemda@gmail.com>2015-08-10 11:29:39 +0200
commit7a7ca3cc2f43e7a7b61fdad8200b365ff0977bd2 (patch)
tree10ff97d0ec7d11f54721782e91675b47205756ab /libavfilter/vsrc_testsrc.c
parent10ea06b3bb863b8dca51f65c4b725eeba8557f12 (diff)
downloadffmpeg-7a7ca3cc2f43e7a7b61fdad8200b365ff0977bd2.tar.gz
avfilter/vsrc_testsrc: smpte(hd)bars: fix uninitialized last rows and columns of chroma planes
For cases width and/or height is not multiple of chroma subsamplings.
Diffstat (limited to 'libavfilter/vsrc_testsrc.c')
-rw-r--r--libavfilter/vsrc_testsrc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavfilter/vsrc_testsrc.c b/libavfilter/vsrc_testsrc.c
index 3f0da185ed..585288a12e 100644
--- a/libavfilter/vsrc_testsrc.c
+++ b/libavfilter/vsrc_testsrc.c
@@ -843,7 +843,7 @@ static const uint8_t black4[4] = { 25, 128, 128, 255 };
static const uint8_t neg2[4] = { 12, 128, 128, 255 };
static void draw_bar(TestSourceContext *test, const uint8_t color[4],
- unsigned x, unsigned y, unsigned w, unsigned h,
+ int x, int y, int w, int h,
AVFrame *frame)
{
const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format);
@@ -865,9 +865,9 @@ static void draw_bar(TestSourceContext *test, const uint8_t color[4],
if (plane == 1 || plane == 2) {
px = x >> desc->log2_chroma_w;
- pw = w >> desc->log2_chroma_w;
+ pw = FF_CEIL_RSHIFT(w, desc->log2_chroma_w);
py = y >> desc->log2_chroma_h;
- ph = h >> desc->log2_chroma_h;
+ ph = FF_CEIL_RSHIFT(h, desc->log2_chroma_h);
} else {
px = x;
pw = w;