Commit graph

432 commits

Author SHA1 Message Date
Wim Taymans 177fd005ab update for query api changes 2012-07-06 11:23:48 +02:00
Wim Taymans bc5ba349b7 update for allocation query changes 2012-07-06 11:05:09 +02:00
Tim-Philipp Müller b381af7d2d theoraenc: clean up some property descriptions
We now require a sufficiently-recent libtheora.
2012-06-28 23:07:16 +01:00
Jan Schmidt 30c9bb709b theoradec: Remove use of NEED_DATA
Remove the confusing internal-only use of
the GST_VIDEO_DECODER_FLOW_NEED_DATA return code.
2012-06-17 12:42:08 +10:00
Jan Schmidt 2fbb803d85 theoradec: Always inform base class when dropping frames
Partially fixes backwards playback. Informing the base class
of the dropped frame lets it manage the timestamping and events
better.
2012-06-13 03:17:27 +10:00
Vincent Penquerc'h 03ef88d7da theoradec: fix frame leaks 2012-06-07 13:36:35 +01:00
Vincent Penquerc'h d4b8778299 theoradec: fix video state leaks 2012-06-07 11:23:23 +01:00
Wim Taymans a2172bdb4b update for tag event change 2012-06-06 13:05:47 +02:00
Thiago Santos 81b914a61f theoraenc: do not use %zu, it is C99
Cast the variables instead and fallback to %u
2012-05-31 18:55:32 -03:00
Thiago Santos 772e3d514d theoraenc: fix printf format variable 2012-05-31 18:28:14 -03:00
Sreerenj Balachandran 663abda778 theoradec: remove usless checking of return val.
fixes https://bugzilla.gnome.org/show_bug.cgi?id=676525
2012-05-24 11:12:26 +02:00
Sreerenj Balachandran d9ec99e598 theoradec: remove the nonuse parameter from handle_type_packet() method 2012-05-23 10:16:25 +02:00
Sreerenj Balachandran 8054c66194 theoradec: stream is marking as non-packeized so that the data gets parsed and keyframes marked 2012-05-23 10:16:25 +02:00
Edward Hervey a4eda89b3c theoraenc: Don't leak incoming frames (and buffers)
We get given a reference in ::handle_frame(), remove it when we're done.
2012-05-15 08:38:41 +02:00
Sebastian Dröge 7ff23514ee theoradec: Correctly handle crop metadata and update for videodecoder API changes 2012-05-01 13:33:20 +02:00
Sebastian Dröge 0c2f43750d theoradec: Unref state when we're done with it 2012-04-25 14:34:43 +02:00
Sebastian Dröge 71fc0a7f3e theoradec: Update for video decoder API changes
And also improve the buffer pool handling.
2012-04-25 13:19:11 +02:00
Sebastian Dröge 261188ae68 theoraenc: Update for video encoder API changes and propose video-meta for allocation 2012-04-25 13:19:11 +02:00
Sebastian Dröge 894875d705 theoradec: Use crop metadata if possible and refactor cropping code a bit 2012-04-24 22:35:58 +02:00
Sebastian Dröge 8571293311 theoradec: Set some more information on the output caps 2012-04-24 22:05:53 +02:00
Sebastian Dröge e120979f17 theora: Port to 0.11 again with the new base classes 2012-04-24 21:32:28 +02:00
Sebastian Dröge a0e3a9e32d Merge remote-tracking branch 'origin/0.10'
Video base classes and theora plugin still needs to be ported again

Conflicts:
	docs/libs/gst-plugins-base-libs-docs.sgml
	docs/libs/gst-plugins-base-libs-sections.txt
	docs/libs/gst-plugins-base-libs.types
	ext/theora/gsttheoradec.c
	ext/theora/gsttheoradec.h
	ext/theora/gsttheoraenc.c
	ext/theora/gsttheoraenc.h
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst-libs/gst/video/video.h
	gst/playback/gsturidecodebin.c
	tests/check/libs/video.c
	tests/check/pipelines/theoraenc.c
	win32/common/libgstvideo.def
2012-04-24 18:14:31 +02:00
Mark Nauwelaerts 7bfd1bc3d7 theora: Port to base video classes
FIXME : Don't forget to backport changes that happened to theoraenc
since April 2011

