David Schleef
dcf556893f
theora: Fix alignment of frames when converting
...
Fix logic inversion in calculating the offset in the theora
frame when copying to a GStreamer frame.
2009-11-09 11:18:27 -08:00
Tim-Philipp Müller
34e6718da9
theoradec: printf format fix
2009-11-05 23:34:10 +00:00
David Schleef
61d08884d3
theora: Convert theoraparse to libtheora 1.0 API
2009-10-23 17:49:48 -07:00
Benjamin Otte
f9132ee673
theora: Make theoradec use gstvideo for image conversion
...
Vastly simplifies code.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:12:25 +02:00
Benjamin Otte
a3e92d3078
theora: Don't always round to even width/height
...
Previously, the code always rounded to even sizes. Now it only ensures
that pic_x and pic_y are multiples of 2 if the output format requires
it.
Also inlcudes fixes to take pic_x/y into account properly when copying
the buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:12:25 +02:00
David Schleef
3cb9484993
theora: Convert theoradec to libtheora 1.0 API
...
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:12:18 +02:00
Benjamin Otte
7e15bb6631
theora: Port encoder to new Theora API
...
Includes ripping out the old buffer copy code to fill up to frame size.
This is not necesary with the new encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:16 +02:00
Benjamin Otte
910f67e816
theora: Disable sharpness property
...
It's ignored by libtheora
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:16 +02:00
Benjamin Otte
fed37612f6
theora: Disable noise-sensitivity property
...
It is ignored by libtheora
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:16 +02:00
Benjamin Otte
fad889e39e
theora: Disable keyframe-mindistance property
...
It's ignored by the current Theora library
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:15 +02:00
Benjamin Otte
8b4923cba0
theora: Disable keyframe_threshold property
...
It's ignored by the current theora encoder
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:15 +02:00
Benjamin Otte
581d57724e
theora: Get rid of "quick" property
...
The proeprty is not used by libtheora at all
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:08:15 +02:00
Benjamin Otte
4159cdfe9c
theora: remove support for outdated granulepos hack
...
This is in preparation to switching to switching to the new Theora API
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:06:31 +02:00
Benjamin Otte
56203876e4
theora: Ignore border property
...
Always make the video use black as padding color.
The output will be identical to previous versions.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:06:31 +02:00
Benjamin Otte
cec6b6ce29
theora: Ignore the center property, always set video to top left
...
This is not a necessary property, the output will be identical no matter
what.
https://bugzilla.gnome.org/show_bug.cgi?id=594729
2009-10-15 20:06:31 +02:00
Wim Taymans
e6e552b16f
theoradec: avoid confusing error
2009-10-12 15:47:28 +02:00
Josep Torra
13ab7e7929
theora: fixes warnings on macosx snow leopard
2009-10-09 18:52:12 +02:00
Edward Hervey
2021791b75
theoraenc: Make the default quality property 48.
...
This guarantees that people who use theoraenc without modifying any
properties will end up with a reasonably good quality output.
48 is also the default of the encoder_example application shipped with
libtheora.
2009-10-07 16:56:28 +02:00
Jan Schmidt
39c21352e9
theoraenc: Fix a string leak in _getcaps()
2009-09-12 02:24:49 +01:00
Sebastian Dröge
2aa0899a84
theoraenc: Print a debug message with supported formats
2009-09-09 16:45:55 +02:00
Benjamin Otte
d9c9852764
theora: Check supported input formats in getcaps function
...
We want to fail early when an older libtheora release is used that does
not support Y444 or Y42B formats, so use a getcaps function that does
this.
2009-09-09 16:45:55 +02:00
Benjamin Otte
aa46e56170
theora: Implement support in theoraenc for Y444 and Y42B
...
Fixes bug #594165 .
2009-09-09 16:45:54 +02:00
Benjamin Otte
96388221cf
theora: Refactor the buffer copy code
2009-09-09 16:45:54 +02:00
Benjamin Otte
bac05fbf6f
theora: Split yuv_buffer creation into its own function
2009-09-09 16:45:54 +02:00
Benjamin Otte
c1ead16f71
theora: Split out buffer resize in its own function
2009-09-09 16:45:54 +02:00
Benjamin Otte
9d4f72f2fa
theora: Add assertions that functions don't fail
...
Some functions in libtheora can return an error, but that error cannot
ever happen inside theoraenc. In those cases assert that it doesn't.
2009-09-09 16:45:53 +02:00
Tim-Philipp Müller
6a5af299b0
Revert "theora: Convert theoradec to libtheora 1.0 API"
...
This reverts commit f1e142ac9d
.
Temporarily revert until we have a workaround for debian/ubuntu
packaging failure (see http://bugs.debian.org/528710 ).
2009-08-07 08:53:44 +01:00
David Schleef
f1e142ac9d
theora: Convert theoradec to libtheora 1.0 API
2009-08-06 13:45:56 -07:00
Tim-Philipp Müller
12134979a2
oggdemux: post/send tags with the container-format tag
...
For this to work properly, theoradec and vorbisdec need to put
tag events received from upstream into the pending_events list
so they get pushed out after any newsegment event, not before.
2009-06-14 22:13:41 +01:00
Alessandro Decina
bb1561644f
theoraparse: fix assertions in make_granulepos when using the new theora granulepos mapping. Fixes #583903 .
2009-05-26 23:32:48 +02:00
Michael Smith
94ca1b005e
theoradec: for 4:2:2, use Y42B (planar) rather than a packed format.
2009-05-18 22:34:22 -07:00
Sebastian Dröge
bcd0aee3f5
theoraenc: Implement Preset interface
2009-05-15 16:27:40 +02:00
Christian Schaller
705e7750c5
Add ranks to the Oggmuxer, Vorbis encoder and Theora encoder
2009-05-12 12:17:55 +01:00
Michael Smith
21c52af2b3
theoradec: fix buffer overrun on 422 decode.
2009-05-10 18:08:13 -07:00
Michael Smith
c94a36bff4
theoradec: 444 support.
2009-05-10 18:08:13 -07:00
Michael Smith
62b571b93b
theoradec: handle 422 images (as YUY2).
2009-05-10 18:08:13 -07:00
Michael Smith
a91b7f0857
theoradec: rearrange code in preparation for 422 and 444 support.
2009-05-10 18:08:12 -07:00
Zaheer Merali
1650272b84
vorbisenc, theoraenc: Ensure gp is computed consistently + clip to segment
...
With vorbisenc, compute the granulepos with running time and clip incoming
buffers to segment.
With theoraenc, drop out of segment buffers.
2009-05-06 13:19:34 +01:00
Olivier Crete
c628641880
theoraenc: implement upstream keyframe force
...
Implement handling of upstream keyframe forcing.
Update the design documents too.
Fixes #578656
2009-04-14 18:21:45 +02:00
Olivier Crete
d0c3682627
theoraenc: factor out keyframe forcing
...
See #578656
2009-04-14 18:21:45 +02:00
Edward Hervey
219fe22293
theoradec: return GST_CLOCK_TIME_NONE for negative framecounts.
...
This fixes most seeking issues when used with gnonlin.
Fixes #543591
2009-04-04 15:47:17 +02:00
Edward Hervey
b7fdb7c6d7
theoradec: Use GST_CLOCK_TIME_NONE for invalid positions. Fixes #543591
...
The problem was that previously we didn't check whether _theora_granule_frame
returned a negative framecount or not, resulting in bogus timestamps.
2009-03-23 11:38:53 +01:00
Wim Taymans
9def0d8c61
theoraparse: be smarter when queuing headers
...
Look at the first byte of the buffer data (if we can) to decide if the packet is
a header packet or not instead of counting packets.
2009-03-13 15:27:51 +01:00
Jan Schmidt
e7d4250fc3
theoradec: Avoid an unnecessary memory allocation in vorbiscomment handling.
2009-03-13 11:48:28 +00:00
Wim Taymans
fac1d4cc09
theoradec: parse and use codec_data in the caps
...
Parse the codec_data in the caps and use this as the headers.
Fixes #574169 .
2009-03-06 19:02:58 +01:00
Sebastian Dröge
2ab2bbd82c
theoraparse: Use the correct unref functions
2009-02-22 19:19:04 +01:00
Benjamin M. Schwartz
d8a33f094c
theoraenc: Add property for speed level control
...
Add property "speed-level" to control the amount of motion searching
the encoder does. This is only available in libtheora >= 1.0 and
will silently fail with earlier libraries. Fixes : #572275 .
Signed-off-by: David Schleef <ds@schleef.org>
2009-02-19 12:38:57 -08:00
Wim Taymans
64b20fd7b5
Use rounded values for image strides and sizes
...
Round up the height before calculating the expected size and
strides of the output image.
2009-01-23 11:27:16 +01:00
Wim Taymans
f93fcafe64
ext/theora/: Parse segment events.
...
Original commit message from CVS:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: (gst_theora_enc_init),
(theora_buffer_from_packet), (theora_push_packet),
(theora_enc_sink_event), (theora_enc_is_discontinuous),
(theora_enc_chain):
Parse segment events.
Pass incomming buffer timestamps to outgoing buffers.
Use the running_time to construct the granulepos.
Fixes #562163 .
2008-11-25 15:14:30 +00:00
Wim Taymans
68eb1421af
ext/theora/: Copy seqnum.
...
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(gst_theora_dec_reset), (theora_dec_src_event),
(theora_dec_sink_event), (theora_handle_type_packet):
Copy seqnum.
Keep events in a pending list, like vorbisdec, instead of trying
to construct a segment event ourselves.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_src_event), (vorbis_dec_sink_event):
* ext/vorbis/vorbisdec.h:
Copy seqnum.
2008-11-04 18:17:24 +00:00