Josep Torra [Sat, 16 Mar 2013 08:59:01 +0000 (09:59 +0100)]
omxvideoenec: Don't forget propagate flow return value upstream
Tim-Philipp Müller [Fri, 15 Mar 2013 13:16:39 +0000 (13:16 +0000)]
omx: improve debug logging some more
Sebastian Dröge [Fri, 15 Mar 2013 13:09:45 +0000 (14:09 +0100)]
omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
Sebastian Dröge [Fri, 15 Mar 2013 10:46:34 +0000 (11:46 +0100)]
omx: Stop output port task after draining
Sebastian Dröge [Fri, 15 Mar 2013 09:58:58 +0000 (10:58 +0100)]
omx: Reset EOS flag in more places
Sebastian Dröge [Fri, 15 Mar 2013 09:38:43 +0000 (10:38 +0100)]
omxvideodec: Deallocate output buffers with the right function
Tim-Philipp Müller [Fri, 15 Mar 2013 01:06:05 +0000 (01:06 +0000)]
omx: log commands as strings
Makes logs easier to read.
Tim-Philipp Müller [Fri, 15 Mar 2013 00:47:47 +0000 (00:47 +0000)]
omx: log states as strings
Tim-Philipp Müller [Fri, 15 Mar 2013 00:28:02 +0000 (00:28 +0000)]
omx: log component name in debug messages
Useful when we have more different components
active at the same time.
Sebastian Dröge [Fri, 15 Mar 2013 08:51:42 +0000 (09:51 +0100)]
omxvideodec: Don't interpolate timestamps
We will get exactly one frame per input buffer and assigning
timestamps between frames if more than one OMX buffer is required
per frame easily confuses timestamp tracking in OMX.
Sebastian Dröge [Fri, 15 Mar 2013 08:32:42 +0000 (09:32 +0100)]
omxvideodec: Give the codec_data the timestamp of the first frame and no duration
Sebastian Dröge [Thu, 14 Mar 2013 16:31:17 +0000 (17:31 +0100)]
omx: The MPEG4 encoder is not available on RPi and probably never will
Sebastian Dröge [Thu, 14 Mar 2013 16:26:30 +0000 (17:26 +0100)]
omx: Reset some more buffer fields as required
Sebastian Dröge [Thu, 14 Mar 2013 16:01:08 +0000 (17:01 +0100)]
omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
Sebastian Dröge [Thu, 14 Mar 2013 16:00:12 +0000 (17:00 +0100)]
omx: Reset the flags for output ports when releasing a buffer, not for input ports
Sebastian Dröge [Thu, 14 Mar 2013 14:03:02 +0000 (15:03 +0100)]
omx: Only unref caps after usage of its fields
Sebastian Dröge [Thu, 14 Mar 2013 13:51:32 +0000 (14:51 +0100)]
omxvideodec: Simplify bufferpool implementation
Sebastian Dröge [Wed, 13 Mar 2013 12:23:35 +0000 (13:23 +0100)]
omxvideodec: Improve min/max buffer counts handling
Sebastian Dröge [Thu, 14 Mar 2013 11:49:42 +0000 (12:49 +0100)]
omx: Handle the OMX_EventBufferFlag to detect EOS too
Sebastian Dröge [Wed, 13 Mar 2013 09:29:23 +0000 (10:29 +0100)]
omx: Mark OpenMAX buffers as EGLImage if they contain one
Needs special handling in some places, e.g. because nFilledLen
will always be 0.
Sebastian Dröge [Wed, 13 Mar 2013 09:21:49 +0000 (10:21 +0100)]
omxvideoenc: Properly check the nVersion field
Sebastian Dröge [Wed, 13 Mar 2013 08:34:43 +0000 (09:34 +0100)]
omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
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