summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorrcombs <rcombs@rcombs.me>2021-12-23 15:12:44 -0600
committerrcombs <rcombs@rcombs.me>2022-01-04 19:39:22 -0600
commit5018103fa32cdf5725e8e1309b9ddf89958910b1 (patch)
treea736b86c1447830dd06908945583e7d4bff297fe /libavfilter
parent186e931f74bbc368e576965365006de8b3433cbf (diff)
lavfi/drawutils: reject shift-packed formats
Disables x2bgr10/x2rgb10 (which did not behave correctly before).
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/drawutils.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c
index 6b46f5803d..0965afb03e 100644
--- a/libavfilter/drawutils.c
+++ b/libavfilter/drawutils.c
@@ -105,6 +105,9 @@ int ff_draw_init(FFDrawContext *draw, enum AVPixelFormat format, unsigned flags)
return AVERROR(ENOSYS);
if (c->plane >= MAX_PLANES)
return AVERROR(ENOSYS);
+ /* data must either be in the high or low bits, never middle */
+ if (c->shift && ((c->shift + c->depth) & 0x7))
+ return AVERROR(ENOSYS);
/* strange interleaving */
if (pixelstep[c->plane] != 0 &&
pixelstep[c->plane] != c->step)