mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 03:29:50 +00:00
7892e1e22f
Fix invalid memory access caused by broken pointer arithmetic. If we have a uint16_t *tmpbuf and add n * dest->stride to it, we skip twice as much as we intended to because dest->stride is in bytes and not in pixels. This made us write beyond the end of our allocated temp buffer, and made the unit test crash. |
||
---|---|---|
.. | ||
.gitignore | ||
gstvideoscale.c | ||
gstvideoscale.h | ||
gstvideoscaleorc-dist.c | ||
gstvideoscaleorc-dist.h | ||
gstvideoscaleorc.orc | ||
Makefile.am | ||
README | ||
videoscale.vcproj | ||
vs_4tap.c | ||
vs_4tap.h | ||
vs_fill_borders.c | ||
vs_fill_borders.h | ||
vs_image.c | ||
vs_image.h | ||
vs_lanczos.c | ||
vs_scanline.c | ||
vs_scanline.h |
- test different strides using gst-launch -v videotestsrc ! video/x-raw-yuv,width=320,height=240,format=\(fourcc\)UYVY ! videoscale ! video/x-raw-yuv,width=328,height=240 ! xvimagesink gst-launch -v videotestsrc ! video/x-raw-yuv,width=320,height=240,format=\(fourcc\)UYVY ! videoscale ! video/x-raw-yuv,width=324,height=240 ! xvimagesink gst-launch -v videotestsrc ! video/x-raw-yuv,width=320,height=240,format=\(fourcc\)UYVY ! videoscale ! video/x-raw-yuv,width=322,height=240 ! xvimagesink gst-launch -v videotestsrc ! video/x-raw-yuv,width=320,height=240,format=\(fourcc\)UYVY ! videoscale ! video/x-raw-yuv,width=321,height=240 ! xvimagesink