Alexey Fisher [Sun, 19 Jun 2011 14:06:46 +0000 (16:06 +0200)]
[MOVED FROM BAD 088/134] 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>
Alexey Fisher [Sun, 19 Jun 2011 09:05:36 +0000 (11:05 +0200)]
[MOVED FROM BAD 087/134] 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>
Alexey Fisher [Sun, 19 Jun 2011 05:16:57 +0000 (07:16 +0200)]
[MOVED FROM BAD 086/134] 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>
Sebastian Dröge [Thu, 21 Jul 2011 06:03:51 +0000 (08:03 +0200)]
[MOVED FROM BAD 085/134] vp8enc: Update for GstBaseVideoEncoder::finish() signature change
Olivier Crête [Tue, 12 Jul 2011 22:05:25 +0000 (18:05 -0400)]
[MOVED FROM BAD 084/134] vp8: Fix set-but-unused warnings
Sebastian Dröge [Sat, 9 Jul 2011 09:31:02 +0000 (11:31 +0200)]
[MOVED FROM BAD 083/134] vp8enc: Use destroy notify to free the coder hook
David Schleef [Sat, 18 Jun 2011 22:56:49 +0000 (15:56 -0700)]
[MOVED FROM BAD 082/134] vp8enc: update for new libvpx api
Alexey Fisher [Sun, 26 Jun 2011 13:15:54 +0000 (15:15 +0200)]
[MOVED FROM BAD 081/134] 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>
Alexey Fisher [Sat, 18 Jun 2011 15:47:36 +0000 (17:47 +0200)]
[MOVED FROM BAD 080/134] vp8dec: add check if we have legal aspect-ratio before reset it.
the commit
f9b552f0494e (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>
David Schleef [Sat, 4 Jun 2011 02:36:59 +0000 (19:36 -0700)]
[MOVED FROM BAD 079/134] vp8dec: set par to 1/1
Sebastian Dröge [Wed, 18 May 2011 11:27:20 +0000 (13:27 +0200)]
[MOVED FROM BAD 078/134] vp8enc: Name max/min quantizer properties {max,min}-quantizer
Also improve quality property description.
Alexey Fisher [Wed, 18 May 2011 11:26:23 +0000 (13:26 +0200)]
[MOVED FROM BAD 077/134] vp8enc: Add properties to select a maximum and minimum quantizer
Fixes bug #641405.
Alexey Fisher [Wed, 18 May 2011 11:18:58 +0000 (13:18 +0200)]
[MOVED FROM BAD 076/134] vp8enc: Fix quality to (constant) quantizer mapping
This now allows to select all possible quantizers between
0 and 63.
See bug #641405.
Mark Nauwelaerts [Fri, 1 Apr 2011 20:13:55 +0000 (22:13 +0200)]
[MOVED FROM BAD 075/134] vp8dec: debug code style fixes
Mark Nauwelaerts [Fri, 1 Apr 2011 20:13:00 +0000 (22:13 +0200)]
[MOVED FROM BAD 074/134] vp8dec: propagate downstream flow return to upstream
Mark Nauwelaerts [Wed, 30 Mar 2011 08:18:23 +0000 (10:18 +0200)]
[MOVED FROM BAD 073/134] basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
Mark Nauwelaerts [Tue, 29 Mar 2011 08:41:54 +0000 (10:41 +0200)]
[MOVED FROM BAD 072/134] 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.
Mark Nauwelaerts [Mon, 28 Mar 2011 06:59:20 +0000 (08:59 +0200)]
[MOVED FROM BAD 071/134] basevideodecoder: subsume skip_frame into finish_frame
Mark Nauwelaerts [Thu, 24 Mar 2011 13:10:07 +0000 (14:10 +0100)]
[MOVED FROM BAD 070/134] basevideoencoder: provide proper upstream flow return handling
Mark Nauwelaerts [Thu, 24 Mar 2011 12:59:35 +0000 (13:59 +0100)]
[MOVED FROM BAD 069/134] vp8enc: minor optimization in setting up image buffer
Mark Nauwelaerts [Thu, 24 Mar 2011 11:50:23 +0000 (12:50 +0100)]
[MOVED FROM BAD 068/134] vp8enc: refactor frame processing
Mark Nauwelaerts [Thu, 24 Mar 2011 10:55:41 +0000 (11:55 +0100)]
[MOVED FROM BAD 067/134] vp8enc: do init at set_format time
Mark Nauwelaerts [Thu, 24 Mar 2011 09:15:55 +0000 (10:15 +0100)]
[MOVED FROM BAD 066/134] vp8enc: fix keyframe forcing
Mark Nauwelaerts [Wed, 23 Mar 2011 08:45:20 +0000 (09:45 +0100)]
[MOVED FROM BAD 065/134] basevideocodec: remove redundant caps field
... as it is already at hand as the src pad's negotiated caps.
Mark Nauwelaerts [Wed, 23 Mar 2011 07:50:31 +0000 (08:50 +0100)]
[MOVED FROM BAD 064/134] vp8enc: use baseclass event virtual handler
David Schleef [Sun, 20 Feb 2011 22:16:18 +0000 (14:16 -0800)]
[MOVED FROM BAD 063/134] basevideo: merge utils header into basevideocodec
Tim-Philipp Müller [Thu, 17 Mar 2011 16:34:02 +0000 (16:34 +0000)]
[MOVED FROM BAD 062/134] vp8: fix LIBADD order in Makefile.am
Alexey Fisher [Fri, 4 Feb 2011 08:08:26 +0000 (09:08 +0100)]
[MOVED FROM BAD 061/134] vp8enc: Add description for bitrate units.
David Schleef [Wed, 1 Dec 2010 02:43:24 +0000 (18:43 -0800)]
[MOVED FROM BAD 060/134] vp8enc: Readd setting of granulepos
Revert parts of last patch that removed setting of granulepos.
oggmux still requires correct granulepos in incoming packet.
David Schleef [Tue, 30 Nov 2010 04:21:31 +0000 (20:21 -0800)]
[MOVED FROM BAD 059/134] vp8enc: Don't override timestamps set by base class
Because the base class does it correctly.
Fixes: #635720, #625558.
Edward Hervey [Thu, 25 Nov 2010 17:52:47 +0000 (18:52 +0100)]
[MOVED FROM BAD 058/134] vp8: Remove dead assignments
David Schleef [Sun, 10 Oct 2010 00:36:07 +0000 (17:36 -0700)]
[MOVED FROM BAD 057/134] basevideo: Move common fields/functions to basecodec
David Schleef [Sun, 19 Sep 2010 00:28:48 +0000 (17:28 -0700)]
[MOVED FROM BAD 056/134] basevideo: Move deadline to frame structure
Philip Jägenstedt [Fri, 13 Aug 2010 12:34:21 +0000 (14:34 +0200)]
[MOVED FROM BAD 055/134] 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.
Sebastian Dröge [Sat, 10 Jul 2010 14:52:10 +0000 (16:52 +0200)]
[MOVED FROM BAD 054/134] vp8enc: Add support for enabling automatic insertion of alt-ref frames by the encoder
Sebastian Dröge [Sat, 10 Jul 2010 14:51:53 +0000 (16:51 +0200)]
[MOVED FROM BAD 053/134] vp8enc: Fix handling of invisible/alt ref frames
Sebastian Dröge [Sat, 3 Jul 2010 15:47:29 +0000 (17:47 +0200)]
[MOVED FROM BAD 052/134] vp8: Add initial documentation, based on the theoradec/theoraenc documentation
Sebastian Dröge [Sat, 3 Jul 2010 15:34:58 +0000 (17:34 +0200)]
[MOVED FROM BAD 051/134] vp8: Move structure definitions, etc to public header files for gtk-doc
Sebastian Dröge [Sat, 12 Jun 2010 07:02:29 +0000 (09:02 +0200)]
[MOVED FROM BAD 050/134] vp8enc: Implement multipass encoding
Fixes bug #621348.
Sebastian Dröge [Mon, 14 Jun 2010 13:56:24 +0000 (15:56 +0200)]
[MOVED FROM BAD 049/134] 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.
Sebastian Dröge [Mon, 14 Jun 2010 13:51:30 +0000 (15:51 +0200)]
[MOVED FROM BAD 048/134] vp8enc: Use VPX defines for REALTIME, GOOD/BEST quality deadlines instead of our own
These are the values used for the speed property.
Tim-Philipp Müller [Thu, 3 Jun 2010 09:49:40 +0000 (10:49 +0100)]
[MOVED FROM BAD 047/134] 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’
Tim-Philipp Müller [Fri, 3 Jul 2009 15:08:38 +0000 (16:08 +0100)]
[MOVED FROM BAD 046/134] 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.
David Schleef [Tue, 1 Jun 2010 22:54:51 +0000 (15:54 -0700)]
[MOVED FROM BAD 045/134] basevideo: Move base video from vp8 to gst-libs
Sebastian Dröge [Wed, 26 May 2010 04:52:15 +0000 (06:52 +0200)]
[MOVED FROM BAD 044/134] vp8: Use VPX_PLANE_* instead of PLANE_*
Sebastian Dröge [Mon, 24 May 2010 09:04:02 +0000 (11:04 +0200)]
[MOVED FROM BAD 043/134] vp8: Add compatilibity defines to work with older versions of libvpx too
Philip Jägenstedt [Sun, 23 May 2010 07:28:13 +0000 (09:28 +0200)]
[MOVED FROM BAD 042/134] vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
This corresponds to upstream libvpx commit
6cd4a10e167203d1deb79abf60ee72599e97891b
Sebastian Dröge [Sat, 22 May 2010 10:55:45 +0000 (12:55 +0200)]
[MOVED FROM BAD 041/134] vp8enc: Allow a maximum keyframe distance of 0, i.e. all frames are keyframes
Sebastian Dröge [Sat, 22 May 2010 06:45:35 +0000 (08:45 +0200)]
[MOVED FROM BAD 040/134] vp8dec: Set decoder deadline from the QoS information
Sebastian Dröge [Fri, 28 May 2010 14:35:12 +0000 (16:35 +0200)]
[MOVED FROM BAD 039/134] vp8enc: Move debug output one line above where the packet is still valid
Sebastian Dröge [Fri, 28 May 2010 13:53:30 +0000 (15:53 +0200)]
[MOVED FROM BAD 038/134] vp8enc: Correctly ignore non-frame packets from the encoder
Fixes bug #619916.
Sebastian Dröge [Sat, 22 May 2010 05:44:27 +0000 (07:44 +0200)]
[MOVED FROM BAD 037/134] basevideodecoder: Take the frame duration into account when calculating the earliest time
This formula is used in many other elements too.
Fixes bug #619318.
Sebastian Dröge [Sat, 22 May 2010 05:35:01 +0000 (07:35 +0200)]
[MOVED FROM BAD 036/134] basevideodecoder: Reset QoS values when necessary
Sebastian Dröge [Sat, 22 May 2010 07:35:24 +0000 (09:35 +0200)]
[MOVED FROM BAD 035/134] vp8enc: Use GST_VIDEO_CAPS_YUV(I420) instead of handwritten I420 caps for the pad template
Fixes bug #619344.
Philip Jägenstedt [Fri, 21 May 2010 18:53:36 +0000 (20:53 +0200)]
[MOVED FROM BAD 034/134] vp8dec: drop late frames after decoding them
This saves a memcpy, which is always something.
Philip Jägenstedt [Fri, 21 May 2010 19:28:29 +0000 (21:28 +0200)]
[MOVED FROM BAD 033/134] vp8enc: threads property
Increasing from 1 to 2 threads on an Thinkpad X60s decreased encode time
in a test from ~24 s to ~19 s, so this is quite useful.
Ideally we should let 0 be the default and automatically match the number
of CPU cores (or something).
Philip Jägenstedt [Fri, 21 May 2010 13:17:46 +0000 (15:17 +0200)]
[MOVED FROM BAD 032/134] vp8enc: add mode property to switch between CBR/VBR
Always using CBR when bitrate is used isn't that great, VBR mode
can produce meaningful results too.
Sebastian Dröge [Fri, 21 May 2010 08:54:57 +0000 (10:54 +0200)]
[MOVED FROM BAD 031/134] vp8dec: Only enable postprocessing if the decoder supports it
Philip Jägenstedt [Fri, 21 May 2010 06:23:58 +0000 (08:23 +0200)]
[MOVED FROM BAD 030/134] vp8: typo: s/HAVE_VP8_DECODER/HAVE_VP8_ENCODER/
Fixup for bug #619172.
Philip Jägenstedt [Fri, 21 May 2010 06:13:06 +0000 (08:13 +0200)]
[MOVED FROM BAD 029/134] vp8: move #ifdef HAVE_VP8_ENCODER/DECODER
Otherwise we'll try including e.g. <vpx/vp8cx.h> which doesn't exist.
Sebastian Dröge [Thu, 20 May 2010 18:06:09 +0000 (20:06 +0200)]
[MOVED FROM BAD 028/134] vp8enc: Write GStreamer element and version in the vorbiscomment vendor string
Sebastian Dröge [Thu, 20 May 2010 14:49:03 +0000 (16:49 +0200)]
[MOVED FROM BAD 027/134] vp8: Only enable the encoder or decoder if it's available in libvpx
Fixes bug #619172.
Philip Jägenstedt [Thu, 20 May 2010 08:19:54 +0000 (10:19 +0200)]
[MOVED FROM BAD 026/134] vp8: exlcude dec/enc based on CONFIG_VP8_DECODER/ENCODER
This may not be very autotoolish, but works with libvpx in the state
that libvpx is actually in. Moved the debug init to the elements
themselves to minimize amount of #ifdefs
Philip Jägenstedt [Thu, 20 May 2010 07:24:53 +0000 (09:24 +0200)]
[MOVED FROM BAD 025/134] vp8enc: Limit max-latency to 25 to match libvpx
From libvpx/vp8/encoder/onyx_int.h:
#define MAX_LAG_BUFFERS (CONFIG_REALTIME_ONLY? 1 : 25)
While we don't need to be tied to what libvpx does internally, it
doesn't make sense to pretend to support longer frame lags than are
actually possible.
Sebastian Dröge [Thu, 20 May 2010 07:56:25 +0000 (09:56 +0200)]
[MOVED FROM BAD 024/134] vp8: Undef HAVE_CONFIG_H before including libvpx headers
A public libvpx header includes private headers if this is
defined, causing compilation failures because the private headers
are not installed of course.
Sebastian Dröge [Thu, 20 May 2010 06:53:12 +0000 (08:53 +0200)]
[MOVED FROM BAD 023/134] vp8enc: Some more minor adjustments for the Ogg mapping
Sebastian Dröge [Wed, 19 May 2010 21:02:19 +0000 (23:02 +0200)]
[MOVED FROM BAD 022/134] vp8dec: Fix memory leak
Sebastian Dröge [Wed, 19 May 2010 19:34:42 +0000 (21:34 +0200)]
[MOVED FROM BAD 021/134] vp8enc: Adjust Ogg mapping for the changes
Sebastian Dröge [Wed, 19 May 2010 16:12:18 +0000 (18:12 +0200)]
[MOVED FROM BAD 020/134] vp8dec: Add properties to control the VP8 decoder post processing feature
This is disabled by default for now.
Sebastian Dröge [Wed, 19 May 2010 15:16:54 +0000 (17:16 +0200)]
[MOVED FROM BAD 019/134] vp8enc: Rename keyframe-interval to max-keyframe-distance
And use default settings for buffer sizes until we expose this
somehow.
Sebastian Dröge [Wed, 19 May 2010 15:13:17 +0000 (17:13 +0200)]
[MOVED FROM BAD 018/134] vp8: Improve error handling and debug output
Sebastian Dröge [Wed, 19 May 2010 12:46:48 +0000 (14:46 +0200)]
[MOVED FROM BAD 017/134] vp8: Use correct strides and plane offsets for GStreamer
Sebastian Dröge [Tue, 18 May 2010 12:47:54 +0000 (14:47 +0200)]
[MOVED FROM BAD 016/134] vp8enc: Implement GstTagSetter interface
Sebastian Dröge [Tue, 18 May 2010 12:33:49 +0000 (14:33 +0200)]
[MOVED FROM BAD 015/134] vp8enc: Fix setting of the keyframe flag on encoded frames
Sebastian Dröge [Tue, 18 May 2010 12:30:15 +0000 (14:30 +0200)]
[MOVED FROM BAD 014/134] vp8enc: Post an error message on the bus if encoder initialization fails
Sebastian Dröge [Tue, 18 May 2010 12:28:55 +0000 (14:28 +0200)]
[MOVED FROM BAD 013/134] vp8dec: Fix memory leaks and fail if initializing the decoder fails
David Schleef [Tue, 18 May 2010 09:44:54 +0000 (02:44 -0700)]
[MOVED FROM BAD 012/134] vp8enc: Set timebase
Also misc cleanup.
Sebastian Dröge [Sun, 16 May 2010 08:36:12 +0000 (10:36 +0200)]
[MOVED FROM BAD 011/134] vp8dec: Fix decoding of invisible frames
Sebastian Dröge [Fri, 14 May 2010 12:26:34 +0000 (14:26 +0200)]
[MOVED FROM BAD 010/134] vp8enc: Update the latency when initializing the encoder
Sebastian Dröge [Fri, 14 May 2010 12:02:53 +0000 (14:02 +0200)]
[MOVED FROM BAD 009/134] vp8dec: Correctly initialize stream info before peeking at the stream
Otherwise peeking will fail and we'll get invalid values
Sebastian Dröge [Fri, 14 May 2010 09:01:29 +0000 (11:01 +0200)]
[MOVED FROM BAD 008/134] vp8dec: Make sure to pass a keyframe as first frame to the decoder, copy output frames only once and require width/height/etc on the input caps
Sebastian Dröge [Fri, 14 May 2010 08:30:18 +0000 (10:30 +0200)]
[MOVED FROM BAD 007/134] vp8enc: Add support for invisible frames and the Ogg mapping
David Schleef [Fri, 14 May 2010 08:14:46 +0000 (01:14 -0700)]
[MOVED FROM BAD 006/134] vp8dec: Fix reset after seeking
Also remove some unused code.
Sebastian Dröge [Thu, 13 May 2010 19:19:32 +0000 (21:19 +0200)]
[MOVED FROM BAD 005/134] vp8enc: Set frame numbers as buffer offsets
Sebastian Dröge [Thu, 13 May 2010 19:18:08 +0000 (21:18 +0200)]
[MOVED FROM BAD 004/134] vp8enc: Always get as many frames as possible from the encoder
Sebastian Dröge [Thu, 13 May 2010 19:08:03 +0000 (21:08 +0200)]
[MOVED FROM BAD 003/134] vp8enc: Fill the oldest pending frame instead of the newest
Sebastian Dröge [Thu, 13 May 2010 18:20:32 +0000 (20:20 +0200)]
[MOVED FROM BAD 002/134] vp8enc: Correctly set delta unit flag for non-keyframes
David Schleef [Thu, 13 May 2010 08:04:04 +0000 (01:04 -0700)]
[MOVED FROM BAD 001/134] vp8: Add encoder/decoder
Christian Fredrik Kalager Schaller [Sat, 15 Sep 2012 20:16:52 +0000 (22:16 +0200)]
Update spec file with F18 name change and add deinterlacer
Mark Nauwelaerts [Sat, 15 Sep 2012 17:06:06 +0000 (19:06 +0200)]
use gst_element_factory_get_metadata to replace obsolete API
Mark Nauwelaerts [Fri, 14 Sep 2012 15:55:16 +0000 (17:55 +0200)]
replace _get_caps_reffed with _get_caps
Mark Nauwelaerts [Fri, 14 Sep 2012 15:07:26 +0000 (17:07 +0200)]
replace gst_element_class_set_details_simple with gst_element_class_set_metadata
Wim Taymans [Fri, 14 Sep 2012 11:30:37 +0000 (13:30 +0200)]
fix more caps
Tim-Philipp Müller [Fri, 14 Sep 2012 01:57:44 +0000 (02:57 +0100)]
Back to development
Tim-Philipp Müller [Fri, 14 Sep 2012 01:48:43 +0000 (02:48 +0100)]
Release 0.11.94
Tim-Philipp Müller [Fri, 14 Sep 2012 00:50:44 +0000 (01:50 +0100)]
po: update translations
Tim-Philipp Müller [Fri, 14 Sep 2012 00:46:14 +0000 (01:46 +0100)]
docs: update docs
Tim-Philipp Müller [Thu, 13 Sep 2012 23:47:38 +0000 (00:47 +0100)]
tests: push stream-start and segment events in wavpackenc test
Wim Taymans [Thu, 13 Sep 2012 08:56:27 +0000 (10:56 +0200)]
v4l2: remove unused properties
Wim Taymans [Thu, 13 Sep 2012 08:15:54 +0000 (10:15 +0200)]
pulsesrc: disable reconfigure
See https://bugzilla.gnome.org/show_bug.cgi?id=683902