gstreamer/subprojects/gst-plugins-good/ext
Michael Olbrich 59290feca4 jpegdec: decode the correct number of lines for interlaced frames
For interlaced jpeg, gst_jpeg_dec_decode_direct() is called twice, once for each
field. In this case, stride[n] is plane_stride[n] * 2 to ensure that only every
other line is written. So the loop must stop at height / num_fields.

If the frame is really interlaced then continuing beyound this, is not harmful,
because jpeg_read_raw_data() will do nothing and return 0, so am info message is
printed.

However, if the frame is not actually interlaced, just misdetected as interlaced
then there is still data available from the second half of the frame. Now
line[0][j] is set to the scratch buffer. If the scratch buffer is not allocated
(because the height is a multiple of v_samp[0] * DCTSIZE) then the result is a
segfault due to a null-pointer dereference.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4696>
2023-05-25 18:34:34 +00:00
..
aalib meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
adaptivedemux2 doc: Fix newline char between authors 2023-05-20 05:48:23 +00:00
amrnb amrnb, amrwbdec: move AMR-NB and AMR-WB plugins to -good 2023-05-02 23:33:12 +00:00
amrwbdec amrnb, amrwbdec: move AMR-NB and AMR-WB plugins to -good 2023-05-02 23:33:12 +00:00
cairo meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
dv meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
flac flacenc: Fix mapping of GStreamer image tag type to FLAC image tag type 2023-03-18 16:17:01 +02:00
gdk_pixbuf gdkpixbuf: drop use of GSlice 2023-01-24 15:25:06 +00:00
gtk gst-plugins-good: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
jack jack: tone down log ERRORs in case no JACK server is running 2023-05-08 21:20:20 +00:00
jpeg jpegdec: decode the correct number of lines for interlaced frames 2023-05-25 18:34:34 +00:00
lame meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
libcaca Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir 2021-09-24 16:13:50 -03:00
libpng pngenc: lower minimum width and height to 1x1 2022-09-09 09:59:56 +00:00
mpg123 meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
pulse pulse: Change bitfield booleans to normal gbooleans 2023-05-14 15:58:35 +00:00
qt meson: Add more qt options and eliminate all automagic 2023-05-09 13:18:38 +00:00
qt6 qml6: add a mixer element 2023-05-19 01:48:57 +00:00
raw1394 Move files from gst-plugins-good into the "subprojects/gst-plugins-good/" subdir 2021-09-24 16:13:50 -03:00
shout2 shout: fix minimum requirement to libshout >= 2.4.3 2022-09-19 20:50:25 +03:00
soup adaptivedemux2: Prevent duplicate symbols on static builds 2022-06-15 01:13:16 +00:00
speex meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
taglib meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
twolame meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
vpx vpx: drop use of GSlice 2023-01-24 15:25:06 +00:00
wavpack gst-plugins-good: re-indent with GNU indent 2.2.12 2023-03-17 03:18:54 +00:00
meson.build amrnb, amrwbdec: move AMR-NB and AMR-WB plugins to -good 2023-05-02 23:33:12 +00:00