Commit graph

10518 commits

Author SHA1 Message Date
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
Mukul Majmudar
5293f30f3f faac: Add properties for VBR encoding
Property "quality" to specify VBR quantizer quality and property
"brtype" to choose between ABR and VBR encoding. The default is now VBR
with quality=100.

Fixes bug #654310.

Signed-off-by: David Schleef <ds@schleef.org>
2011-08-03 13:39:33 -07:00
David Schleef
2b5e8db968 decklink: Add audio-input property 2011-08-03 13:39:33 -07:00
Tim 'mithro' Ansell
70c3fea5ac inter: Adding missing base requirements.
Fixes: #654806.
2011-08-03 13:38:37 -07:00
Thiago Santos
41989e358c camerabin2: add more missing plugin checks
Sprinkle some more missing plugin checks around
2011-08-03 15:34:26 -03:00
Thiago Santos
e9b72257e2 camerabin2: Add a missing element check and remove TODO
Add missing element checks for elements created at _init
functions and remove TODO about it
2011-08-03 15:34:26 -03:00
Thiago Santos
a68b1f049c camerabin2: Remove redundant image-queue
Encodebin is used for image encoding and it already contains
a queue, so we can remove camerabin2 image queue.
2011-08-03 13:58:26 -03:00
Tim-Philipp Müller
cc9e490313 dvbsuboverlay: fix up copyrights 2011-08-03 13:54:21 +01:00
Robert Swain
b4c8eb084c gst-camerabin2-test: Add audio capture caps option 2011-08-03 08:01:42 -03:00
Sebastian Dröge
ce0655c275 basevideoencoder: Make access to the list of frames threadsafe 2011-08-03 09:41:20 +02:00
Tim-Philipp Müller
f0bc2dc05b bayer: back around compiler warnings in orc-generated code by disabling -Werror for this plugin
https://bugzilla.gnome.org/show_bug.cgi?id=652677
2011-08-02 23:53:08 +01:00
Tim-Philipp Müller
7e49dad23b Fix some more variable-set-but-not-used compiler warnings 2011-08-02 22:57:15 +01:00
Robert Jobbagy
e8d5e476ef camerabin2: examples: Fix camerabin2 G_OBJECT cast
Adds missing cast to fix build error.
2011-08-02 17:06:48 -03:00
Thiago Santos
298af589eb camerabin2: Workaround for ringbuffer not resyncing on READY
Add a workaround to fix timestamps meanwhile bug
https://bugzilla.gnome.org/show_bug.cgi?id=648359 is fixed.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
2e28fe2e18 camerabin2 remove redundant viewfinder-colorspace and viewfinder-scale
camrabin2 connects a viewfinderbin on "vfsrc". viewfinderbin is made of:
   vfbin-csp ! vfbin-videoscale ! videosink.

we should either remove csp/videoscale from wrappercamerabinsrc (as
done in this patch) or we should get rid of viewfinderbin altogether.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
058a3d9d4c basecamerasrc: remove unused get_allowed_input_caps
The use of this method was removed in:
    commit 539f10f4d9
    basecamerasrc: More cleanup

The code from wrappercamerabinsrc is from v4l2camerasrc but is unused:
get_allowed_input_caps is not called anywhere.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
28df77b7b0 basecamerasrc: don't use class offsets for start/stop-capture signal handlers 2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
2d17cd3350 basecamerasrc: document why we set preview to PLAYING 2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
5aa37ebdc8 basecamerasrc: document callbacks
Note for each callback:
- when it is called,
- whether it is mandatory or optional.
2011-08-02 13:39:17 -03:00
Raluca Elena Podiuc
c189ba3496 basecamerabinsrc: preview: remove unused new_preroll callback 2011-08-02 13:39:17 -03:00
Teemu Katajisto
7e069060b3 camerabin2: Synchronize clock and base time to audiosrc
When audio source goes to READY it loses its clock and base time,
this patch sets them back after bringing the audio source back to PAUSED.
2011-08-02 13:39:17 -03:00
Robert Swain
7f720ed606 camerabin2: Prevent audio source from providing clock
The audio source inside camerabin2 is put to READY and back to
PLAYING when starting capture, causing the pipeline to lose its
clock. As camerabin2 isn't put to PAUSED->PLAYING again during
this, a new clock isn't selected for elements.
2011-08-02 13:39:17 -03:00
Robert Swain
2609427ada camerabin2: Add flags prop to toggle encodebin conversion elements
A flags property has been added to encodebin to toggle whether the
conversion elements (ffmpegcolorspace, videoscale, audioconvert,
audioresample, audiorate) are created and linked into the appropriate
branches of encodebin.

Not including these elements avoids some slow caps negotiation and
allows the first buffers to flow through encodebin much more quickly.
However, it imposes that the uncompressed input is appropriate for the
target profile and elements selected to meet that profile.
2011-08-02 13:39:17 -03:00
Robert Swain
dae8d8fd5a camerabin2: Prepare audiosrc before start-capture
If we bring the audio source up to the PAUSED state before emitting the
start-capture signal to the camera source, when subequently taking the
audio source to the PLAYING state, it will begin capture more quickly.
2011-08-02 13:39:17 -03:00
Robert Swain
afee3b0301 camerabin2: Remove redundant elements
Since camerabin2 has switched to encodebin and encodebin has its own
queues and conversion elements, those preceding encodebin are no longer
necessary and as such can be removed.
2011-08-02 13:39:17 -03:00
Edward Hervey
5c77682dab tsdemux: Take into account upstream newsegment events
If the incoming newsegment event was in time, use that position value
for the downstream newsegments.
2011-08-01 18:49:55 +02:00
Edward Hervey
5572e63858 hlsdemux: Send NEWSEGMENT events
Previously hlsdemux wasn't sending out any newsegment.
Here we push a GST_FORMAT_TIME newsegment, and whenever possible we
try to indicate the proper start time.

