Commit graph

100 commits

Author SHA1 Message Date
Sebastian Dröge
837763fee8 vp8enc: Fix 'argument to 'sizeof' in 'memset' call is the same expression as the destination' compiler warning 2012-03-06 15:21:17 +01:00
Oleksij Rempel (Alexey Fisher)
44862ac067 vp8enc: trace outgoing timestamps
add info level prints for outgoing timestamps.

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-24 11:21:26 +00:00
Oleksij Rempel (Alexey Fisher)
3d34779e24 vp8dec: use is_alt_data option to prevent timestamp collisions
altref/invisible frames usually stored in container with same timestamp as
dependet frame. This make basevideodecoder to update timestamp for dependet
frame and couse TS colision on next frame:

                 ^- here is altref
time     : 1 2 3 4 5 6 7 8 9
webm ts  : 1   3 5 5   7   9
vp8dec ts: 1   3   7   7   9

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-10 08:49:15 +01:00
Oleksij Rempel (Alexey Fisher)
53735eaa72 vp8: add initial preset file
This is initial preset file, currently with only one profile
for realtime encoding.

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-01-06 08:47:07 +01:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Tim-Philipp Müller
ca772ed321 vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted 2011-11-25 11:37:57 +00:00
Mart Raudsepp
61cc352902 mimic, opencv, vp8, acmmp3dec, linsys: Don't build static plugins
Pass --tag=disable-static to libtool everywhere where it's been forgotten

https://bugzilla.gnome.org/show_bug.cgi?id=663768
2011-11-11 11:54:15 +00:00
David Schleef
cd35839e98 vp8enc: fix drop-frame property
Fixes #656929.
2011-09-01 17:04:52 -07:00
Vincent Penquerc'h
c24d052bb7 vp8: probe for the new tuning API to keep building with older libvpx
https://bugzilla.gnome.org/show_bug.cgi?id=656928
2011-08-23 10:23:21 +02:00
Sebastian Dröge
4476ca28df vp8enc: Remove unused and useless variable in tags handling 2011-08-18 10:39:26 +02:00
Sebastian Dröge
896a0edbdc vp8enc: Update for basevideoencoder ::get_caps() removal 2011-08-12 12:08:08 +02:00
David Schleef
6b78923330 vp8enc: Add more properties 2011-08-03 13:39:33 -07:00
Alexey Fisher
69c9b2d9c9 vp8enc: add min/maxsection-pct option
This options should be good to redeuce decode CPU load.
for lowend hardware:
minsection-pct=15 maxsection-pct=400

for hiend hw:
minsection-pct=5 maxsection-pct=800

see example:
http://www.webmproject.org/tools/encoder-parameters/#2-pass_vbr_encoding_for_smooth_playback_on_low-end_hardware

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-03 13:39:33 -07:00
Alexey Fisher
782af30aa2 vp8enc: add lag-in-frames option.
This option set maximum of frames codec should remember,
to make better prediktion for alt-ref frames.

See example:
http://www.webmproject.org/tools/encoder-parameters/#2-pass_best_quality_vbr_encoding

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-03 13:39:33 -07:00
Alexey Fisher
7770eb91aa vp8enc: use multipass.cache file name as default for multipass mode.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2011-08-03 13:39:33 -07:00
Sebastian Dröge
43e575319e vp8enc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Olivier Crête
eba9cf06d4 vp8: Fix set-but-unused warnings 2011-07-12 18:05:25 -04:00
Sebastian Dröge
b0d619855c vp8enc: Use destroy notify to free the coder hook 2011-07-09 11:31:02 +02:00
David Schleef
2a1d4c9b4a vp8enc: update for new libvpx api 2011-07-04 16:34:48 -07:00
Alexey Fisher
d1fe501eb7 vp8enc: generate a timestamp for alt-ref frames.
It will fix handling of altref/invisible frames since matroska-mux
drop any fram with no timestamp.

see also:
http://www.webmproject.org/code/specs/container/
The encoder will currently set the AR's timestamp as close as possible
to the previous frame while attempting to provide a timestamp that is
strictly increasing. In cases where the time base given to the encoder
at configure time is not granular enough to allow for this the AR
will share the same timestamp as D, but should be
treated as having no duration.

