Sebastian Dröge [Tue, 12 Mar 2013 19:02:53 +0000 (20:02 +0100)]
omxvideodec: Make sure to always get the right buffer
Sebastian Dröge [Tue, 12 Mar 2013 18:35:39 +0000 (19:35 +0100)]
omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
Sebastian Dröge [Tue, 12 Mar 2013 18:17:08 +0000 (19:17 +0100)]
omxvideodec: Drop too late frames instead of finishing them
Sebastian Dröge [Tue, 12 Mar 2013 18:16:46 +0000 (19:16 +0100)]
omx: Release buffers to the correct port
Sebastian Dröge [Wed, 13 Mar 2013 08:37:02 +0000 (09:37 +0100)]
omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
Sebastian Dröge [Tue, 12 Mar 2013 17:20:22 +0000 (18:20 +0100)]
omx: Lazy-load symbols of libbcm_host.so
It exports eglIntOpenMAXILDoneMarker(), which is also
exported by libopenmaxil.so... but we need the version
from libopenmaxil.so as the other one is just a stub.
Sebastian Dröge [Mon, 11 Mar 2013 12:59:15 +0000 (13:59 +0100)]
omx: Don't set profile/level in other encoders if downstream caps don't specify any
Sebastian Dröge [Mon, 11 Mar 2013 12:49:38 +0000 (13:49 +0100)]
omxh264enc: If caps specify no profile/level use the component's defaults
Sebastian Dröge [Mon, 11 Mar 2013 12:45:04 +0000 (13:45 +0100)]
omxvideoenc: Always allocate output buffers from the loop function
Sebastian Dröge [Mon, 11 Mar 2013 12:12:57 +0000 (13:12 +0100)]
omxh264enc: The h264 encoders are supposed to output byte-stream/au
Sebastian Dröge [Mon, 11 Mar 2013 10:47:42 +0000 (11:47 +0100)]
omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
Sebastian Dröge [Mon, 11 Mar 2013 09:39:25 +0000 (10:39 +0100)]
omxvideodec: Don't provide buffers to downstream
This only works reliable if we have a way to tell downstream to
release all our buffers for reconfiguration.
Sebastian Dröge [Mon, 11 Mar 2013 09:29:44 +0000 (10:29 +0100)]
omxaudioenc: Disable output port when setting a new format
Sebastian Dröge [Mon, 11 Mar 2013 09:29:30 +0000 (10:29 +0100)]
omxvideoenc: Disable output port when setting a new format
Sebastian Dröge [Mon, 11 Mar 2013 09:22:07 +0000 (10:22 +0100)]
omxvideodec: Disable output port when setting a new format
Based on a patch by Josep Torra <n770galaxy@gmail.com>
Sebastian Dröge [Mon, 11 Mar 2013 09:04:10 +0000 (10:04 +0100)]
omx: Catch errors when releasing buffers to a port and handle them
Sebastian Dröge [Sun, 10 Mar 2013 11:09:23 +0000 (12:09 +0100)]
omxvideoenc: Use the correct video codec state when filling an input buffer
Sebastian Dröge [Sun, 10 Mar 2013 11:05:50 +0000 (12:05 +0100)]
omxvideoenc: Store correct input state
Sebastian Dröge [Sun, 10 Mar 2013 10:27:34 +0000 (11:27 +0100)]
omxvideoenc: Allocate output buffers as early as possible
Sebastian Dröge [Sun, 10 Mar 2013 10:01:57 +0000 (11:01 +0100)]
omx: Log unknown events
Josep Torra [Sat, 9 Mar 2013 13:14:40 +0000 (14:14 +0100)]
omx: Fix deadlock in encoders and add explainatory comments.
Josep Torra [Sat, 9 Mar 2013 12:27:08 +0000 (13:27 +0100)]
omxvideodec: fix printf format identifier
Josep Torra [Sat, 9 Mar 2013 12:07:59 +0000 (13:07 +0100)]
omx: Minor changes on debuging info
Josep Torra [Sat, 9 Mar 2013 12:00:33 +0000 (13:00 +0100)]
omxvideodec: avoid a deadlock
Sebastian Dröge [Fri, 8 Mar 2013 14:56:40 +0000 (15:56 +0100)]
omxvideodec: Don't forget to populate output port
Sebastian Dröge [Fri, 8 Mar 2013 14:11:27 +0000 (15:11 +0100)]
omx: Flush and stop srcpad when configuring new caps
Sebastian Dröge [Thu, 7 Mar 2013 16:40:21 +0000 (17:40 +0100)]
Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
This reverts commit
e123b2089f69a413241f30a2428ea6edd8f231e7.
It's not required anymore after the fix from the last commit.
Sebastian Dröge [Thu, 7 Mar 2013 16:38:40 +0000 (17:38 +0100)]
omxvideodec: Only negotiate a color format with downstream on the initial caps
Sebastian Dröge [Thu, 7 Mar 2013 16:29:43 +0000 (17:29 +0100)]
omxvideodec: Make sure the output port is disabled while we allocate buffers
Sebastian Dröge [Thu, 7 Mar 2013 16:27:05 +0000 (17:27 +0100)]
omx: Also wait for disabled output ports to be reconfigured
Sebastian Dröge [Thu, 7 Mar 2013 13:10:12 +0000 (14:10 +0100)]
omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
Sebastian Dröge [Thu, 7 Mar 2013 10:11:58 +0000 (11:11 +0100)]
omx: Add timeout to the flush operation and move buffer populating to a separate function
Sebastian Dröge [Wed, 6 Mar 2013 16:33:23 +0000 (17:33 +0100)]
omx: Remove min buffer count hack for RPi again
It's not necessary anymore
Sebastian Dröge [Wed, 6 Mar 2013 16:05:51 +0000 (17:05 +0100)]
omx: Do number of buffers configuration explicitely
Josep Torra [Thu, 7 Mar 2013 10:24:54 +0000 (11:24 +0100)]
omxvideodec: fixes reconfiguration
Avoid having fixed fields from previous caps on reconfiguration.
Josep Torra [Thu, 7 Mar 2013 10:02:39 +0000 (11:02 +0100)]
omx: use no-component-reconfigure hack on the Raspberry PI
Tim-Philipp Müller [Thu, 7 Mar 2013 00:03:28 +0000 (00:03 +0000)]
Automatic update of common submodule
From 2de221c to 04c7a1e
Josep Torra [Fri, 1 Mar 2013 14:32:47 +0000 (15:32 +0100)]
omxvideoenc: drop unused data member
Sebastian Dröge [Fri, 1 Mar 2013 11:23:54 +0000 (12:23 +0100)]
omxvideoenc: And set it actually on the right port
Sebastian Dröge [Fri, 1 Mar 2013 11:18:08 +0000 (12:18 +0100)]
omxvideoenc: Set the coding type in the subclasses to the specific codec
Sebastian Dröge [Fri, 1 Mar 2013 10:49:53 +0000 (11:49 +0100)]
omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
Sebastian Dröge [Fri, 1 Mar 2013 10:44:17 +0000 (11:44 +0100)]
omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
Sebastian Dröge [Fri, 1 Mar 2013 10:25:04 +0000 (11:25 +0100)]
omxaudioenc: Only enable the output port after we know the output format
Sebastian Dröge [Fri, 1 Mar 2013 10:24:56 +0000 (11:24 +0100)]
omxvideoenc: Only enable the output port after we know the output format
Sebastian Dröge [Thu, 28 Feb 2013 16:02:31 +0000 (17:02 +0100)]
omxvideodec: Only enable the output port after we know the output format
Sebastian Dröge [Fri, 1 Mar 2013 10:18:18 +0000 (11:18 +0100)]
omx: Handle errors more gracefully
Sebastian Dröge [Thu, 28 Feb 2013 14:48:53 +0000 (15:48 +0100)]
omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
Sebastian Dröge [Thu, 28 Feb 2013 14:37:53 +0000 (15:37 +0100)]
omx: Return port definition update errors
Sebastian Dröge [Thu, 28 Feb 2013 12:57:43 +0000 (13:57 +0100)]
omx: Add hack for RPi for the minimum number of buffers required for a port
The value in the port definition is invalid and the initial actual
buffer count should be used.
Sebastian Dröge [Thu, 28 Feb 2013 12:26:56 +0000 (13:26 +0100)]
omx: Always tell the component about the right number of buffers that we're going to allocate
Sebastian Dröge [Thu, 28 Feb 2013 12:07:58 +0000 (13:07 +0100)]
omx: Invert assertion to let it express what was intended
Sebastian Dröge [Thu, 28 Feb 2013 10:19:07 +0000 (11:19 +0100)]
omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
Sebastian Dröge [Wed, 27 Feb 2013 15:55:16 +0000 (16:55 +0100)]
omx: Refactor code flow a bit if output port settings have changed
Sebastian Dröge [Wed, 27 Feb 2013 14:49:56 +0000 (15:49 +0100)]
omx: Clean up port settings change handling
Josep Torra [Wed, 27 Feb 2013 10:30:14 +0000 (11:30 +0100)]
omxvideodec: initialize param structure before using it
Josep Torra [Wed, 27 Feb 2013 09:21:39 +0000 (10:21 +0100)]
omxvideoenc: prevent a NULL pointer access
Josep Torra [Tue, 26 Feb 2013 16:25:49 +0000 (17:25 +0100)]
omxvideodec: prevent a NULL pointer access
Sebastian Dröge [Mon, 25 Feb 2013 12:11:16 +0000 (13:11 +0100)]
omx: Fix deadlock during reconfiguration
Sebastian Dröge [Mon, 25 Feb 2013 11:38:27 +0000 (12:38 +0100)]
omx: Auto-detect the port indizes if possible
Sebastian Dröge [Mon, 25 Feb 2013 10:42:38 +0000 (11:42 +0100)]
omx: Refactor querying of component supported caps into its own function
Sebastian Dröge [Mon, 25 Feb 2013 09:41:12 +0000 (10:41 +0100)]
omx: Refactor waiting for buffers to be released by the component to a separate function
Sebastian Dröge [Fri, 11 Jan 2013 17:44:13 +0000 (17:44 +0000)]
omx: Add methods to set up and close a tunnel between components
Sebastian Dröge [Mon, 25 Feb 2013 08:15:53 +0000 (09:15 +0100)]
omxaudioenc: Rename component variable
Sebastian Dröge [Mon, 25 Feb 2013 08:15:46 +0000 (09:15 +0100)]
omxvideoenc: Rename component variable
Sebastian Dröge [Mon, 25 Feb 2013 08:12:22 +0000 (09:12 +0100)]
omxvideodec: Rename component variable
Josep Torra [Fri, 22 Feb 2013 15:27:33 +0000 (16:27 +0100)]
omxvideoenc: remove duplicated line
Sebastian Dröge [Fri, 22 Feb 2013 09:42:08 +0000 (10:42 +0100)]
Retry loading libbcm_host.so without an absolute path if that failed
Sebastian Dröge [Thu, 21 Feb 2013 19:32:42 +0000 (20:32 +0100)]
Add missing file from last commit
Sebastian Dröge [Thu, 21 Feb 2013 10:01:28 +0000 (11:01 +0100)]
Add OpenMAX IL target for Bellagio
Not tested since a very long time though.
Sebastian Dröge [Thu, 21 Feb 2013 09:59:29 +0000 (10:59 +0100)]
Allow using external OpenMAX IL headers
Sebastian Dröge [Thu, 21 Feb 2013 09:14:12 +0000 (10:14 +0100)]
Update .gitignore
Sebastian Dröge [Thu, 21 Feb 2013 09:13:16 +0000 (10:13 +0100)]
Install the RPI config when the RPI target is selected
Sebastian Dröge [Thu, 21 Feb 2013 09:08:07 +0000 (10:08 +0100)]
Set default hacks for the RPI target and always initialize bcm_host
Sebastian Dröge [Thu, 21 Feb 2013 09:05:37 +0000 (10:05 +0100)]
Add configure parameter for setting the OpenMAX IL target
Sebastian Dröge [Tue, 12 Feb 2013 10:55:39 +0000 (11:55 +0100)]
omx: Add FIXME for the future
Sebastian Dröge [Tue, 12 Feb 2013 10:49:21 +0000 (11:49 +0100)]
omx: Some minor refactoring and cleanup
Sebastian Dröge [Tue, 12 Feb 2013 10:45:40 +0000 (11:45 +0100)]
omx: Don't access the port's buffers array if it wasn't allocated yet
Sebastian Dröge [Tue, 12 Feb 2013 10:44:40 +0000 (11:44 +0100)]
omx: Mark an array as const
Sebastian Dröge [Tue, 12 Feb 2013 10:41:43 +0000 (11:41 +0100)]
omx: Split enabling/disabling of port into sending the command and waiting for it
This allows to do anything necessary after sending the command to actually let it finish
Sebastian Dröge [Tue, 12 Feb 2013 10:37:38 +0000 (11:37 +0100)]
omx: Flushing is also allowed in Paused state
Sebastian Dröge [Tue, 12 Feb 2013 10:28:36 +0000 (11:28 +0100)]
omxvideoenc: Set stride, slice height and buffer size
Sebastian Dröge [Tue, 12 Feb 2013 10:09:30 +0000 (11:09 +0100)]
config: Add h264 and mpeg2 encoders to the raspberry pi config
Not completely working yet though.
Sebastian Dröge [Tue, 12 Feb 2013 10:03:32 +0000 (11:03 +0100)]
omxvideoenc: Properly negotiate OMX color format with the component
Sebastian Dröge [Tue, 12 Feb 2013 09:53:24 +0000 (10:53 +0100)]
omxvideoenc: Implement getcaps() vfunc
Tim-Philipp Müller [Tue, 29 Jan 2013 21:32:53 +0000 (21:32 +0000)]
configure: use 1.0 gstconfig.h to detect disabled subsystems
Update unused configure check for GStreamer core subsystem
features from 0.10 to 1.0.
Stefan Sauer [Mon, 28 Jan 2013 19:44:41 +0000 (20:44 +0100)]
Automatic update of common submodule
From a942293 to 2de221c
Julian Scheel [Thu, 24 Jan 2013 13:02:36 +0000 (14:02 +0100)]
omx: add mpeg2 video decoder
This adds a decoder class for mpeg2, as well as an extended
configuration for raspberry pi.
https://bugzilla.gnome.org/show_bug.cgi?id=692446
Signed-off-by: Julian Scheel <julian@jusst.de>
Sebastian Dröge [Fri, 18 Jan 2013 15:47:04 +0000 (16:47 +0100)]
omx: Minimize the time when the messages lock is held
Fixes a deadlock if any OMX functions are called when the
messages are handled.
Thanks to Nicolas Dufresne for noticing.
Tim-Philipp Müller [Fri, 18 Jan 2013 15:28:20 +0000 (15:28 +0000)]
omx: improve debug message when we can't find the config file
Mention where we looked for the config file.
Tim-Philipp Müller [Fri, 18 Jan 2013 12:34:38 +0000 (12:34 +0000)]
build: fix autogen.sh with automake 1.13
AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
Sebastian Dröge [Thu, 17 Jan 2013 17:07:41 +0000 (18:07 +0100)]
omx: Fix includes to properly work with the 1.0 releases
Tim-Philipp Müller [Tue, 15 Jan 2013 15:08:28 +0000 (15:08 +0000)]
Automatic update of common submodule
From a72faea to a942293
Sebastian Dröge [Tue, 15 Jan 2013 13:34:45 +0000 (14:34 +0100)]
omx: Update port definition when changing some port setting
Sebastian Dröge [Mon, 14 Jan 2013 10:41:57 +0000 (11:41 +0100)]
omx: Rename from libgstopenmax.so to ligstomx.so for consistency
Nicolas Dufresne [Fri, 11 Jan 2013 15:32:22 +0000 (15:32 +0000)]
omx: Add a method to send message
Sebastian Dröge [Fri, 11 Jan 2013 14:44:38 +0000 (15:44 +0100)]
omx: Atomic ops are not required anymore for the reconfiguration
Sebastian Dröge [Fri, 11 Jan 2013 11:52:10 +0000 (12:52 +0100)]
omx: Fix some memory leaks and suboptimal locking
Sebastian Dröge [Fri, 11 Jan 2013 11:34:04 +0000 (12:34 +0100)]
omxvideoenc: Don't forget to unmap frame in error cases
Sebastian Dröge [Fri, 11 Jan 2013 11:29:20 +0000 (12:29 +0100)]
omxvideoenc: Fix copying of the video frames to the OMX buffers
Sebastian Dröge [Fri, 11 Jan 2013 11:24:13 +0000 (12:24 +0100)]
omxvideodec: Fix copying of the video frames from the OMX buffers