This allows downstream elements to relay the start/time values properly
to the sinks, allowing better stream switching.
2011-08-01 18:48:03 +02:00
Edward Hervey
adfb090b59 mpegtsbase: Remove programs on EOS
Allows subclasses to properly flush out pending data.
2011-08-01 15:46:12 +02:00
Edward Hervey
57279cdd24 tsdemux: Refactor stream/program removal
The program_stopped vmethod was called before stream_removed vmethod
was being called. Since we only did stream-related operations in there,
we just remove the program_stopped vmethod and do everything in the
stream_removed one.

Also, make sure we flush out all pending data before sending EOS.
2011-08-01 10:54:16 +02:00
Nicolas Dufresne
cbc0a2f056 mpegtsbase: Prevent stack gardening by using the right type
stream_type is stored as guint inside the GstStructure but was retreived
using valist with a pointer to guint16. This would cause stack gardening
when code is compiled without optimisation (e.g. in -O0 the compiler wont
pad the stack to optimise out required mask).

https://bugzilla.gnome.org/show_bug.cgi?id=655540
2011-08-01 09:33:25 +02:00
Tim-Philipp Müller
b6723d092c tests: fix compiler warning in faad unit test 2011-07-29 21:27:28 +01:00
Tim-Philipp Müller
830a337799 id3mux: use now-public GstTagMux base class from libgsttag 2011-07-29 21:27:28 +01:00
Tim-Philipp Müller
e5970c8805 tagmux: require subclass to install sink pad template
Require the subclass to install both source and sink pad
templates. Also, print some warnings if the subclass doesn't
do that.

https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-29 21:27:28 +01:00
Robert Jobbagy
75a6072db8 gstmotioncells_dynamic_test: test tool what can to do dynamic change properties 2011-07-28 10:28:50 +02:00
Robert Jobbagy
4723a5d90c motioncells: new element to detect areas of motion 2011-07-28 10:28:50 +02:00
Edward Hervey
976f4b0bbf hsldemux: Handle change of media types
When switching bitrates, we might end up switching to a different
media-type (like from aac to/from mpeg-ts).

For this switch to behave properly in decodebin2, this patch adds:
* dynamic source pads (which will be added/removed whenever a stream
  media type changes
* re-checking the fragment media type whenever we switch to a different
  playlist
2011-07-27 16:56:37 +02:00
Edward Hervey
a49cfd1330 mpeg4videoparse: Fix unitialized variable on old compilers 2011-07-27 16:56:37 +02:00
Olaf Seibert
7583080023 hlsdemux: fix wrong usage of GST_ELEMENT_ERROR macros and compilation on NetBSD
https://bugzilla.gnome.org/show_bug.cgi?id=655319
2011-07-27 11:02:41 +01:00
Tim-Philipp Müller
e910e2888b pcapparse: fix compiler warning
gstpcapparse.c: In function 'gst_pcap_parse_chain':
gstpcapparse.c:381:6: error: 'eth_type' may be used uninitialized in this function [-Werror=uninitialized]
gstpcapparse.c:354:11: note: 'eth_type' was declared here
2011-07-27 10:56:15 +01:00
Felipe Contreras
046af98b30 pcapparse: fix SLL parsing
The current code is not checking for ethernet type, as it's supposed to,
but link layer device type and it's hard-coded to only accept dumps from
ethernet (ARPHRD_ETHER; 1). We don't care where the dump was fetched
from (wlan, 3G, etc.)

What we care about is the that the ethernet type is IP (ETHERNET_IP;
0x800), which is clearly field 14:

http://www.tcpdump.org/pcap3_man.html

And do a bit of cleanup.

Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-07-27 09:30:44 +02:00
Edward Hervey
634d29cd88 mpegtsbase/tsdemux: Fix stream/pad activation order
We first activate new streams before shutting down old ones.
We emit no-more-pads after we add new streams and emit EOS before
removing old ones.
Also cleanup/refactor a bit more of the code accordingly
2011-07-25 18:56:49 +02:00
Raluca Elena Podiuc
b50d50a9c2 camerabin2: add location=NULL docs to PORTING
https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Thiago Santos
a34ea4aaae camerabin2: If location is NULL do not encode images
Using a NULL string for location means that the application
doesn't want the image to be encoded, but wants to receive
the preview image. (Only works for image captures)

Useful for application that want the capture in memory only, like
displaying to the user before it choses to encode or take another
picture in avatar capturing scenarios.

https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Sebastian Dröge
8ba4f9178f schroenc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Sebastian Dröge
43e575319e vp8enc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Sebastian Dröge
1333ef9bbf diracenc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Sebastian Dröge
976d372f9b basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame 2011-07-21 08:09:11 +02:00
Sebastian Dröge
e5be8aa8ff basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass 2011-07-21 08:09:11 +02:00