theoraenc: Don't create keyframe on time gap

There is no rational to do so, and also gst_video_encoder_set_discont() is
gone from base class.
2012-04-24 17:03:40 +02:00
Tim-Philipp Müller 3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Sebastian Dröge 65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Wim Taymans de7148a942 theoradec: deactivate pool on negotiation
Deactivate the old bufferpool when we negotiate a new one.
2012-04-02 12:48:45 +02:00
Sebastian Dröge 27408ee47f theoradec: Add crop metadata before mapping the buffer content
Otherwise the buffer is not writable and the crop metadata can't be added.
2012-03-30 13:52:56 +02:00
Edward Hervey c5d7bb8918 theoraenc: Specify array size
Fixes error: initialization of flexible array member is not allowed
2012-03-30 12:02:37 +02:00
Wim Taymans 2ad7e8f217 theoradec: add performance debug 2012-03-20 13:31:24 +01:00
Wim Taymans 1e884df1df update for bufferpool changes 2012-03-15 22:10:58 +01:00
Wim Taymans 7c0e2b5b1e update for allocation query changes 2012-03-15 20:36:51 +01:00
Wim Taymans 39d78762b9 take padding into account 2012-03-14 19:56:51 +01:00
Wim Taymans 25137962ad fix for caps API changes 2012-03-11 19:04:41 +01:00
Wim Taymans e45e6bc297 theoradec: init VideoInfo before usage. 2012-03-02 17:10:26 +01:00
Wim Taymans f9bdf436f9 theoradec: move negotiation code around
Move the format negotiation to the bufferpool negotiation.
2012-03-02 11:34:10 +01:00
Wim Taymans 271939d118 theoradec: move some code
The parsing of the headers consists of negotiating the format and then setting
up the decoder so split this in two parts.
2012-03-02 11:34:10 +01:00
Wim Taymans f89c85485d theoradec: use the right GstVideoInfo
Keep track if we use the cropped or uncropped dimensions in the bufferpool and
map using the right GstVideoInfo.
2012-03-02 11:34:10 +01:00
Sebastian Dröge 84a02f9f13 Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11 2012-03-02 10:13:52 +01:00
Sebastian Dröge f7939bb43f Merge branch 'master' into 0.11
Conflicts:
	NEWS
	RELEASE
	configure.ac
	docs/plugins/gst-plugins-base-plugins.args
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/inspect/plugin-adder.xml
	docs/plugins/inspect/plugin-alsa.xml
	docs/plugins/inspect/plugin-app.xml
	docs/plugins/inspect/plugin-audioconvert.xml
	docs/plugins/inspect/plugin-audiorate.xml
	docs/plugins/inspect/plugin-audioresample.xml
	docs/plugins/inspect/plugin-audiotestsrc.xml
	docs/plugins/inspect/plugin-cdparanoia.xml
	docs/plugins/inspect/plugin-encoding.xml
	docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	docs/plugins/inspect/plugin-gdp.xml
	docs/plugins/inspect/plugin-gio.xml
	docs/plugins/inspect/plugin-gnomevfs.xml
	docs/plugins/inspect/plugin-libvisual.xml
	docs/plugins/inspect/plugin-ogg.xml
	docs/plugins/inspect/plugin-pango.xml
	docs/plugins/inspect/plugin-playback.xml
	docs/plugins/inspect/plugin-subparse.xml
	docs/plugins/inspect/plugin-tcp.xml
	docs/plugins/inspect/plugin-theora.xml
	docs/plugins/inspect/plugin-typefindfunctions.xml
	docs/plugins/inspect/plugin-uridecodebin.xml
	docs/plugins/inspect/plugin-videorate.xml
	docs/plugins/inspect/plugin-videoscale.xml
	docs/plugins/inspect/plugin-videotestsrc.xml
	docs/plugins/inspect/plugin-volume.xml
	docs/plugins/inspect/plugin-vorbis.xml
	docs/plugins/inspect/plugin-ximagesink.xml
	docs/plugins/inspect/plugin-xvimagesink.xml
	gst-libs/gst/app/gstappsink.c
	gst-libs/gst/audio/mixer.c
	gst-libs/gst/audio/mixer.h
	gst-libs/gst/tag/gstxmptag.c
	gst-libs/gst/video/colorbalance.c
	gst-libs/gst/video/colorbalance.h
	gst/adder/gstadder.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/videoscale/gstvideoscale.c
	tests/check/elements/videoscale.c
	tests/examples/seek/seek.c
	tests/examples/v4l/probe.c
	win32/common/_stdint.h
	win32/common/audio-enumtypes.c
	win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans 5bad1eaa24 theora: fix bufferpool negotiation
