Commit graph

292 commits

Author SHA1 Message Date
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
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
Wim Taymans d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Wim Taymans 0d44940076 theoradec: use _check_reconfigure method 2011-06-13 12:15:33 +02:00
Wim Taymans 1c8324a0d1 update for bufferpool api change 2011-06-11 18:54:44 +02:00
Wim Taymans 9778d5dac7 update for alignment change 2011-06-10 18:04:29 +02:00
Wim Taymans 2940249a84 -base: use caps event
Remove uses of setcaps function and use the caps event.
2011-06-07 11:55:36 +02:00
Wim Taymans c88ee10c9b Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-06-06 16:27:12 +02:00
Luis de Bethencourt 8b18508778 theora: separate encode and push block in chain, into own function. 2011-06-04 10:10:54 +02:00
Wim Taymans ff071135cb thoeraenc: port to 0.11 2011-06-03 13:35:49 +02:00
Wim Taymans b1aec14767 Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-06-03 13:31:42 +02:00
Luis de Bethencourt 407b77740e theora: use fixed src cap pads 2011-06-03 08:00:58 +02:00
Luis de Bethencourt 1ce538d912 theora: set the width/height/par on the srcpad caps 2011-06-03 08:00:53 +02:00
Luis de Bethencourt ddfc8357a8 theora: get sink caps info from downstream element pad
https://bugzilla.gnome.org/show_bug.cgi?id=651564
2011-06-03 08:00:48 +02:00
Sebastian Dröge bf08ca7020 Merge branch 'master' into 0.11 2011-05-26 13:54:09 +02:00
Stefan Kost 41b60ca83a theoraenc: remove bogus <0 check for unsigned var
bytes_written is a gsize which is unsigned and thus never < 0.
2011-05-25 15:26:13 +03:00
Stefan Kost af29082e94 theoraenc: fix variable type for bytes_consumed
th_encode_ctl() returns an int. Using a gsize result in bogus <0 checks.
2011-05-25 15:26:13 +03:00
Wim Taymans 3b35a83688 theoradec: handle reconfigure events
Handle the caps with the caps event.
Handle the reconfigure event and renegotiate the bufferpool when needed.
2011-05-24 10:46:48 +02:00
Sebastian Dröge 884213b8b8 base: Update for SEGMENT event parse API changes 2011-05-18 17:23:18 +02:00
Sebastian Dröge 318ed07598 Revert "-base_port to new query API"
This reverts commit c9f4e0676b.
2011-05-17 11:25:31 +02:00
Sebastian Dröge c276eec54e theora: Update for negotiation related API changes 2011-05-16 15:35:41 +02:00
Wim Taymans 94dfe80f71 -base: port to new SEGMENT API 2011-05-16 13:48:11 +02:00
Wim Taymans c9f4e0676b -base_port to new query API 2011-05-10 18:39:07 +02:00
Wim Taymans bdb4676455 qos: _qos_full -> _qos 2011-05-09 18:53:03 +02:00
Wim Taymans 816f4e791d segment: fix for new core API
Fix for gst_*_segment_full rename.
2011-05-09 18:16:46 +02:00
Wim Taymans 5acab64178 theora/vorbis: use default pad handler
Use the default pad event handler because we are not supposed to pass on CAPS
events.
2011-05-09 15:37:09 +02:00
Wim Taymans ec57868488 -base: don't use buffer caps
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Wim Taymans abcbef287d plugins: fix for allocation query API change 2011-05-02 11:11:33 +02:00
Wim Taymans d6f8fb62c5 theoradec: use bufferpool 2011-04-29 16:52:23 +02:00
Wim Taymans 86a4771f8e remove buffer_alloc 2011-04-29 13:28:17 +02:00
Sebastian Dröge 353186aec8 ext: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 14:22:42 +02:00
Wim Taymans 4007076b55 Merge branch 'master' into 0.11
Conflicts:
	ext/theora/gsttheoraenc.c
2011-04-06 16:33:56 +02:00
Mark Nauwelaerts 9cf76f114f theoraenc: refactor multipass file writing 2011-04-06 12:26:11 +02:00
Wim Taymans 248ab2d064 Fix for latest API changes 2011-03-30 16:50:45 +02:00
Wim Taymans eba165191f theora: port to new memory API 2011-03-27 20:15:46 +02:00
Wim Taymans f379a5dacb plugins: more porting to new memory API 2011-03-27 18:30:24 +02:00
David Schleef 9745a41ea3 theoraenc: move debug category init earlier 2011-02-17 18:29:56 -08:00
David Schleef f499810bdc theoraenc: Set speed level while running 2011-02-17 18:29:56 -08:00
Ralph Giles d467eb708a Set the theoraenc speed-level property from libtheora's defaults.
The speed-level property, which allows callers to trade of encoding
quality for speed in the libtheora api, has a version-dependent
maximum and default values. Instead of hardcoding the acceptable
range for the theoraenc element's presentation of this setting,
we query the library directly at class initialization time and
set the maximum and default values from that. If the query fails,
we fall back to the previous default setting.

To keep the values reported by gst-inspect (which I'm told use
the spec values from the class) with those available on an\
instantiated element, we remove to setting of enc->speed_level
from the initializer and instead pass G_PARAM_CONSTRUCT to
the property spec flags, asking g_object to set this property
when theoraenc objects are constructed.

NB in theory the maximum speed-level could depend on the actual
video caps. If later versions of libtheoraenc do this, a second
call will need to be made from theora_enc_reset to update the
property, since this function is mostly useful for realtime
adjustment of performance while the pipeline is running.
2011-02-17 18:29:56 -08:00
Sjoerd Simons 46f3e7c6fd theoraenc: Don't reset the video quality setting the bitrate
libtheora has two encoding modes, CBR, where it tries to hit a target
bitrate and VBR where it tries to achieve a target quality.

Internally if the target bitrate is set to anything other then 0 the
encoding-mode is CBR.

This means that the gstreamer element can leave the video_quality
setting alone as long as the user is tweaking the bitrate. Which has the
nice side-effect that if the user explicitely sets the bitrate to 0
(which is actually the default), the quality value doesn't get reset and
one ends up encoding VBR at quality-level 0...
2011-02-14 16:03:56 +01:00
Tim-Philipp Müller 9805bdfcc8 theoraenc: clean up property descriptions
Remove "This property requires libtheora version >= 1.1" qualifiers
from property descriptions. They aren't needed any longer now that
we require libtheora >= 1.1.
2011-02-01 16:08:13 +00:00
Stefan Kost 83c14483ed various: add a missing G_PARAM_STATIC_STRINGS flag to object properties 2010-10-13 16:13:31 +03:00