Commit graph

884 commits

Author SHA1 Message Date
Sebastian Dröge 4a110e129c omxh263dec: Add H.263 decoder element 2011-07-25 11:44:56 +02:00
Sebastian Dröge e01eb8c35c omxh264enc: Add H.264 encoder element 2011-07-25 11:32:51 +02:00
Sebastian Dröge 87587dd6d2 omxvideodec: Try harder to deallocate the buffers after errors happened 2011-07-25 10:48:58 +02:00
Sebastian Dröge ae7ed44e6b omxvideoenc: Try harder to deallocate the buffers after errors happened 2011-07-25 10:47:28 +02:00
Sebastian Dröge 9e1cfa300b omx: Deallocate port buffers before freeing the component
They should be deallocated by the caller before reaching the
Loaded state but to be on the safe side we will make sure
they're really deallocated here.
2011-07-25 10:46:49 +02:00
Sebastian Dröge 7350dcc8cd omxvideoenc: Add initial support for stride conversion 2011-07-21 11:15:14 +02:00
Sebastian Dröge 254bee9be9 omx: Set default roles for the components if none were set from the config file 2011-07-21 10:38:26 +02:00
Sebastian Dröge a86debaf36 omx: Failure to set the component role is fatal 2011-07-21 10:36:19 +02:00
Sebastian Dröge 644fa35789 omxvideoenc: Add support for setting codec_data on the srcpad caps 2011-07-21 07:53:25 +02:00
Sebastian Dröge 182a488f49 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer 2011-07-21 07:44:34 +02:00
Sebastian Dröge 34da745dc5 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame 2011-07-21 07:44:10 +02:00
Sebastian Dröge c0d304f819 omxvideoenc: Remove obsolete TODO comment 2011-07-21 07:31:05 +02:00
Sebastian Dröge e8b2ffe6f4 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
Resolves conflicts with gst-openmax.
2011-07-20 11:09:54 +02:00
Sebastian Dröge 2343decb3c omxvideoenc: Add video encoder base class and MPEG4 video encoder
Unfortunately requires lots of hacks again to work properly with
Bellagio.
2011-07-20 11:08:18 +02:00
Sebastian Dröge 9619d9c95d basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass 2011-07-20 11:08:18 +02:00
Sebastian Dröge fdd049a41c basevideoencoder: Delay sending of serialized sink events until finish_frame() 2011-07-20 11:08:18 +02:00
Sebastian Dröge 159093cd6a basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder 2011-07-20 11:08:18 +02:00
Sebastian Dröge 92643716e4 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
of 0/1 if no PAR is specified in the caps.
2011-07-20 08:19:01 +02:00
Sebastian Dröge 71d176f71a omx: Improve debug output a bit 2011-07-19 12:29:51 +02:00
Sebastian Dröge b6558570bf omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
We only reconfigure ports that need to be reconfigured now instead of
always all ports.
2011-07-19 10:33:54 +02:00
Sebastian Dröge 4616d804ac omx: Add infrastructure to enable special hacks for broken OpenMAX implementations 2011-07-19 10:33:15 +02:00
Sebastian Dröge f3f3bd1dff omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured 2011-07-18 13:10:49 +02:00
Sebastian Dröge 9377aefb87 omxvideodec: Add support for converting between omx and gst rowstrides 2011-07-18 08:41:20 +02:00
Sebastian Dröge 51dbc82ef4 omx: Provide all buffers to output ports after enabling them 2011-07-14 10:34:09 +02:00
Sebastian Dröge 41feed55b7 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar 2011-07-14 08:29:03 +02:00
Sebastian Dröge 961445aa1b omxvideodec: Only flush the component ports after we passed input to them 2011-07-14 07:58:41 +02:00
Sebastian Dröge 252624c7cc omxvideodec: Only change states downwards if an upper state was reached 2011-07-13 21:19:34 +02:00
Sebastian Dröge f0cbbad0f1 omx: Add support for setting the component-role 2011-07-13 20:37:02 +02:00
Sebastian Dröge 0a9fe2f146 omx: Improve error reporting by formatting the error codes better and also providing their string representation 2011-07-13 20:22:51 +02:00
Sebastian Dröge 5f5d2edd16 build: Dist autogen.sh 2011-07-13 14:36:14 +02:00
Sebastian Dröge 9ab5f79784 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16 2011-07-13 14:35:51 +02:00
Sebastian Dröge 5732b44606 build: Dist gstomx.conf 2011-07-13 14:04:47 +02:00
Sebastian Dröge 96fc0375d6 build: Clean _stdint.h on "make distclean" 2011-07-13 14:04:20 +02:00
Sebastian Dröge 8a78da68a6 omxvideodec: Fix typo 2011-07-13 14:02:50 +02:00
Sebastian Dröge 0966307189 omx: Dist gstomx.h 2011-07-13 13:59:50 +02:00
Sebastian Dröge fb0ca24654 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units 2011-07-13 12:46:50 +02:00
Sebastian Dröge f5690ff412 omxvideodec: Free all pending frames when resetting the decoder
Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
2011-07-13 12:37:44 +02:00
Sebastian Dröge af159705c9 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
This can happen on EOS in some cases and when the input is not
properly framed.
2011-07-13 10:02:20 +02:00
Sebastian Dröge 1b08dfa2a6 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder 2011-07-13 09:31:22 +02:00
Sebastian Dröge 24e0196d1d omxh264dec: It's called H.264, not H264 2011-07-12 11:37:28 +02:00
Sebastian Dröge a24cdd41bc omxvideodec: Make sink/src pad template caps configurable 2011-07-12 11:36:42 +02:00
Sebastian Dröge 2023754bcf omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable 2011-07-12 11:13:50 +02:00
Sebastian Dröge 113d18caea omxvideodec: Make core/component-name and in/outport index configurable 2011-07-12 11:04:16 +02:00
Sebastian Dröge 940febae88 omx: Add initial version of configuration system
This now only registers elements that are specified in the
configuration file.

The configuration file is a keyfile in the first XDG configuration
directory with the name gstomx.conf.
2011-07-12 11:04:11 +02:00
Sebastian Dröge 6bd84629ed omxh264dec: Rename from omxh264videodec to omxh264dec 2011-07-12 08:54:22 +02:00
Sebastian Dröge 4fede99e2d omxh264videodec: Require alignment=au and stream-format={avc,bytestream} 2011-07-12 08:40:48 +02:00
Sebastian Dröge 0c72a15019 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
The subclass might want to access the old state.
2011-07-12 08:36:01 +02:00
Sebastian Dröge 99c9f57460 basevideodecoder: Track present position on discont before resetting it 2011-07-12 08:36:01 +02:00
Sebastian Dröge 99da6b1db1 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events 2011-07-12 08:36:00 +02:00
Sebastian Dröge 07e3936abf basevideocodec: Protect access to the list of pending frames with the object lock
This is required if ::finish_frame() and all buffer output happens
on a different thread than the sinkpad streaming thread.
2011-07-12 08:36:00 +02:00