Store the uncropped frame dimensions in the videoinfo.
Always set the caps with the dimension of the cropped output.
Don't negotiate the bufferpool multiple times.
Remove the old crop feature, we always crop now.
2012-03-01 17:29:37 +01:00
Wim Taymans 502c12f827 update for metadata API changes 2012-02-29 17:25:10 +01:00
Wim Taymans 337cfb764a add more debug about cropping 2012-02-28 16:49:10 +01:00
Edward Hervey 59918e841f Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:28:15 +01:00
Alessandro Decina 5db562f13b theoraenc: fix compiler warning 2012-02-26 20:32:05 +01:00
Wim Taymans c3478b2da0 Merge branch 'master' into 0.11
Conflicts:
	ext/vorbis/gstvorbisparse.c
	gst-libs/gst/video/video.c
	gst/videoscale/gstvideoscale.c
	sys/v4l/gstv4lxoverlay.c
	sys/v4l/v4l_calls.c
	sys/v4l/v4lsrc_calls.c
	tests/check/libs/video.c
2012-02-10 15:41:06 +01:00
Tim-Philipp Müller 99bff2329e theoraenc: remove obsolete properties
https://bugzilla.gnome.org/show_bug.cgi?id=669328
2012-02-05 11:00:39 +00:00
David Schleef 19141759c1 theoraenc: Use GAP flag when possible
Set TH_ENCCTL_SET_DUPLICATE_FLAG when we see a gap flag, to
indicate to the encoder that the current frame is a duplicate
of the previous frame.
2012-02-04 13:41:47 -08:00
Wim Taymans be0cadac03 update for HEADER flag changes 2012-01-30 17:16:17 +01:00
Sebastian Dröge 2e65a0f34a theoraenc: Add width/height/framerate to the srcpad caps 2012-01-26 11:02:51 +01:00
Sebastian Dröge b363d4a103 theoraenc: Fix encoding of non-mod-16 widths/heights
The next higher multiple of 16 has to be passed
in the input buffers but Theora does never read
beyond the configured picture size.
2012-01-25 18:24:07 +01:00
Sebastian Dröge 544b7a35b0 theoraparse: Remove the synchronization points property
Is someone really using it? In that case it has to be
changed from a GValueArray property to something else.
2012-01-25 16:44:38 +01:00
Wim Taymans fcdc385aa1 port to new map API 2012-01-25 12:30:53 +01:00
Tim-Philipp Müller 0461ed2ada Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/pbutils/gstdiscoverer-types.c
	gst-libs/gst/pbutils/gstdiscoverer.c
	tests/check/Makefile.am
2012-01-12 23:21:17 +00:00
Vincent Penquerc'h 3fbd95d85e theoraparse: fix array leak 2012-01-12 16:24:01 +00:00
Edward Hervey f562a29284 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
	gst-libs/gst/tag/gstexiftag.c
	gst/adder/gstadder.c
	gst/adder/gstadder.h
	gst/playback/gstdecodebin2.c
	gst/playback/gstsubtitleoverlay.c
	tests/check/libs/tag.c
2011-12-30 13:21:35 +01:00
Tim-Philipp Müller 4fc4aeee71 theoraenc: fix template caps creation on big endian systems 2011-12-23 22:51:59 +00:00
Wim Taymans 6aafcb3992 theoradec: improve cropping
Only add cropping metadata when needed
Remove some used code.
2011-12-23 16:10:53 +01:00
Oleksij Rempel (Alexey Fisher) 5f3a31f4d1 theoraenc: add "dup-on-gap" option
This option will produce duplicate frames if we get
a frame with GAP flag. This will reduce CPU load and file size.

