Commit graph

161 commits

Author SHA1 Message Date
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 bae53878e6 png: Link with libgstbase for GstByteReader and GstAdapter 2013-06-07 15:38:25 +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 b0b0557c48 gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
David Schleef 220d341b77 pngenc: unmap source frame when done 2013-03-22 15:19:19 -07:00
Sebastian Dröge 0726b71ceb ext/sys: Fix some compilation errors caused by circular includes 2012-12-12 17:35:04 +00: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 16b8e2d171 update for query api changes 2012-07-06 11:50:50 +02:00
Wim Taymans 8eadb9c12c update for query api changes 2012-07-06 11:26:46 +02:00
Wim Taymans 77813e67e1 update for allocation query changes 2012-07-06 11:05:11 +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
Sebastian Dröge aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge 5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02: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 9fb6766870 pngenc: add support for 8- and 16-bit gray images
Add support for direct encoding of 8- and 16-bit big endian gray images.

https://bugzilla.gnome.org/show_bug.cgi?id=672025
2012-03-14 13:43:49 +00: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 a31a9e1f33 pngenc: disably snapshot behaviour by default
... since such behaviour is not consistent, if allowable at all.
2012-01-24 18:25:04 +01:00
Mark Nauwelaerts 2fcb5fa05b pngdec: port to 0.11 2012-01-24 18:25:04 +01:00
Mark Nauwelaerts a1797459cb pngenc: 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
René Stadler 41116224c8 pngenc: increase arbitrary resolution limits
Apparently libpng can technically do up to 2^31-1 rows and columns. However it
imposes an (arbitrary) default limit of 1 million (that could theoretically be
lifted by using some additional API).

Moved array allocation to the heap now.
2011-10-21 10:27:04 +02:00
René Stadler db1f10adc8 pngenc: don't unconditionally allocate 4096 pointers on the stack
Instead allocate as many as needed (on the stack still).
2011-10-21 10:26:48 +02:00
René Stadler 65f9354803 pngenc: ensure setcaps was called before chain function
This is needed to properly error out for e.g. "fakesrc ! pngenc ! fakesink".
2011-10-21 10:26:20 +02:00
René Stadler 7e390c4635 pngenc: validate input buffer size
Just for safety; of course such mismatch represents a bug in another element.
2011-10-21 10:25:51 +02:00
René Stadler 9eb55c3d8f pngenc: make setcaps more robust, use gstvideo functions
A setcaps function needs to actually verify the caps carefully. In this case,
it was possible to e.g. link a video decoder with YUV+RGB template caps to
pngenc.  That would cause a crash when the decoder pushes a YUV buffer. Same
thing when pushing a valid buffer that exceeds the resolution limits.

Also, missing framerate caps field would cause a glib critical warning due to
invalid GValue. This fails hard now.
2011-10-21 10:25:08 +02:00