Commit graph

94 commits

Author SHA1 Message Date
Tim-Philipp Müller
bf56fd97b6 Use g_memdup2() where available and add fallback for older GLib versions
- png: alloc size variable is a png type that's always 32-bit
- vpx: alloc size based on existing allocation
- wavpack: alloc size based on existing allocation
- icles: gdkpixbufoverlay: trusted and hard-coded input data
- rtp tests: rtp-payloading, vp8, vp9, h264, h265: trusted and/or static input data

g_memdup() is deprecated since GLib 2.68 and we want to avoid
deprecation warnings with recent versions of GLib.

Also use gst_buffer_new_memdup() instead of _wrapped(g_memdup(),..)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/993>
2021-06-02 17:34:38 +01:00
Stéphane Cerveau
fb29c4b07f libpng: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
2021-03-29 12:45:21 +02:00
Thibault Saunier
0a6a62aa76 docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
Andreas Frisch
5615ec59c4 pngdec: fix build with libpng versions between 1.2 and 1.5.1
https://bugzilla.gnome.org/show_bug.cgi?id=765927
2017-10-20 09:31:31 +02:00
Andreas Frisch
9fd988170a pngdec: Extract icc profiles and send them downstreams for colormanagement elements
https://bugzilla.gnome.org/show_bug.cgi?id=765927
2017-10-19 16:49:10 +02:00
Nicolas Dufresne
7af9271c85 pngdec: Wait for segment event before checking it
The heuristic to choose between packetise or not was changed to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.

https://bugzilla.gnome.org/show_bug.cgi?id=736252
2016-06-07 20:53:34 -04:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Thiago Santos
16fbd4f86f videodecoders: use default pad accept-caps handling
Avoids useless check of downstream caps when handling an
accept-caps query

Elements: jpegdec, pngdec, vp8dec, vp9dec
2015-08-15 11:46:32 -03:00
Vineeth T M
63e0b29291 pngdec: change parse logic
Right now in parse logic the signature is checked every time the parse function
is called, and the whole data is the scanned each and every time, even though the
data is scanned in the previous instance. Changing the logic such that, we skip
the bytes which are already scanned in the previous instances of parse. This
helps in avoiding multiple scan of already scanned data/signature.

https://bugzilla.gnome.org/show_bug.cgi?id=737708
2014-11-04 10:55:32 +00:00
Sanjay NM
26a1344f37 Miscellaneous minor cleanups
Fix redundant variables and assignments,
and unreachable breaks.

https://bugzilla.gnome.org/show_bug.cgi?id=736875
https://bugzilla.gnome.org/show_bug.cgi?id=736876
https://bugzilla.gnome.org/show_bug.cgi?id=736879
https://bugzilla.gnome.org/show_bug.cgi?id=736880
https://bugzilla.gnome.org/show_bug.cgi?id=736881
https://bugzilla.gnome.org/show_bug.cgi?id=736888
https://bugzilla.gnome.org/show_bug.cgi?id=736890
https://bugzilla.gnome.org/show_bug.cgi?id=736892
https://bugzilla.gnome.org/show_bug.cgi?id=736893
https://bugzilla.gnome.org/show_bug.cgi?id=736894
2014-09-24 00:45:31 +01:00
Sebastian Dröge
f489beb7c5 pngdec: Remove unused variable 2014-09-16 11:25:42 +03:00
Vineeth T M
e45e6382d6 pngdec: modify wrong packetized mode logic
packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.

https://bugzilla.gnome.org/show_bug.cgi?id=736252
2014-09-16 11:25:24 +03:00
Rafał Mużyło
b32de2794b pngdec: enable libpng interlaced picture handling
Makes libpng deinterlace Adam7 interlaced pictures
by default. It is the only interlaced format available
and if the picture isn't interlaced the code should behave
as before.

https://bugzilla.gnome.org/show_bug.cgi?id=726161
2014-04-11 19:12:25 -03:00
Sebastian Dröge
5eb4901a8c pngdec: All frames are sync points 2014-03-26 08:03:46 +01:00
Sebastian Dröge
b1e442236f ext: Use new flush vfunc of video codec base classes and remove reset implementations 2013-08-15 15:08:05 +02:00
Sebastian Dröge
0392a0dc3d pngdec: Implement parsing functionality
This allows to plug pngdec directly without a parser if that
is desired.