This option should be disabled for real time applications, because it
collects GAP frames and waits until it gets a non GAP frame to start
encoding.

v30.06.2011: make some spell changes.
v03.07.2011: add handling of EOS and discontinuous for dup-on-gap.
v19.12.2011: fix pointer dangling in theora_timefifo_free
v20.12.2010: fix timestamp bug for dup-on-gap=0

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=627459

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2011-12-20 19:43:47 +00:00
Tim-Philipp Müller 177525f89f Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/netbuffer/gstnetbuffer.c
	gst/ffmpegcolorspace/avcodec.h
	gst/ffmpegcolorspace/gstffmpegcodecmap.c
	gst/ffmpegcolorspace/imgconvert.c
	gst/ffmpegcolorspace/imgconvert_template.h
	gst/ffmpegcolorspace/mem.c
	gst/playback/README
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybasebin.h
	gst/playback/gstplaybin.c
	sys/v4l/v4lmjpegsrc_calls.c
	sys/v4l/videodev_mjpeg.h
	tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik 14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Vincent Penquerc'h c554463025 Revert "theoradec: move the QoS logic to libgstvideo"
This reverts commit 149a4ce390.

*grumble* I managed to merge something I did not mean to.
2011-11-28 13:27:29 +00:00
Vincent Penquerc'h 96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Vincent Penquerc'h 149a4ce390 theoradec: move the QoS logic to libgstvideo
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-11-28 12:34:43 +00:00
Wim Taymans e302833e65 add parent to pad functions 2011-11-17 12:48:25 +01:00
Wim Taymans 2202511e77 add parent to query function 2011-11-16 17:25:17 +01:00
Wim Taymans 7402d3a3d2 update for _get_caps() -> _query_caps() 2011-11-15 18:04:17 +01:00
Wim Taymans ab9ffa93f5 change getcaps to query
Add sink and src event functions in rtpbasepayload
Add query vmethod to rtpbasepayload.
2011-11-15 18:04:16 +01:00
Wim Taymans e338792ab0 update for adapter api changes 2011-11-10 18:32:39 +01:00
Wim Taymans 372b9329b9 remove query types 2011-11-09 11:47:54 +01:00
Wim Taymans 8c8fcf4d3b Merge branch 'master' into 0.11 2011-11-07 17:18:06 +01:00
Vincent Penquerc'h 5d3852d91a theoraenc: fix speed level failure test
It was testing the opposite of what it thought it was.

https://bugzilla.gnome.org/show_bug.cgi?id=663390
2011-11-07 12:27:16 +00:00
Vincent Penquerc'h a81cb3ef7f theoraenc: make logically static const data just so
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:15 +00:00
Vincent Penquerc'h c1aab3e0a7 theoraenc: use th_packet_iskeyframe instead of peeking at bits
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:14 +00:00
Vincent Penquerc'h ffbe58fd5a theoraenc: trivial comment typos fixes
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:13 +00:00
Vincent Penquerc'h 0c4ccb4f9c theoraenc: warn when trying to set an ignored obsolete property
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:12 +00:00
Vincent Penquerc'h 10811d63f9 theoraenc: refuse to get to READY if the encoder was disabled
https://bugzilla.gnome.org/show_bug.cgi?id=663391
2011-11-07 12:27:11 +00:00
Wim Taymans a5fa136c0b update for tag API removal 2011-11-02 12:11:16 +01:00
Wim Taymans e067e67923 rename meta* -> *meta 2011-11-02 09:04:27 +01:00
Tim-Philipp Müller 5ee51e47a1 ext, gst, gst-libs, tests: update for tag list API changes 2011-10-31 14:22:39 +00:00
Edward Hervey 17bfba09f1 Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggdemux.c
	ext/pango/gsttextoverlay.c
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/audio/gstbaseaudiosrc.c
	gst/playback/gstsubtitleoverlay.c
	gst/videorate/gstvideorate.c
2011-09-23 18:27:11 +02:00
Thomas Vander Stichele d223a6dd59 theoraenc: Fix descriptions of properties 2011-09-11 14:22:59 -04:00
Sebastian Dröge 0f654f3feb Merge branch 'master' into 0.11
Conflicts:
	docs/libs/Makefile.am
	tests/check/elements/decodebin2.c