Fixes bug #652951

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2011-06-26 16:56:33 +02:00
Alexey Fisher
f5391e135a vp8dec: add check if we have legal aspect-ratio before reset it.
the commit f9b552f049 (vp8dec: set par to 1/1)
will fix situation where no aspect-ratio is set, but it brake
stream with available aspect-ratio. This patch fix it.

Fixes: #652902.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2011-06-25 11:36:05 -07:00
David Schleef
f9b552f049 vp8dec: set par to 1/1 2011-06-04 14:09:29 -07:00
Sebastian Dröge
23f9286d88 vp8enc: Name max/min quantizer properties {max,min}-quantizer
Also improve quality property description.
2011-05-18 13:27:20 +02:00
Alexey Fisher
1b650b6486 vp8enc: Add properties to select a maximum and minimum quantizer
Fixes bug #641405.
2011-05-18 13:26:23 +02:00
Alexey Fisher
a9ea882307 vp8enc: Fix quality to (constant) quantizer mapping
This now allows to select all possible quantizers between
0 and 63.

See bug #641405.
2011-05-18 13:18:58 +02:00
Mark Nauwelaerts
66fe878d88 vp8dec: debug code style fixes 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
772d92eeba vp8dec: propagate downstream flow return to upstream 2011-05-16 20:32:24 +02:00
Mark Nauwelaerts
1b151caf11 basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
2011-05-16 20:32:23 +02:00
Mark Nauwelaerts
f591361d2f basevideodecoder: invoke subclass start method at state change and use set_format
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2011-05-16 20:32:22 +02:00
Mark Nauwelaerts
7862d9ed35 basevideodecoder: subsume skip_frame into finish_frame 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
d15b8c7ad3 basevideoencoder: provide proper upstream flow return handling 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
b7ae60f617 vp8enc: minor optimization in setting up image buffer 2011-05-16 20:32:21 +02:00
Mark Nauwelaerts
1cd8e12c19 vp8enc: refactor frame processing 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
424e3afe22 vp8enc: do init at set_format time 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
3d09056c70 vp8enc: fix keyframe forcing 2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
b0c982db5b basevideocodec: remove redundant caps field
... as it is already at hand as the src pad's negotiated caps.
2011-05-16 20:32:20 +02:00
Mark Nauwelaerts
404f491c19 vp8enc: use baseclass event virtual handler 2011-05-16 20:32:19 +02:00
David Schleef
3ada35cc0e basevideo: merge utils header into basevideocodec 2011-03-23 21:33:49 -07:00
Tim-Philipp Müller
9c554b7378 vp8: fix LIBADD order in Makefile.am 2011-03-17 20:52:07 +00:00
Alexey Fisher
2b4c854146 vp8enc: Add description for bitrate units. 2011-02-04 00:24:04 -08:00
David Schleef
4eee2dc95d vp8enc: Readd setting of granulepos
Revert parts of last patch that removed setting of granulepos.
oggmux still requires correct granulepos in incoming packet.
2010-11-30 18:43:24 -08:00
David Schleef
01574dc012 vp8enc: Don't override timestamps set by base class
Because the base class does it correctly.
Fixes: #635720, #625558.
2010-11-30 18:34:34 -08:00
Edward Hervey
7a88aca460 vp8: Remove dead assignments 2010-11-25 18:52:47 +01:00
David Schleef
fe50055715 basevideo: Move common fields/functions to basecodec 2010-10-15 16:30:57 -07:00
David Schleef
7cd2e0dd3e basevideo: Move deadline to frame structure 2010-09-18 19:27:07 -07:00
Philip Jägenstedt
e72574124f vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible
This fixes an infinite loop if an EOS event is received before
GstBaseVideoDecoder::start() is called, e.g. immediately when the
pads are activated.

Fixes bug #626815.
2010-08-19 11:17:06 +02:00
Sebastian Dröge
2dba63a19c vp8enc: Add support for enabling automatic insertion of alt-ref frames by the encoder 2010-07-10 16:52:10 +02:00
Sebastian Dröge
98048829b0 vp8enc: Fix handling of invisible/alt ref frames 2010-07-10 16:51:53 +02:00
Sebastian Dröge
dcd0b3599c vp8: Add initial documentation, based on the theoradec/theoraenc documentation 2010-07-03 17:47:29 +02:00
Sebastian Dröge
8c85e1c0a0 vp8: Move structure definitions, etc to public header files for gtk-doc 2010-07-03 17:34:58 +02:00