Parsing code is based on pngparse.
2013-05-07 16:31:59 +02:00
Sebastian Dröge
63fd591044 pngdec: Actually use the stop() vfunc implementation 2012-11-12 10:44:01 +01:00
Sebastian Dröge
f37fca4e00 pngdec: Keep the input state in reset()
It's still valid after a flush and we might not get a new one.
2012-11-12 10:11:32 +01:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Tim-Philipp Müller
9dcdc413a7 jpeg, png, vpx: use gst_element_class_set_static_metadata()
Avoids some string copies.
2012-10-17 17:03:39 +01:00
Mark Nauwelaerts
a32398fee5 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:07:40 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
4de8bd004c No code with side-effects inside g_assert() please 2012-08-08 11:07:55 +01:00
Sebastian Dröge
6e673d4796 ext: Update for video base classes API changes 2012-07-23 10:32:36 +02:00
Edward Hervey
fa5697ec08 jpeg/png: Call video_decoder_negotiate() 2012-07-18 18:27:40 +02:00
Wim Taymans
8eadb9c12c update for query api changes 2012-07-06 11:26:46 +02:00
Vincent Penquerc'h
088c4442c4 png: fix video state leaks 2012-06-07 11:25:23 +01:00
Thiago Santos
78ec03e32f Some printf variable format fixes
The osx compiler complains about those
2012-06-05 17:53:57 -03:00
Sebastian Dröge
5ba30e6111 png: Port to 0.11 again 2012-05-28 15:22:55 +02:00
Edward Hervey
0b82806547 png: Port to base video classes
Conflicts:

	ext/libpng/gstpngdec.c
	ext/libpng/gstpngdec.h
	ext/libpng/gstpngenc.c
	ext/libpng/gstpngenc.h

Reverted to 0.10, needs to be ported again.
2012-05-28 15:22:55 +02:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Wim Taymans
c44cd8f55b Merge branch 'master' into 0.11
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850

Conflicts:
	docs/plugins/Makefile.am
	docs/plugins/gst-plugins-good-plugins-docs.sgml
	docs/plugins/gst-plugins-good-plugins-sections.txt
	docs/plugins/gst-plugins-good-plugins.hierarchy
	docs/plugins/inspect/plugin-avi.xml
	docs/plugins/inspect/plugin-png.xml
	ext/flac/gstflacdec.c
	ext/flac/gstflacdec.h
	ext/libpng/gstpngdec.c
	ext/libpng/gstpngenc.c
	ext/speex/gstspeexdec.c
	gst/audioparsers/gstflacparse.c
	gst/flv/gstflvmux.c
	gst/rtp/gstrtpdvdepay.c
	gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Wim Taymans
513d480fbf don't pass random pointers to pull_range 2012-03-16 21:47:21 +01:00
Wim Taymans
ced47580b7 update for bufferpool changes 2012-03-15 22:11:17 +01:00
Wim Taymans
f3a770a20c update for allocation query changes 2012-03-15 20:37:56 +01:00
Wim Taymans
751fcf035b take padding into account 2012-03-14 19:56:56 +01:00
Andrej Gelenberg
38372eb199 pngdec: add support for video/x-raw-gray formats
pngdec can now decode gray 8- and 16-bit images without alpha channel
direct to video/x-raw-gray format. 16-bit gray images have big-endian
format, because it's native PNG endianness. Gray images with alpha
channel still converted to RGBA.

Signed-off-by: Andrej Gelenberg <andrej.gelenberg@udo.edu>
2012-03-12 15:18:12 +01:00
Wim Taymans
9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Wim Taymans
f87ab74add png: port to new memory API 2012-01-25 12:41:42 +01:00
Mark Nauwelaerts
2fcb5fa05b pngdec: port to 0.11 2012-01-24 18:25:04 +01:00
Wim Taymans
47a1da9076 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-04 10:01:48 +01:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
David Schleef
24d57ac961 pngdec: Remove temporary code
Now that we depend on (what will be) -base-0.10.33.
2011-04-24 18:53:50 -07:00
David Schleef
13d441315f pngdec: Handle 16-bit-per-channel images 2011-02-20 12:12:51 -08:00
Stefan Kost
a513a7be75 pngdec: use png_error() as recommended by libpng docs to signal an error
Without that the element loops endlessly on broekn pngs. Fixes #634314
2010-12-03 09:49:26 +02:00
Sebastian Dröge
58427ee02d pngdec: Don't use GST_FLOW_IS_FATAL()
And don't post an error message if downstream returns UNEXPECTED.
2010-09-04 14:52:11 +02:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Руслан Ижбулатов
bc873f7133 pngenc: Use png_get_io_ptr() instead of accessing io_ptr directly
Fixes #612700 (for the last time!)
2010-03-16 15:20:21 +01:00
David Hoyt
2514421c13 png: fix compilation with libpng 1.4
png_set_gray_1_2_4_to_8() has been deprecated for a while and was
finally removed in libpng 1.4.x. Use png_set_expand_gray_1_2_4_to_8()
instead.

Fixes #608629.
2010-02-02 00:04:34 +00:00
Jan Schmidt
d9544bcc44 pngdec: Avoid possible overflow in calculations
A malformed (or simply huge) PNG file can lead to integer overflow in
calculating the size of the output buffer, leading to crashes or buffer
overflows later. Fixes SA35205 security advisory.
2009-06-02 13:44:39 +01:00