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
Sebastian Dröge
351bb1bbb6
vp8enc: Implement multipass encoding
...
Fixes bug #621348 .
2010-06-15 11:51:41 +02:00
Sebastian Dröge
0679c76b64
vp8enc: Set VP8E_SET_CPUUSED to 0
...
This setting controls how much CPU can be used by the encoder, specified
in fractions of 16. Negative values mean strict enforcement of this
while positive values are adaptive.
The default value is -4, which means that we're not running as fast
as possible and probably are wasting some quality. 0 is the recommended
default by libvpx upstream.
2010-06-14 15:56:24 +02:00
Sebastian Dröge
c2809e6843
vp8enc: Use VPX defines for REALTIME, GOOD/BEST quality deadlines instead of our own
...
These are the values used for the speed property.
2010-06-14 15:52:28 +02:00
Tim-Philipp Müller
f49f4c0bd4
vp8enc: fix printf format warning in log message
...
gstvp8enc.c:564: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
gstvp8enc.c:744: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
2010-06-03 10:49:40 +01:00
Tim-Philipp Müller
9b1ee36328
basevideo, vp8: guard unstable API with GST_USE_UNSTABLE_API
...
Add some guards and fat warnings to the header files with still unstable
API, so people who just look at the installed headers know that it
actually is unstable API.
Merging previous commit into current codebase.
2010-06-02 19:28:15 -07:00
David Schleef
bdb5926cda
basevideo: Move base video from vp8 to gst-libs
2010-06-02 00:01:10 -07:00
Sebastian Dröge
443af97a41
vp8: Use VPX_PLANE_* instead of PLANE_*
2010-06-01 11:19:46 +02:00
Sebastian Dröge
637a12a028
vp8: Add compatilibity defines to work with older versions of libvpx too
2010-06-01 11:19:46 +02:00
Philip Jägenstedt
4c552be9d9
vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
...
This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599e97891b
2010-06-01 11:19:46 +02:00
Sebastian Dröge
b43afeffd7
vp8enc: Allow a maximum keyframe distance of 0, i.e. all frames are keyframes
2010-06-01 11:19:46 +02:00
Sebastian Dröge
24027dd9f2
vp8dec: Set decoder deadline from the QoS information
2010-06-01 11:19:45 +02:00