2011-09-08 14:42:00 +02:00
Vincent Penquerc'h cea0ac790f theoraenc: do not automatically override quality when using target bitrate
If both quality and bitrate are set, libtheora will try to meet
both constraints, causing it to prefer emitting a smaller number
of good frames, to emitting the full number of frames that would
not meet the requested quality. This causes a slideshow effect
when the bitrate is low and the quality is high. And the default
theoraenc is high (48/63).

So only set quality when it is requested, and leave it unset
otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=658443
2011-09-07 13:27:33 +02:00
Wim Taymans e1287b97ab Merge branch 'master' into 0.11
Conflicts:
	ext/ogg/gstoggmux.c
	gst-libs/gst/audio/audio.c
	gst-libs/gst/audio/audio.h
	gst-libs/gst/audio/multichannel.h
	gst-libs/gst/pbutils/Makefile.am
	gst-libs/gst/pbutils/gstdiscoverer.c
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkvideoconvert.c
	win32/common/libgstaudio.def
2011-08-29 11:37:36 +02:00
Vincent Penquerc'h 02763b2fa2 theoraenc: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=657333
2011-08-25 15:17:01 +01:00
Wim Taymans e78b66f5a3 video: fix chroma-site enums 2011-08-23 20:34:24 +02:00
Wim Taymans 9ad89374a3 video: add colorimetry info
Make enums for the chroma siting for easier use in the videoinfo.
Make enums for the color range, color matrix, transfer function and the
color primaries. Add these values to the video info structure in a Colorimetry
structure. These values define the exact colors and are needed to perform
correct colorspace conversion. Use a couple of predefined colorimetry specs
because in practice only a few combinations are in use.
Add view_id to the video frames to identify the view this frame represents in
multiview video.
Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
Port elements to new colorimetry info.
Remove deprecated colorspace property from videotestsrc.
2011-08-23 18:57:35 +02:00
Wim Taymans 33467d9629 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/pango/gsttextoverlay.c
	ext/theora/gsttheoradec.c
	gst/adder/gstadder.c
	gst/adder/gstadder.h
	gst/audioresample/gstaudioresample.c
	gst/encoding/gstencodebin.c
	gst/playback/gstdecodebin.c
	gst/playback/gstdecodebin2.c
	tests/check/elements/decodebin2.c
	tests/check/elements/playbin-compressed.c
	win32/common/libgsttag.def
2011-08-16 18:01:14 +02:00
Josep Torra 5629ed74b3 Fix debug statements
Fixes build on MacOSX

Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>
2011-08-10 11:15:41 +02:00
Philip Jägenstedt 7d22d91fca theoradec: segfault on 0-byte ogg_packet in _chain_reverse 2011-08-03 10:03:00 +02:00
Wim Taymans 5a85e1d75f base: update for new bufferpool API 2011-07-29 17:15:39 +02:00
Wim Taymans 57157694a5 the 2011-07-19 18:31:23 +01:00
Wim Taymans 1b8ef683ce theoradec: make sure our buffer is big enough
Make sure we allocate a buffer that is big enough.
2011-07-19 18:21:42 +01:00
Tim-Philipp Müller 34955ac34d theoraenc: remove some unused code that caused a compiler warning
The video format is set up in the sink pad's setcaps() function.
2011-07-05 10:04:42 +01:00
Wim Taymans ddce68a5c2 video: More video helper library improvements
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Wim Taymans 558cb821e4 theoradec: use cropping metadata 2011-06-23 18:02:40 +02:00
Wim Taymans 0530b609aa theoradec: enable video metadata in the bufferpool
Enable the video metadata in the bufferpool.
2011-06-20 13:30:07 +02:00
Wim Taymans 6d9e76f2de video: remove intermediate Plane structure
Remove the GstVideoPlane structure and move the fields directly into the
GstVideoInfo structure. This makes things a little easier to read and also makes
it more likely that we can pass the stride array to external libraries.
2011-06-20 11:25:58 +02:00
Wim Taymans d93129d8da -base: port to GstVideoFrame API 2011-06-17 15:41:31 +02:00