3 2022-11-07 23:53:59 +0000 Tim-Philipp Müller <tim@centricular.com>
11 2022-11-07 23:53:57 +0000 Tim-Philipp Müller <tim@centricular.com>
14 Update ChangeLogs for 1.21.2
16 2022-10-04 03:57:31 +0100 Tim-Philipp Müller <tim@centricular.com>
20 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115>
22 === release 1.21.1 ===
24 2022-10-04 01:14:01 +0100 Tim-Philipp Müller <tim@centricular.com>
33 2022-10-04 01:13:59 +0100 Tim-Philipp Müller <tim@centricular.com>
36 Update ChangeLogs for 1.21.1
38 2022-09-21 19:19:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
41 meson: Use implicit builtin dirs in pkgconfig generation
42 Starting with Meson 0.62, meson automatically populates the variables
43 list in the pkgconfig file if you reference builtin directories in the
44 pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
45 We need this, because ${prefix}/libexec is a hard-coded value which is
46 incorrect on, for example, Debian.
47 Bump requirement to 0.62, and remove version compares that retained
48 support for older Meson versions.
49 Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
50 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061>
52 2021-03-24 14:20:18 -0500 Zebediah Figura <z.figura12@gmail.com>
55 meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
56 GLib made the unfortunate decision to prevent libgobject from ever being
57 unloaded, which means that now any library which registers a static type
58 can't ever be unloaded either (and any library that depends on those,
60 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778>
62 2022-09-01 11:51:48 -0400 Thibault Saunier <tsaunier@igalia.com>
65 meson: Namespace the plugins_doc_dep/libraries variables
66 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970>
68 2022-06-29 10:55:13 +0100 Tim-Philipp Müller <tim@centricular.com>
71 coding style: allow declarations after statement
72 See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1243/
73 and https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/78
74 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2683>
76 2022-04-06 12:56:30 +0100 Tim-Philipp Müller <tim@centricular.com>
79 Bump GLib requirement to >= 2.62
80 Can't require 2.64 yet because of
81 https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/323
82 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2568>
84 2022-03-30 11:06:02 -0400 Xavier Claessens <xavier.claessens@collabora.com>
87 Use gmodule-no-export-2.0
88 We don't need `-Wl,--export-dynamic`, that's used only for executables
89 that needs to export an API to be used by plugins they load.
90 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
92 2022-03-25 15:00:20 -0400 Xavier Claessens <xavier.claessens@collabora.com>
96 * tests/check/meson.build:
98 Remove glib and gobject dependencies everywhere
99 They are part of gst_dep already and we have to make sure to always have
100 gst_dep. The order in dependencies matters, because it is also the order
101 in which Meson will set -I args. We want gstreamer's config.h to take
102 precedence over glib's private config.h when it's a subproject.
103 While at it, remove useless fallback args for gmodule/gio dependencies,
104 only gstreamer core needs it.
105 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031>
107 2022-03-18 13:42:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
110 meson: Bump all meson requirements to 0.60
111 Lots of new warnings ever since
112 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934
113 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1977>
115 2022-02-21 11:37:26 -0500 Xavier Claessens <xavier.claessens@collabora.com>
117 * config/meson.build:
119 devenv: Add some missing GStreamer specific env variables
120 This should make "meson devenv" closer to what "gst-env.py" sets.
121 - GST_VALIDATE_SCENARIOS_PATH
122 - GST_VALIDATE_APPS_DIR
124 - GST_ENCODING_TARGET_PATH
129 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768>
131 2022-02-04 11:15:47 +0000 Tim-Philipp Müller <tim@centricular.com>
135 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635>
137 === release 1.20.0 ===
139 2022-02-03 19:53:25 +0000 Tim-Philipp Müller <tim@centricular.com>
148 2022-02-03 19:53:18 +0000 Tim-Philipp Müller <tim@centricular.com>
151 Update ChangeLogs for 1.20.0
153 === release 1.19.90 ===
155 2022-01-28 14:28:35 +0000 Tim-Philipp Müller <tim@centricular.com>
164 2022-01-28 14:28:28 +0000 Tim-Philipp Müller <tim@centricular.com>
167 Update ChangeLogs for 1.19.90
169 2022-01-05 02:07:59 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
172 meson: Add explicit check: kwarg to all run_command() calls
173 This is required since Meson 0.61.0, and causes a warning to be
175 https://github.com/mesonbuild/meson/commit/2c079d855ed87488bdcc6c5c06f59abdb9b85b6c
176 https://github.com/mesonbuild/meson/issues/9300
177 This exposed a bunch of places where we had broken run_command()
178 calls, unnecessary run_command() calls, and places where check: true
180 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507>
182 2021-11-03 18:44:03 +0000 Tim-Philipp Müller <tim@centricular.com>
187 === release 1.19.3 ===
189 2021-11-03 15:43:36 +0000 Tim-Philipp Müller <tim@centricular.com>
198 2021-11-03 15:43:32 +0000 Tim-Philipp Müller <tim@centricular.com>
201 Update ChangeLogs for 1.19.3
203 2021-10-18 15:47:00 +0100 Tim-Philipp Müller <tim@centricular.com>
205 * tests/check/meson.build:
206 meson: update for meson.build_root() and .build_source() deprecation
207 -> use meson.project_build_root() or .global_build_root() instead.
208 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
210 2021-10-18 00:40:14 +0100 Tim-Philipp Müller <tim@centricular.com>
214 * tests/check/meson.build:
215 meson: update for dep.get_pkgconfig_variable() deprecation
216 ... in favour of dep.get_variable('foo', ..) which in some
217 cases allows for further cleanups in future since we can
218 extract variables from pkg-config dependencies as well as
219 internal dependencies using this mechanism.
220 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183>
222 2021-10-14 18:38:26 +0100 Tim-Philipp Müller <tim@centricular.com>
225 meson: bump meson requirement to >= 0.59
226 For monorepo build and ugly/bad, for advanced feature
227 option API like get_option('xyz').required(..) which
228 we use in combination with the 'gpl' option.
229 For rest of modules for consistency (people will likely
230 use newer features based on the top-level requirement).
231 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1084>
233 2021-09-28 10:11:15 +1000 Brad Hards <bradh@frogmouth.net>
236 doc: update IRC links to OFTC
237 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945>
239 2021-09-26 01:07:02 +0100 Tim-Philipp Müller <tim@centricular.com>
243 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925>
245 === release 1.19.2 ===
247 2021-09-23 01:36:02 +0100 Tim-Philipp Müller <tim@centricular.com>
256 2021-07-09 15:14:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
258 * omx/gstomxvideodec.c:
259 omxvideodec: fix OMX flags on header buffer
260 The header (SPS/PPS) buffer should have the CODECONFIG flag
261 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
263 2021-07-09 14:52:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
265 * omx/gstomxvideodec.c:
266 omxvideodec: allow to start decoder on HEADER buffer
267 If the headers are sent in their own buffer
268 it won't have the SYNC_FRAME flag but we still
269 do want to start decoding rather than dropping it.
270 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
272 2018-09-06 21:56:57 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
275 * omx/gstomxh264dec.c:
276 * omx/gstomxh265dec.c:
277 * omx/gstomxvideodec.c:
278 omxh26xdec: videodecoder support subframe
279 Use of subframe API from videodecoder base class.
280 This subframe allows to decode subframe instead of
281 waiting for a whole frame.
282 The subframe uses the same frame over the whole
283 subframe passing process and will wait
284 for a signal to know the last subframe.
285 In this implementation it will use
286 GST_VIDEO_BUFFER_FLAG_MARKER as the
287 end of batch of subframes.
288 This implement subframe mode negotation for the Zynq based on caps
289 negotation. This mode can be combined with low-latency mode, in order to
290 reach the lowest possible latency (assuming the stream is within the
291 low-latency constraints for the HW).
292 ... ! video/x-h264,alignment=nal ! omxh264dec ! ...
293 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/49>
295 2021-06-01 15:29:18 +0100 Tim-Philipp Müller <tim@centricular.com>
300 === release 1.19.1 ===
302 2021-06-01 00:16:41 +0100 Tim-Philipp Müller <tim@centricular.com>
311 2020-11-04 18:48:13 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
314 meson: Enable some MSVC warnings for parity with GCC/Clang
315 This makes it easier to do development with MSVC by making it warn
316 on common issues that GCC/Clang error out for in our CI configuration.
317 Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
318 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/75>
320 2020-10-16 12:45:09 +0200 Stéphane Cerveau <scerveau@collabora.com>
322 * examples/egl/testegl.c:
324 meson: update glib minimum version to 2.56
325 In order to support the symbol g_enum_to_string in various
326 project using GStreamer ( gst-validate etc.), the glib minimum
327 version should be 2.56.0.
328 Remove compat code as glib requirement
330 Version used by Ubuntu 18.04 LTS
331 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/74>
333 2020-10-05 12:32:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
335 * omx/gstomxvideodec.c:
336 omxvideodec: support interlace-mode=interleaved input
337 interlace-mode=alternate is a special case of interlace-mode=interleaved
338 where the fields are split using two different buffers.
339 The Zynq decoder always produces alternate content and we
340 used to assume that upstream will set interlace-mode=alternate in its
342 This is no longer the case as h265parse is now setting
343 alternate-mode=interleaved on alternate content to not break compat with
344 elements not supporting alternate.
345 As a result the decoder now accept both 'interleaved' and 'alternate' on
346 its input and ensures that its ouput has interlace-mode=alternate.
347 Needed to fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/825
348 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/72>
350 2020-09-08 17:31:06 +0100 Tim-Philipp Müller <tim@centricular.com>
353 ci: include template from gst-ci master branch again
355 2020-09-08 16:59:09 +0100 Tim-Philipp Müller <tim@centricular.com>
360 === release 1.18.0 ===
362 2020-09-08 00:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
372 2020-08-27 17:19:44 +0100 Tim-Philipp Müller <tim@centricular.com>
374 * config/tizonia/meson.build:
375 meson: fix Tizonia build
376 Was failing for release versions with
377 meson.build:414:10: ERROR: Can not set values on configuration object that has been used.
378 Caused by !69, but CI didn't notice at the time because it was set to a git version.
380 === release 1.17.90 ===
382 2020-08-20 16:16:35 +0100 Tim-Philipp Müller <tim@centricular.com>
391 2020-07-08 17:39:20 +0100 Tim-Philipp Müller <tim@centricular.com>
395 * scripts/extract-release-date-from-doap-file.py:
396 meson: set release date from .doap file for releases
397 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/69>
399 2020-07-03 02:04:16 +0100 Tim-Philipp Müller <tim@centricular.com>
404 === release 1.17.2 ===
406 2020-07-03 00:37:06 +0100 Tim-Philipp Müller <tim@centricular.com>
415 2020-06-20 00:28:37 +0100 Tim-Philipp Müller <tim@centricular.com>
420 === release 1.17.1 ===
422 2020-06-19 19:27:38 +0100 Tim-Philipp Müller <tim@centricular.com>
431 2020-06-16 01:20:27 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
433 * docs/gst_plugins_cache.json:
434 docs: Update plugin cache json
435 https://gitlab.freedesktop.org/alatiera/gst-ci/-/jobs/3109574
436 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/68>
438 2020-06-03 22:24:09 -0400 Thibault Saunier <tsaunier@igalia.com>
440 * docs/gst_plugins_cache.json:
441 docs: Update documentation cache
443 2019-12-23 18:23:55 -0800 Dylan Yip <dylan.yip@xilinx.com>
446 omx: Add latest OMX_ALG_Index's to omx_index_type_to_str
447 Add following indexes to omx_index_type_to_str:
448 OMX_ALG_IndexParamVideoAccessUnitDelimiter
449 OMX_ALG_IndexParamVideoBufferingPeriodSEI
450 OMX_ALG_IndexParamVideoPictureTimingSEI
451 OMX_ALG_IndexParamVideoRecoveryPointSEI
452 OMX_ALG_IndexParamVideoMasteringDisplayColourVolumeSEI
453 OMX_ALG_IndexParamVideoContentLightLevelSEI
454 OMX_ALG_IndexConfigVideoRegionOfInterestByValue
455 OMX_ALG_IndexConfigVideoColorPrimaries
457 2020-05-20 17:05:33 +0200 Stéphane Cerveau <scerveau@collabora.com>
460 zynq: change API to use public 2020.01 from vcu-omx-il
461 This new release 2020.01 fixes an API typo
462 Change to OMX_ALG_IndexConfigVideoHighDynamicRangeSEI
463 instead of OMX_ALG_IndexConfigVideoHighDynamicRangeSEIs
466 2017-12-27 17:18:54 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
468 * omx/gstomxvideoenc.c:
469 omxvideoenc: factor out gst_omx_video_enc_allocate_out_buffers()
471 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-omx/-/merge_requests/66>
473 2020-04-10 11:47:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
475 * omx/gstomxh265enc.c:
478 * omx/gstomxvideodec.c:
479 * omx/gstomxvideoenc.c:
480 omxvideoenc: remove unsupported formats from caps template
481 Our encoder implementation actually supports a small subset of the
482 formats supported by the decoder. Those are the formats for which we
483 have a copy path in gst_omx_video_enc_fill_buffer() and which are not
484 filtered out in filter_supported_formats().
486 2020-04-10 09:59:02 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
489 video: remove BGR from supported format
490 It's not supported by either decoder or encoder and is even not listed in
491 gst_omx_video_get_format_from_omx() so it can't work.
493 2020-04-10 10:21:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
495 * omx/gstomxvideoenc.c:
496 omxvideoenc: add GRAY8 support
497 It's supported by Zynq encoder and was already in the sink caps
500 2020-04-10 11:18:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
502 * omx/gstomxvideoenc.c:
503 omxvideoenc: factor out gst_omx_video_enc_copy_plane()
504 No semantic change, I'm going to use it to copy GRAY8 buffers which is
505 actually a single plane 8-bits format.
507 2020-04-10 10:58:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
509 * omx/gstomxvideoenc.c:
510 omxvideoenc: use gst_video_meta_get_plane_height() to compute slice height
511 This new API saves us from doing manual computation and actually work
512 with single planar formats, such as GRAY8.
514 2020-04-07 19:59:12 +0200 Stéphane Cerveau <scerveau@collabora.com>
516 * omx/gstomxh264enc.c:
517 * omx/gstomxh265enc.c:
519 * omx/gstomxvideoenc.c:
520 omxh26xenc: fix coverity with frame test
521 Coverity was complaining with:
522 Null pointer dereferences (REVERSE_INULL) Null-checking "frame"
523 suggests that it may be null, but it has already been
524 dereferenced on all paths leading to the check.
525 The frame == NULL has been removed as 'frame' is actively used
526 in the code above without any change of dereferencing and setting
527 its value to NULL before the test.
530 2020-03-19 16:23:41 +0100 Stéphane Cerveau <scerveau@collabora.com>
532 * omx/gstomxvideoenc.c:
533 gstomxvideoenc: fix subframe output_buffer
534 Using more than 1 subframes was failing with
535 frame->output_buffer = NULL
537 2020-02-06 10:21:49 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
539 * omx/gstomxvideodec.c:
540 omxvideodec: add support of alternate interlace mode on zynq
542 2020-02-06 10:11:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
544 * omx/gstomxh265enc.c:
545 * omx/gstomxvideoenc.c:
546 omxvideoenc: add support of alternate interlace mode on zynq
547 It's only supported by the Zynq HEVC encoder for now.
549 2020-02-06 10:12:50 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
552 omx: add alternate flags to buffer_flags_map
553 Zynq specific flags used to tag top/bottom fields in alternate mode.
555 2020-02-06 09:57:48 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
558 * omx/gstomxvideoenc.c:
559 omxvideo(enc): use GST_VIDEO_INFO_FIELD_RATE_N()
560 Does not change anything for now but will be needed when we'll support
561 interlace-mode=alternate as the field rate will be twice the frame rate.
562 Made the code safe from division by 0 while I was on it.
564 2020-02-06 09:36:20 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
566 * omx/gstomxvideodec.c:
567 * omx/gstomxvideoenc.c:
568 omxvideo{enc,dec}: use GST_VIDEO_INFO_FIELD_HEIGHT()
569 Does not change anything for now but will be needed when we'll support
570 interlace-mode=alternate as the fields will have half the frame height.
572 2020-02-25 10:45:47 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
575 omx: don't log error when failing to load conf file with generic target
576 The generic target is meant to only test building gst-omx. It doesn't
577 provide any configuration file and so is not supposed to register any
579 I'm not aware of any user building gst-omx with this target and
580 providing their own conf file to actually register elements. But best to
581 not break this use case anyway so let's just downgrade the log message.
582 Fix GST_ERROR in the 'check fedora' CI job.
584 2020-01-27 11:56:53 +0100 Stéphane Cerveau <scerveau@collabora.com>
587 meson: add glib project fallback
588 Add a fallback from glib project to provide glib, gio and
589 gmodule dependencies.
591 2020-01-15 11:06:12 +0000 Stéphane Cerveau <scerveau@collabora.com>
593 * omx/gstomxvideoenc.c:
594 omxvideoenc: fix warning
595 Fix warning test when OMX_BUFFERFLAG_ENDOFFRAME
598 2018-08-28 13:03:14 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
600 * omx/gstomxvideoenc.c:
601 * omx/gstomxvideoenc.h:
602 omxvideoenc: Add look-ahead property to ZYNQ_USCALE_PLUS encoder
603 This patch adds look-ahead property to encoder
604 The value indicates look ahead size in frames,
605 the number of frames processed ahead of second pass encoding.
606 Dual pass encoding is disabled if look-ahead
607 value is less than 2.
609 2018-08-06 13:02:41 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
611 * omx/gstomxvideoenc.c:
612 * omx/gstomxvideoenc.h:
613 omxvideoenc: Add long-term-ref support to ZYNQ_USCALE_PLUS encoder
614 Custom API that upstream elements can use to notify encoders about
615 marking longterm ref. pictures or using longterm ref. pictures in
617 This patch adds below properties:
618 long-term-ref: Enable/Disable dynamically marking long-term
619 reference pictures in encoding process
620 long-term-freq: Periodicity of long-term reference picture
621 marking in encoding process.
622 If a picture is marked as long-term reference picture then it remains
623 in the DPB list for ever unless it overrides with new long-term pitcure with
624 same index. Encoder can use this long-term picture as refence for
626 This feature is mostly useful to avoid visual artifacts propagation in streaming use cases
627 when packet loss happens. Instead of requesting for IDR, client can request for use long-term
628 reference picture for encoding.
630 2020-01-07 10:24:19 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
633 meson: display OMX target when configuring
634 I'm adding more gst-omx CI (
635 https://gitlab.freedesktop.org/gstreamer/gst-ci/issues/20 ) having the
636 OMX targets displayed in the logs makes things clearer.
638 2019-08-30 10:27:32 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
641 omx: remove useless double negations
642 flush and port->flushing are both gboolean.
644 2019-12-20 22:19:06 -0800 Julien Isorce <jisorce@oblong.com>
647 meson: fix tizonia build
648 meson.build was both using path to gst-omx/openmax/OMX*
649 headers and path to OMX headers provided by tizilheaders.pc
650 so this patch makes sure we only use the later.
651 Also bump tizonia minimum version to 0.19.0 which
652 is the latest release.
654 2019-05-16 10:50:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
656 * omx/gstomxh265enc.c:
657 * omx/gstomxh265enc.h:
658 omxh265enc: handle CODECCONFIG buffers
659 Exact same code as omxh264enc.
661 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
663 * omx/gstomxh264enc.c:
664 omxh264enc: send codec data downstream
665 We are operating in stream-format=byte-stream so the codec data buffer
666 is meant to be part of the buffer flow.
667 The base class will push it when a key frame is requested (as we stored
668 it with gst_video_encoder_set_headers()) but we still have to push it
669 right away as part of the normal buffer flow.
670 Also set the HEADER flag on this buffer.
672 2019-05-16 10:38:49 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
674 * omx/gstomxh264enc.c:
675 omxh264enc: no need to check if codeconfig has startcode
676 We currently only support stream-format=byte-stream so there is no point
677 re-checking for it when handling CODECCONFIG buffer.
679 2018-09-04 20:12:17 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
681 * omx/gstomxh264enc.c:
682 * omx/gstomxh265enc.c:
683 omxh26xenc: Negotiate subframe mode
684 We now negotiate subframe mode through the caps. To enabled subframe
685 mode, the caps need to specify alignment=nal:
686 ... ! omxh264enc ! video/x-h264,alignment=nal ! ...
687 ... ! omxh265enc ! video/x-h265,alignment=nal ! ...
689 2018-08-31 12:24:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
691 * omx/gstomxvideoenc.c:
692 omxvideoenc: use subframe base class API
693 Use subframe base class support.
695 2018-09-04 19:34:59 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
699 omx: Add helper to enable/disable/read subframe mode
701 2019-12-19 13:51:17 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
704 zynq: add mapping for latest custom indexes
705 Fix warning when building using version 2019.2 of OMX headers.
707 2019-09-12 16:29:59 -0700 Varunkumar Allagadapa <varunkumar.allagadapa@xilinx.com>
709 * omx/gstomxvideoenc.c:
710 omxvideoenc: update qp-mode settings
711 Adds load-qp-absolute and load-qp-relative qp-modes
713 2019-12-10 18:34:25 +0900 Shinya Saito <ssaito@igel.co.jp>
715 * omx/gstomxvideoenc.c:
716 omxvideoenc: Add stride check for input buffer extraction
717 Stride of input buffer may be different from
718 that of omx input port even if both sizes are the same.
720 2019-05-15 14:04:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
722 * omx/gstomxvideoenc.c:
723 omxvideoenc: pass padding requirements to ALLOCATION query
724 By passing the expected video buffer layout, the upstream producer
725 may be able to produce buffers fitting those requierements allowing
726 gst-omx to use dynamic buffer mode rather than having to copy each input
728 This is particularly useful with v4l2src as it can request the capture
729 driver to produce buffers with the required paddings.
731 2019-07-09 13:07:32 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.com>
733 * omx/gstomxbufferpool.c:
736 omxbufferpool: use gst_video_meta_set_alignment()
737 Tell buffer consumer about our paddings.
738 v4l2src can now uses these paddings information when trying to import
739 buffers to configure the v4l2 driver accordingly.
741 2019-05-30 11:11:34 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
743 * omx/gstomxvideoenc.c:
744 omxvideoenc: fix buffer size in debug log
745 Use the actual OMX buffer size rather than the info.size as OMX
746 may require larger buffer if the port requires some padding.
748 2019-10-14 00:48:32 +0100 Tim-Philipp Müller <tim@centricular.com>
755 * config/Makefile.am:
756 * config/bellagio/Makefile.am:
757 * config/rpi/Makefile.am:
758 * config/tizonia/Makefile.am:
759 * config/zynqultrascaleplus/Makefile.am:
761 * examples/Makefile.am:
762 * examples/egl/Makefile.am:
766 * tests/check/.gitignore:
767 * tests/check/Makefile.am:
768 * tests/check/generic/.gitignore:
770 Remove autotools build
772 2019-10-07 16:59:10 +0000 Stéphane Cerveau <scerveau@collabora.com>
774 * omx/gstomxallocator.c:
775 omxallocator: fix leak with a proper chaining finalize
777 2019-09-20 15:02:24 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
779 * omx/gstomxvideoenc.c:
780 omxvideoenc: revert draining on ALLOCATION and DRAIN query
781 My latest patch introduces some regressions which I have no time to
782 debug properly at the moment so just revert it for now.
784 2019-09-17 13:02:54 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
786 * omx/gstomxvideoenc.c:
787 omxvideoenc: let encoder base class handle ALLOCATION query
788 Fixing a regression introduced in my previous patch
789 (7c40a91c31aa4bcbb191f7c6a5d222edf9dfd9d1).
790 The ALLOCATION query needs to be handled by GstVideoEncoder (to call
791 propose_allocation()) so chain up the query handling rather than early
794 2019-08-29 12:20:56 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
796 * omx/gstomxvideoenc.c:
797 omxvideoenc: drain encoder on ALLOCATION and DRAIN queries
798 Ensure that the encoder releases all its input buffers when requested by
799 upstream. Encoder input buffers may be shared with downstreaming (when
800 using dmabuf), upstream may then request the encoder to
801 drain when reconfiguring before destroying its buffers.
802 Also drain on ALLOCATION query as we already do in kmssink as that
803 notify of a format change.
804 Fix "decoder ! encoder" pipeline when decoding a file with different
807 2019-08-28 15:52:41 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
810 omx: log the number of pending buffers when port is EOS
812 2019-08-28 15:49:00 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
815 omx: log when an output port is eos
817 2019-08-27 15:47:28 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
819 * omx/gstomxvideoenc.c:
820 omxvideoenc: log the full input format
821 Make it easier to debug dynamic format changes.
823 2019-08-21 12:25:40 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
825 * omx/gstomxvideodec.c:
826 omxvideodec: fix dmabuf import
827 When importing dmabuf, UseBuffer() has to be called with the fd as
828 pBuffer rather than the mapped address of the buffer.
830 2019-08-21 12:48:25 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
832 * omx/gstomxbufferpool.c:
833 omxbufferpool: fix dmabuf import
834 When importing dmabuf from downstream, we want the allocator to be in
835 OTHER_POOL mode despite output_mode being DMABUF.
836 So check first if other_pool is set before checking for pool's
839 2019-08-22 17:55:54 +0900 Shinya Saito <ssaito@igel.co.jp>
841 * omx/gstomxvideoenc.c:
842 omxvideoenc: Remove unnecessary gst_video_frame_unmap()
844 2019-07-25 16:30:13 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
846 * omx/gstomxvideodec.c:
847 omxvideodec: log supported caps by the decoder
848 Can be useful when debugging to check the caps supported by the decoder
851 2019-07-11 12:03:46 +0900 Shinya Saito <ssaito@igel.co.jp>
853 * omx/gstomxvideoenc.c:
854 omxvideoenc: Unref frame of codec config buffer
855 After handling codec config, codec frame should be unreffed.
857 2019-06-14 16:27:37 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
860 omxvideo: check difference between frame and requested ts
861 This has proven to be very useful when debugging to detect bugs where we
862 match the wrong gst frame with an output OMX buffer.
864 2019-06-14 10:57:29 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
868 * omx/gstomxvideodec.c:
869 * omx/gstomxvideoenc.c:
870 omxvideo: add debug infos to find_nearest_frame()
871 Those debug infos have proved to be very helpful when debugging
872 timestamp issues. They are often linked to gst-omx picking the wrong
873 frame when trying to map from OMX.
875 2019-03-05 16:57:40 +0900 Shinya Saito <ssaito@igel.co.jp>
877 * omx/gstomxvideodec.c:
878 omxvideodec: Deactivate negotiated pool when output own buffer
879 If decoder outputs internal buffer and not use OMX_UseBuffer,
880 downstream bufferpool should be stopped.
882 2019-06-03 12:21:05 +0900 Shinya Saito <ssaito@igel.co.jp>
884 * omx/gstomxh264enc.c:
885 * omx/gstomxh264enc.h:
886 omxh264enc: Add 'ref-frames' property
887 Add a property to control the number of frames for reference.
888 Min and max value is based on OpenMAX IL 1.2.0 Specification.
890 2019-06-03 07:57:02 +0200 Niels De Graef <niels.degraef@barco.com>
894 meson: Bump minimal GLib version to 2.44
895 This means we can use some newer features and get rid of some
896 boilerplate code using the G_DECLARE_* macros.
897 As discussed on IRC, 2.44 is old enough by now to start depending on it.
899 2019-04-19 12:38:54 -0400 Thibault Saunier <tsaunier@igalia.com>
901 * docs/gst_plugins_cache.json:
908 doc: Build documentation of hotdoc
910 2019-03-26 12:26:03 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
914 gstomx: remove gst_omx_buffer_set_omx_buf/get_omx_buf
915 They are no longer used anywhere
917 2019-03-22 12:11:13 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
920 * omx/gstomxallocator.c:
921 * omx/gstomxallocator.h:
922 * omx/gstomxbufferpool.c:
923 * omx/gstomxbufferpool.h:
924 * omx/gstomxvideoenc.c:
926 omxbufferpool: refactor to allow memory sharing
927 One big restriction of the OMX buffer pool has always been
928 that the GstMemory objects were flagged with NO_SHARE.
929 This was because the buffer pool needed to be sure that when
930 a buffer returned to the pool, it would be safe to release the
931 OMX buffer back to OpenMAX.
932 With this change, this is no longer a restriction. What this
933 commit introduces is a new allocator that allows us to track
934 the GstMemory objects independently. Now, when a buffer returns
935 to the pool, it is not necessary for the memory to be released
936 as well. We simply track the memory's ref count in the allocator
937 and we return the OMX buffer back when the memory's ref count
939 The reason for doing this is to allow implementing zero-copy
940 transfers in situations where we may need to copy or map a
941 certain region of the buffer. For instance, omxh264enc ! h264parse
942 should be possible to be zero-copy by using an OMX buffer pool
945 2019-04-23 15:13:23 +0530 Guillaume Desmottes <guillaume.desmottes@collabora.com>
947 * omx/gstomxbufferpool.c:
948 omxbufferpool: fix memory mapping with offset
949 gst_memory_map() is already adding the offset to the mapped pointer.
950 Doing it in the memory implementation was resulting in the offset being
952 It doesn't matter yet as we are only creating memory without offset for
953 now but it will once we'll start sharing OMX memories.
955 2019-04-19 10:43:58 +0100 Tim-Philipp Müller <tim@centricular.com>
962 === release 1.16.0 ===
964 2019-04-19 00:38:44 +0100 Tim-Philipp Müller <tim@centricular.com>
974 2019-04-16 12:23:10 -0700 Julien Isorce <jisorce@oblong.com>
977 Fixes build with omx >= 1.2.0
978 gstomx.c:1405:10: error: ‘OMX_IndexParamCustomContentPipe’ undeclared (first use in this function)
979 case OMX_IndexParamCustomContentPipe
980 Some enums have been deprecated in 1.2.0
981 https://gitlab.freedesktop.org/gstreamer/gst-omx/issues/27
983 2018-05-18 10:55:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
986 * examples/egl/Makefile.am:
987 * examples/egl/meson.build:
988 testegl: properly detect and use rpi specific libs
989 Use pkg-config to detect and configure rpi specific libs used in testegl
990 rather than hardcoding their flags.
992 2018-05-18 10:53:34 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
994 * examples/egl/testegl.c:
995 testelg: include eglext.h
996 Neded for the declaration of eglSaneChooseConfigBRCM().
998 2018-05-18 10:38:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1000 * examples/egl/testegl.c:
1001 testegl: move up pi specific macros
1002 We need to define __VCCOREVER__ and disable redundant-decls before
1003 including the egl.h from the pi.
1005 === release 1.15.90 ===
1007 2019-04-11 00:40:52 +0100 Tim-Philipp Müller <tim@centricular.com>
1017 2019-04-10 00:19:55 +0100 Tim-Philipp Müller <tim@centricular.com>
1020 meson: add -Wundef as additional warning flag
1022 2019-04-10 00:16:27 +0100 Tim-Philipp Müller <tim@centricular.com>
1024 * omx/gstomxvideoenc.c:
1025 omx: fix autotools build for generic target
1026 gstomxvideoenc.c:2874:7: error: "USE_OMX_TARGET_ZYNQ_USCALE_PLUS" is not defined, evaluates to 0 [-Werror=undef]
1027 #elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
1028 Works on meson because it doesn't use -Wundef
1030 2018-11-12 12:51:28 +0200 Jordan Petridis <jordan@centricular.com>
1033 Add Gitlab CI configuration
1034 This commit adds a .gitlab-ci.yml file, which uses a feature
1035 to fetch the config from a centralized repository. The intent is
1036 to have all the gstreamer modules use the same configuration.
1037 The configuration is currently hosted at the gst-ci repository
1038 under the gitlab/ci_template.yml path.
1039 Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
1041 2019-03-25 16:30:11 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1044 omx: disable OMX_API_TRACE code if gst debug is disabled
1045 No need to create debug structs which won't be used as DEBUG macros are
1048 2018-10-11 10:55:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1051 omx: log Get/SetParameter/Config calls
1052 Extend OMX_API_TRACE by logging component configuration calls.
1054 2019-02-06 14:57:05 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1056 * omx/gstomxbufferpool.c:
1057 omxbufferpool: don't use CAT_PERFORMANCE if pool will copy
1058 This was the single place where this category was used in gst-omx so
1059 most users, including me, are generally not turning it and were missing this
1060 important information from logs.
1061 The copying code uses gst_video_frame_copy() which is already logging
1062 with CAT_PERFORMANCE so we can still have this information when using
1063 only this debug category.
1065 2019-02-06 14:50:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1067 * omx/gstomxvideodec.c:
1068 omxvideodec: add debug if proposed pool can't provide enough buffers
1069 We were silently ignoring the pool which was pretty confusing when
1072 2019-03-26 12:17:26 +0000 Charlie Turner <cturner@igalia.com>
1074 * omx/gstomxaacdec.c:
1075 * omx/gstomxaacenc.c:
1076 * omx/gstomxamrdec.c:
1077 * omx/gstomxh263dec.c:
1078 * omx/gstomxh263enc.c:
1079 * omx/gstomxh264dec.c:
1080 * omx/gstomxh264enc.c:
1081 * omx/gstomxh265dec.c:
1082 * omx/gstomxh265enc.c:
1083 * omx/gstomxmjpegdec.c:
1084 * omx/gstomxmp3dec.c:
1085 * omx/gstomxmp3enc.c:
1086 * omx/gstomxmpeg2videodec.c:
1087 * omx/gstomxmpeg4videodec.c:
1088 * omx/gstomxmpeg4videoenc.c:
1089 * omx/gstomxtheoradec.c:
1090 * omx/gstomxvp8dec.c:
1091 * omx/gstomxwmvdec.c:
1092 omx: Add hardware classifiers to encoders/decoders
1094 2019-03-25 16:01:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1097 meson: sync warnings flags with -good
1098 Add more warnings flags and disabled unused variable warnings if gst
1099 debug system is disabled.
1100 Copied from gst-plugins-good/meson.build
1102 2019-03-04 09:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
1110 === release 1.15.2 ===
1112 2019-02-26 12:02:23 +0000 Tim-Philipp Müller <tim@centricular.com>
1122 2019-02-14 23:57:09 +0000 Tim-Philipp Müller <tim@centricular.com>
1125 * meson_options.txt:
1126 meson: add options to disable examples, tests and tools and bump meson requirement
1128 2019-01-04 10:11:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1130 * omx/gstomxvideo.c:
1131 * omx/gstomxvideo.h:
1132 * omx/gstomxvideodec.c:
1133 * omx/gstomxvideoenc.c:
1134 omxvideo: use GST_VIDEO_CAPS_MAKE() for template caps
1135 Simplify the code and so we advertise the formats actually supported by
1138 2018-06-04 12:20:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1140 * omx/gstomxvideoenc.c:
1141 omxvideoenc: validate cpb-size and initial-delay
1142 cpb-size cannot be smaller than initial-delay.
1144 2018-10-02 10:47:06 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1146 * omx/gstomxvideodec.c:
1147 omxvideodec: Remove duplicated QoS code
1148 The 'finish' function do the exact same check / drop, there is no
1149 need to duplicate this here.
1151 2018-09-20 14:44:09 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1153 * omx/gstomxvideodec.c:
1154 * omx/gstomxvideodec.h:
1155 omxvideodec: Remove dead code
1156 The omxvideodec base class have a totally unused prepare_frame() vritual
1157 function, remove it.
1159 2018-07-11 17:38:22 -0700 Varunkumar Allagadapa <varunkum@xilinx.com>
1161 * omx/gstomxvideoenc.c:
1162 omxvideoenc: add adaptive gop-mode option
1163 Added adaptive gop-mode option to ZYNQ_USCALE_PLUS encoder properties
1165 2018-02-13 18:25:51 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1167 * omx/gstomxvideoenc.c:
1168 omxvideoenc: Add dynamic framerate support
1169 Instead of going through a full reset, try and change the framerate
1170 config on the encoder when only the framerate have change.
1172 === release 1.15.1 ===
1174 2019-01-17 02:38:28 +0000 Tim-Philipp Müller <tim@centricular.com>
1184 2018-02-20 10:57:42 -0800 Varunkumar Allagadapa <varunkum@xilinx.com>
1186 * omx/gstomxvideoenc.c:
1187 omxvideoenc: Add dynamic IDR insertion support on zynq
1188 As the pi, the zynq has its own API to request keyframe.
1190 2019-01-07 13:29:37 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1194 * omx/gstomxbufferpool.c:
1195 omxbufferpool: fix race when releasing input buffers
1196 If buffers were released from the pool while
1197 gst_omx_video_enc_handle_frame() was waiting for new buffers,
1198 gst_omx_port_acquire_buffer() was never awaken as the buffers weren't
1199 released through OMX's messaging system.
1200 GQueue isn't thread safe so also protect it with the lock mutex.
1202 2018-11-15 11:17:59 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1204 * omx/gstomxbufferpool.c:
1205 * omx/gstomxbufferpool.h:
1206 * omx/gstomxvideodec.c:
1207 * omx/gstomxvideoenc.c:
1208 omxbufferpool: fix early input buffer release
1209 We used to track the 'allocating' status on the pool. It is used while
1210 allocating so output buffers aren't passed right away to OMX and input
1211 ones are not re-added to the pending queue.
1212 This was causing a bug when exporting buffers to v4l2src. On start
1213 v4l2src acquires a buffer, read its stride and release it right away.
1214 As no buffer was received by the encoder element at this point, 'allocating'
1215 was still on TRUE and so the the buffer wasn't put back to the pending
1216 queue and, as result, no longer available to the pool.
1217 Fix this by checking the active status of the pool instead of manually
1218 tracking it down. The pool is considered as active at the very end of
1219 the activation process so we're good when buffers are released during
1222 2018-12-05 17:24:48 -0300 Thibault Saunier <tsaunier@igalia.com>
1225 Automatic update of common submodule
1226 From ed78bee to 59cb678
1228 2018-11-23 12:57:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.com>
1231 omx: fix OMX_EventBufferFlag OMX_API_TRACE struct
1232 The GType was missing from the second field of the struct.
1234 2018-11-05 05:43:43 +0000 Matthew Waters <matthew@centricular.com>
1238 Update git locations to gitlab
1240 2018-09-18 16:50:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1243 omx: rename OMX_PERFORMANCE debug cat to OMX_API_TRACE
1244 This debug category can now be used to track more OMX calls and events
1245 so best to rename it to something more generic.
1246 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1248 2018-08-21 17:35:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1251 omx: log OMX commands with OMX_PERFORMANCE debug category
1252 It has been useful to have a clear raw and structured view of the gst
1253 <-> OMX exchanges when debugging.
1254 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1256 2018-08-21 16:50:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1259 omx: factor out gst_omx_component_send_command()
1260 No semantic change. I'm going to add extra debug in this function.
1261 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1263 2018-08-21 15:14:09 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1266 omx: log OMX events with OMX_PERFORMANCE debug category
1267 It has been useful to have a clear raw and structured view of the gst
1268 <-> OMX exchanges when debugging.
1269 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1271 2018-08-22 12:51:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1274 omx: rename log_omx_performance() to log_omx_performance_buffer()
1275 I'm about to log more things under this category
1276 https://bugzilla.gnome.org/show_bug.cgi?id=797171
1278 2018-09-07 22:57:30 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1280 * omx/gstomxvideoenc.c:
1281 omxvideoenc: Remove spurious locking
1282 The method we call in the context of pushing a buffer are all thread
1283 safe. Holding a lock would prevent input buffers from being queued while
1285 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1287 2018-09-07 23:09:29 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1289 * omx/gstomxvideoenc.c:
1290 omxvideoenc: Remove unneeded size check
1291 We only enter this branch if nFilledLen > 0, there is not need
1293 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1295 2018-09-07 22:55:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1297 * omx/gstomxvideodec.c:
1298 omxvideodec: Remove spurious unlock in error case
1299 This was forgotton in previous patch. We no long hold the lock when goto
1300 invalid_buffer is called.
1301 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1303 2018-08-31 17:28:03 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1305 * omx/gstomxvideodec.c:
1306 omxvideodec: don't hold the stream lock when trying to push a frame
1307 The base class methods will lock this properly when needed, there seems
1308 to be no need to lock it explicitly.
1309 This allows the patch in gstvideodec for unlocking the stream lock
1310 when pushing buffers out to work.
1311 https://bugzilla.gnome.org/show_bug.cgi?id=715192
1313 2018-07-31 13:22:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1315 * omx/gstomxvideodec.c:
1316 omxvideodec: don't import OMX buffers from downstream
1317 We already have code configuring the encoder stride and slice height
1318 when receiving the first buffer from upstream.
1319 We don't have an equivalent when the encoder is exporting its buffers to the
1321 There is no point adding it and making the code even more
1322 complex as we wouldn't gain anything by exporting from the encoder to
1323 the decoder. The dynamic buffer mode already ensures 0-copy between OMX
1325 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1327 2018-05-15 11:59:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1331 * omx/gstomxbufferpool.c:
1332 * omx/gstomxvideoenc.c:
1333 * omx/gstomxvideoenc.h:
1334 omxvideoenc: implement dmabuf export on input buffers
1335 Propose pool upstream so input buffers can be allocated by the port and
1337 The actual OMX buffers are allocated when the pool is activated, so we
1338 don't end up doing useless allocations if the pool isn't used.
1339 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1341 2018-08-13 15:10:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1345 * omx/gstomxaudiodec.c:
1346 * omx/gstomxaudioenc.c:
1347 * omx/gstomxaudiosink.c:
1348 * omx/gstomxvideodec.c:
1349 * omx/gstomxvideoenc.c:
1350 omx: allow gst_omx_port_acquire_buffer() to not wait for buffers
1351 Will be needed to implement GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT.
1352 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1354 2018-07-31 15:04:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1356 * omx/gstomxvideodec.c:
1357 omxvideodec: don't import non-dmabuf when dec is in dmabuf mode
1358 Fix 'omxh264dec ! videocrop' pipeline.
1359 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1361 2018-08-02 11:29:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1363 * omx/gstomxvideodec.c:
1364 omxvideodec: factor out gst_omx_try_importing_buffer()
1365 No semantic change, just make the code clearer and improve debug output.
1366 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1368 2018-07-26 16:30:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1370 * omx/gstomxvideodec.c:
1371 omxvideodec: fix gst_video_info_from_caps() caps assertion
1372 The "use buffers" code path uses gst_video_info_from_caps() which is
1373 asserting if caps is NULL (because pool was rejected).
1374 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1376 2018-07-26 16:22:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1378 * omx/gstomxvideodec.c:
1379 omxvideodec: fix pool caps reference stealing
1380 gst_buffer_pool_config_get_params() doesn't ref the returning caps;
1381 so gst_caps_replace() was unreffing the reference owned by the pool.
1382 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1384 2018-07-25 09:57:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1386 * omx/gstomxvideodec.c:
1387 omxvideodec: prevent timeout when shutting down because of pending out buffers
1388 The OMX transition state to Loaded won't be complete until all buffers
1389 have been freed. There is no point waiting, and timeout, if we know that
1390 output buffers haven't been freed yet.
1391 The typical scenario is output buffers being still used downstream
1392 and being freed later when released back to the pool.
1393 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1395 2018-07-24 15:14:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1397 * omx/gstomxbufferpool.c:
1398 omxbufferpool: reference the OMX component
1399 Now that the pool is responsible of freeing the OMX buffers, we need to
1400 ensure that the OMX component stay alive while the pool is as we rely on
1401 the component to free the buffers.
1402 The GstOMXPort is owned by the component so no need to ref this one.
1403 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1405 2018-07-24 15:06:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1409 * omx/gstomxaudiodec.c:
1410 * omx/gstomxaudioenc.c:
1411 * omx/gstomxaudiosink.c:
1412 * omx/gstomxvideodec.c:
1413 * omx/gstomxvideoenc.c:
1414 turn GstOMXComponent to a GstMiniObject
1415 Will use it for refcounting.
1416 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1418 2018-05-28 12:20:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1420 * omx/gstomxbufferpool.c:
1421 * omx/gstomxvideodec.c:
1422 omxbufferpool: deallocate OMX buffers when stopping
1423 The pool is stopped when all the buffers have been released. Deallocate
1424 when stopping so we are sure that the buffers aren't still used by
1426 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1428 2018-05-24 16:28:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1431 omx: call gst_omx_buffer_unmap() when handling BUFFER_DONE
1432 When using a input buffer pool, the buffer may be released to the pool when
1433 gst_omx_buffer_unmap() is called. We need to have buf->used unset at
1434 this point as the pool may use it to check the status of the pool.
1435 {Empty,Fill}BufferDone is called from OMX internal threads while
1436 messages are handled from gst elements' thread. Best to do all this
1437 when handling the message so we don't mess with OMX threads and keep
1438 the original thread/logic split.
1439 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1441 2018-05-25 14:44:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1443 * omx/gstomxvideodec.c:
1444 * omx/gstomxvideoenc.c:
1445 omxvideo{enc,dec}: stop calling shutdown() in change_state
1446 This is no longer needed since we implemented close() vfuncs as the
1447 encoder/decoder base class already take care of calling close() (which
1448 is calling shutdown()) in its own change_state implementation.
1449 We also move the shut down of the component from PAUSED_TO_READY to READY_TO_NULL.
1450 By doing so upstream will have already deactivated the pool from the
1451 encoder and so won't be preventing the OMX state change as the buffers
1452 will all be released.
1453 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1455 2018-05-15 16:21:26 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1459 * omx/gstomxbufferpool.c:
1460 omx: factor out gst_omx_buffer_get/set_omx_buf()
1461 Move the qdata code to helper functions as I'm going to need them in
1462 omxvideoenc to implement dmabuf export.
1463 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1465 2018-05-15 11:01:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1467 * omx/gstomxvideoenc.c:
1468 omxvideoenc: factor out gst_omx_video_enc_set_to_idle()
1469 No semantic change. We'll have to use this when the input pool is
1470 activated so we can allocate buffers.
1471 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1473 2018-05-15 09:56:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1475 * omx/gstomxvideoenc.c:
1476 omxvideoenc: factor out gst_omx_video_enc_deallocate_in_buffers()
1477 Will add extra code when adding input buffer pool.
1478 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1480 2018-05-14 15:16:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1483 omx: add pBuffer to OMX_PERFORMANCE logs
1484 Can be useful to check the fd being passed when using dmabuf.
1485 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1487 2018-03-21 12:43:33 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1491 * omx/gstomxvideodec.c:
1492 * omx/gstomxvideoenc.c:
1493 omx: factor out gst_omx_port_set_dmabuf()
1494 No semantic change. I also made the debug message a bit clearer.
1495 https://bugzilla.gnome.org/show_bug.cgi?id=796918
1497 2018-08-22 15:56:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1500 omx: wait for flush complete and buffers being released when flushing
1501 When flusing we should wait for OMX to send the flush command complete event
1502 AND all ports being released.
1503 We were stopping as soon as one of those condition was met.
1504 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
1505 EventCmdComplete messages. The OMX implementation is supposed to release
1506 its buffers before posting the EventCmdComplete event but the ordering
1507 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
1508 EventHandler callbacks can be called from different threads (cf 2.7
1509 'Thread Safety' in the spec).
1510 Only wait for buffers currently used by OMX as some buffers may not be
1511 in the pending queue because they are held downstream.
1512 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1514 2018-08-22 15:52:23 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1517 omx: factor out should_wait_until_flushed()
1518 No semantic change. Makes the code easier to understand and I'm about to
1519 change the waiting condition.
1520 https://bugzilla.gnome.org/show_bug.cgi?id=789475
1522 2018-08-28 13:10:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1524 * omx/gstomxvideoenc.c:
1525 omxvideoenc: pause component when flushing
1526 As stated in the spec ("6.1.3 Seek Event Sequence") we should pause
1528 We were pausing the decoder but not the encoder so I just aligned the
1530 https://bugzilla.gnome.org/show_bug.cgi?id=797038
1532 2018-07-12 12:41:18 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1534 * omx/gstomxvideoenc.c:
1535 omxvideoenc: fix vertical padding in NV16 formats
1536 My previous patch to calculate the vertical padding was always halfing
1537 the height of the chroma plane which is incorrect for NV16 formats.
1538 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1540 2018-07-05 15:13:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1542 * omx/gstomxvideoenc.c:
1543 omxvideoenc: include vertical padding in nFilledLen when copying
1544 According to the OMX spec (3.1.3.7.1) nFilledLen is meant to include any
1545 padding. We use to include the horizontal one (stride) but not the
1546 vertical one if nSliceHeight is bigger than the actual height.
1547 The calculated nFilledLen was wrong as it didn't include the padding
1549 https://bugzilla.gnome.org/show_bug.cgi?id=796749
1551 2018-04-26 12:30:47 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1555 * omx/gstomxvideodec.c:
1556 * omx/gstomxvideoenc.c:
1557 * omx/gstomxvideoenc.h:
1558 omxvideoenc: implement decide_allocation
1559 Increase the number of output buffers by the number of buffers requested
1561 Prevent buffers starvation if downstream is going to use dynamic buffer
1563 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1565 2018-04-26 12:29:16 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1567 * omx/gstomxvideodec.c:
1568 omxvideodec: implement propose_allocation
1569 Tell upstream about how many buffer we plan to use so they can adjust
1570 their own number of buffers accordingly if needed.
1571 Same logic as the existing gst_omx_video_enc_propose_allocation().
1572 https://bugzilla.gnome.org/show_bug.cgi?id=795746
1574 2018-05-17 09:54:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1576 * omx/gstomxvideoenc.c:
1577 * omx/gstomxvideoenc.h:
1578 omxvideoenc: always signal drain cond when stopping streaming loop
1579 Similar change as the one I just did in omxvideodec.
1580 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1582 2018-05-16 17:06:29 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1584 * omx/gstomxvideodec.c:
1585 * omx/gstomxvideodec.h:
1586 omxvideodec: always signal drain cond when stopping streaming loop
1587 If for some reason something goes wrong and we stop the streaming loop
1588 we may end up with other threads still waiting on the drain cond.
1589 No more buffers will be produced by the component so they were waiting
1591 Fix this by always signalling this cond when stopping the streaming
1593 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1595 2018-05-16 17:02:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1597 * omx/gstomxvideodec.c:
1598 omxvideoenc: factor out gst_omx_video_enc_pause_loop()
1599 No semantic change. I'm going to use it in more failure cases.
1600 https://bugzilla.gnome.org/show_bug.cgi?id=796207
1602 2018-05-17 14:24:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1604 * config/zynqultrascaleplus/gstomx.conf:
1605 zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack
1606 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1608 2018-04-27 16:26:36 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1612 * omx/gstomxvideodec.c:
1613 * omx/gstomxvideoenc.c:
1614 omxvideodec/enc: add hack updating nBufferCountActual before allocating
1615 The OMX specs states that the nBufferCountActual of a port has to default
1616 to its nBufferCountMin. If we don't change nBufferCountActual we purely rely
1617 on this default. But in some cases, OMX may change nBufferCountMin before we
1618 allocate buffers. Like for example when configuring the input ports with the
1619 actual format, it may decrease the number of minimal buffers required.
1620 This method checks this and update nBufferCountActual if needed so we'll use
1621 less buffers than the worst case in such scenarios.
1622 SetParameter() needs to be called when the port is either disabled or
1623 the component in the Loaded state.
1624 Don't do this for the decoder output as
1625 gst_omx_video_dec_allocate_output_buffers() already check
1626 nBufferCountMin when computing the number of output buffers.
1627 On some platform, like rpi, the default nBufferCountActual is much
1628 higher than nBufferCountMin so only enable this using a specific gst-omx
1630 https://bugzilla.gnome.org/show_bug.cgi?id=791211
1632 2018-05-28 15:02:13 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1634 * omx/gstomxvideodec.c:
1635 * omx/gstomxvideoenc.c:
1636 omxvidee{enc,dec}: refresh input port definition after setting format
1637 Setting the input format and the associated encoder/decoder settings
1638 may also affect the nBufferCountMin of the input port.
1639 Refresh the input port so we'll use up to date values in propose/decide
1641 https://bugzilla.gnome.org/show_bug.cgi?id=796445
1643 2018-05-07 11:59:08 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1646 omx: always consider component in 'invalid' state when an error occured
1647 gst_omx_component_get_state() used to early return if there was no
1648 pending state change. So if the component raised an error it wasn't
1649 considered in the invalid state until the next requested state change.
1650 Fix this by checking first if we received an error.
1651 https://bugzilla.gnome.org/show_bug.cgi?id=795874
1653 2018-05-25 01:35:58 +1000 Matthew Waters <matthew@centricular.com>
1656 * meson_options.txt:
1657 meson: Update option names to omit 'with_omx' prefixes
1658 Companion commit to:
1659 https://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=4fb02fc85b70be631f5331b2547e5dc61ef7a43a
1660 https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=1e1a5d658e4a031535c44823fd398d3052ca2000
1663 2018-03-21 13:52:23 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1665 * omx/gstomxvideodec.c:
1666 omxvideodec: pass a GstOMXBufferMode to gst_omx_buffer_pool_new()
1667 The output_mode is supposed to be a GstOMXBufferMode, not a boolean.
1669 2018-05-03 09:27:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1671 * config/zynqultrascaleplus/gstomx.conf:
1672 zynq: remove 'no-disable-outport' hack
1673 No longer needed with newer version of the OMX stack.
1675 2018-03-13 16:15:30 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1677 * omx/gstomxh264enc.c:
1678 * omx/gstomxh265enc.c:
1679 omxh26{4,5}enc: don't pick default 10-bit profile
1680 The OMX stack of the zynqultrascaleplus (the only one supporting
1681 NV12_10LE32 and NV16_10LE32) will now pick the proper profile if none
1682 has been requested. Best to rely on its default than hardcoding a
1683 specific one in gst-omx.
1684 https://bugzilla.gnome.org/show_bug.cgi?id=794319
1686 2018-03-06 14:16:56 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1688 * omx/gstomxh264utils.c:
1689 omxh264: sync with supported profiles on zynqultrascaleplus
1690 Add extra supported AVC profiles and remove extended and 4:4:4 profiles
1691 which are actually not implemented.
1692 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1694 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1696 * omx/gstomxh264enc.c:
1697 * omx/gstomxh264utils.c:
1698 * omx/gstomxh264utils.h:
1699 omxh264: factor out gst_omx_h264_utils_get_profile_from_enum()
1700 Move the profile <-> enum mapping to one place. Make changes easier as
1701 I'm about to add extra profiles.
1703 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1705 2018-03-06 11:02:44 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1707 * omx/gstomxh265utils.c:
1708 omxh265: add format range extension profiles on zynqultrascaleplus
1709 The zynqultrascaleplus OMX gained support for more format range
1710 extensions profiles (A.3.5).
1711 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1713 2018-03-06 10:45:14 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1715 * omx/gstomxh265enc.c:
1716 * omx/gstomxh265utils.c:
1717 * omx/gstomxh265utils.h:
1718 omxh265: factor out gst_omx_h265_utils_get_profile_from_enum()
1719 Move the profile <-> enum mapping to one place. Make changes easier as
1720 I'm about to add some profiles.
1722 https://bugzilla.gnome.org/show_bug.cgi?id=794177
1724 2018-03-08 12:22:26 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1726 * omx/gstomxvideoenc.c:
1727 omxvideoenc: add NV16 support
1728 NV16 format wasn't supported on encoder input while it was on decoder
1730 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1732 2018-03-08 12:09:38 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1734 * omx/gstomxvideo.c:
1735 omxvideo: display port number when listing supported formats
1736 More convenient when debugging.
1737 https://bugzilla.gnome.org/show_bug.cgi?id=794175
1739 2018-03-29 16:42:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1742 * omx/gstomxvideoenc.c:
1743 * omx/gstomxvideoenc.h:
1744 omxvideoenc: restore OMX default target-bitrate if requested by user
1745 0xffffffff is the magic number in gst-omx meaning 'the default value
1746 defined in OMX'. This works fine with OMX parameters which are only set
1747 once when starting the component but not with configs which can be
1748 changed while PLAYING.
1749 Save the actual OMX default bitrate so we can restore it later if user
1750 sets back 0xffffffff on the property.
1751 Added GST_OMX_PROP_OMX_DEFAULT so we stop hardcoding magic numbers
1753 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1755 2018-03-29 11:36:00 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1757 * omx/gstomxvideoenc.c:
1758 omxvideoenc: use gst_omx_video_enc_set_bitrate() when setting bitrate in set_format
1759 We weren't using the usual pattern when re-setting the bitrate:
1760 - get parameters from OMX
1761 - update only the fields different from 0xffffffff (OMX defaults)
1763 Also added a comment explaining why we re-set this param.
1764 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1766 2018-03-29 11:26:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1768 * omx/gstomxvideoenc.c:
1769 omxvideoenc: factor out gst_omx_video_enc_set_bitrate()
1770 No semantic change, I'm about to re-use this function in set_format().
1771 https://bugzilla.gnome.org/show_bug.cgi?id=794998
1773 2018-04-20 11:54:14 +0100 Tim-Philipp Müller <tim@centricular.com>
1776 meson: fix miscellaneous meson warnings
1777 cc.has_header*() doesn't have a 'required:' kwarg.
1779 2018-04-18 12:42:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1781 * omx/gstomxvideodec.c:
1782 * omx/gstomxvideoenc.c:
1783 omxvideoenc/dec: fix handling of component enabling failing
1784 - Report the error from OMX if any (OMX_EventError)
1785 - If not report the failing to the application (GST_ELEMENT_ERROR)
1786 - return GST_FLOW_ERROR rather than FALSE
1788 https://bugzilla.gnome.org/show_bug.cgi?id=795352
1790 2018-04-16 10:53:41 +0100 Tim-Philipp Müller <tim@centricular.com>
1793 Automatic update of common submodule
1794 From 3fa2c9e to ed78bee
1796 2018-03-14 14:53:50 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1799 log_omx_performance: convert pointers to strings
1800 G_TYPE_POINTER are not serialized in logs.
1801 https://bugzilla.gnome.org/show_bug.cgi?id=794331
1803 2018-04-02 15:14:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1805 * omx/gstomxvideoenc.c:
1806 omxvideoenc: remove duplicated debug message
1807 We already have the exact same message at the beginning of
1808 gst_omx_video_enc_handle_frame(). Having it twice is confusing when
1809 reading/grepping logs.
1810 I kept the earlier one to keep the symetry with
1811 gst_omx_video_dec_handle_frame().
1812 https://bugzilla.gnome.org/show_bug.cgi?id=794897
1814 2018-02-22 11:27:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1816 * omx/gstomxvideoenc.c:
1817 omxvideoenc: add 'roi' qp-mode on zynqultrascaleplus
1818 New QP mode used to handle ROI metadata.
1819 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1821 2018-03-20 10:31:10 +0000 Tim-Philipp Müller <tim@centricular.com>
1829 === release 1.14.0 ===
1831 2018-03-19 20:31:02 +0000 Tim-Philipp Müller <tim@centricular.com>
1841 === release 1.13.91 ===
1843 2018-03-13 19:32:39 +0000 Tim-Philipp Müller <tim@centricular.com>
1853 2018-03-09 12:02:29 +0000 Tim-Philipp Müller <tim@centricular.com>
1856 meson: fix typo in package name define
1858 2018-02-27 15:42:53 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1860 * omx/gstomxh265enc.c:
1861 * omx/gstomxh265utils.c:
1862 omxh265: update 422 profile names
1863 h265parse is gaining support for the format range extension profile
1865 Use the profile names defined in h265parse.
1866 https://bugzilla.gnome.org/show_bug.cgi?id=793928
1868 2018-03-05 13:49:18 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1870 * omx/gstomxvideoenc.c:
1871 omxvideoenc: Don't drop the frame on empty payload
1872 This otherwise may lead to "No reference frame found" warning.
1874 2018-03-01 15:16:55 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1876 * omx/gstomxvideodec.c:
1877 omxvideodec: Don't drop the frame on empty payload
1878 This otherwise may lead to "No reference frame found" warning.
1880 2018-03-02 15:36:06 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1883 omx: Free empty buffers list in use_dynamic_buffers
1884 To indicate we are doing dynamic buffers importation, we pass
1885 a list of NULL pointers, but we forgot to free that list.
1887 2018-03-01 15:16:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1889 * omx/gstomxvideodec.c:
1890 omxvideodec: Fix CodecState leak
1892 === release 1.13.90 ===
1894 2018-03-03 23:00:59 +0000 Tim-Philipp Müller <tim@centricular.com>
1904 2018-03-03 20:21:06 +0000 Tim-Philipp Müller <tim@centricular.com>
1906 * config/Makefile.am:
1907 config: dist tizonia config files
1909 2018-03-02 11:06:08 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
1912 Revert "omx: wait for flush complete and buffers being released when flushing"
1913 This reverts commit 4211e4c29a262f110cb92ddf9c06b403ced233ef.
1915 2018-02-21 12:50:42 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1917 * omx/gstomxvideoenc.c:
1918 videoenc: don't set stride padding to 0 when copying frames
1919 Padding can be left undefined there is no point filling it with 0.
1920 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1922 2018-02-16 11:50:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1924 * omx/gstomxbufferpool.c:
1925 * omx/gstomxh264enc.c:
1926 * omx/gstomxh265enc.c:
1927 * omx/gstomxvideo.c:
1928 * omx/gstomxvideodec.c:
1929 * omx/gstomxvideoenc.c:
1930 add support for NV12_10LE32 and NV16_10LE32 on zynqultrascaleplus
1931 The encoder and decoder on zynqultrascaleplus support these new 10 bits
1933 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1935 2018-02-16 11:46:47 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1937 * omx/gstomxvideoenc.c:
1938 omxvideoenc: factor out gst_omx_video_enc_nv12_manual_copy()
1939 No semantic change, I'm going to re-use it to copy the NV12_10LE32
1941 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1943 2018-01-17 10:40:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1945 * omx/gstomxvideoenc.c:
1946 omxvideoenc: display the computed buffer size when configuring input
1947 https://bugzilla.gnome.org/show_bug.cgi?id=793694
1949 2018-02-06 14:25:57 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1951 * omx/gstomxvideoenc.c:
1952 * omx/gstomxvideoenc.h:
1953 videoenc: implement ROI on zynqultrascaleplus
1954 Check input buffers for ROI meta and pass them to the encoder by using
1955 zynqultrascaleplus's custom OMX extension. Also add a new
1956 "default-roi-quality" in order to tell the encoder what quality level
1957 should be applied to ROI by default.
1958 https://bugzilla.gnome.org/show_bug.cgi?id=793696
1960 2018-02-14 17:23:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1962 * omx/gstomxvideoenc.c:
1963 omxvideoenc: remove GST_PARAM_MUTABLE_PLAYING from 'max-bitrate' property
1964 This property isn't actually mutable in the PLAYING state.
1965 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1967 2018-02-14 17:20:02 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1969 * omx/gstomxvideoenc.c:
1970 * omx/gstomxvideoenc.h:
1971 omxvideoenc: protect target_bitrate with the object lock
1972 The 'target-bitrate' property can be changed while PLAYING
1973 (GST_PARAM_MUTABLE_PLAYING). Make it thread-safe to prevent concurrent
1974 accesses between the application and streaming thread.
1975 https://bugzilla.gnome.org/show_bug.cgi?id=793458
1977 2018-02-20 11:46:49 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
1979 * omx/gstomxbufferpool.c:
1980 omxbufferpool: add PERFORMANCE DEBUG message when copying output frames
1981 I spent quiet some time figuring out why performance of my pipeline were
1982 terrible. Turned out it was because of output frames being copied
1983 because of stride/offset mismatch.
1984 Add a PERFORMANCE DEBUG message to make it easier to spot and debug from logs.
1985 https://bugzilla.gnome.org/show_bug.cgi?id=793637
1987 2018-02-15 19:44:37 +0000 Tim-Philipp Müller <tim@centricular.com>
1993 === release 1.13.1 ===
1995 2018-02-15 17:50:14 +0000 Tim-Philipp Müller <tim@centricular.com>
2004 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2006 * omx/gstomxh265enc.c:
2007 omxh265enc: fix typo in "periodicty-idr" property name
2008 Also fix the 'nick' of the property.
2009 omxh265enc is based on the code from omxh264enc and suffers the same
2010 typo as we fixed in https://bugzilla.gnome.org/show_bug.cgi?id=784370
2011 This element isn't part of a stable release yet so it's not an API
2013 https://bugzilla.gnome.org/show_bug.cgi?id=793390
2015 2018-02-08 19:18:59 +0000 Tim-Philipp Müller <tim@centricular.com>
2018 meson: make version numbers ints and fix int/string comparison
2019 WARNING: Trying to compare values of different types (str, int).
2020 The result of this is undefined and will become a hard error
2021 in a future Meson release.
2022 Also remove unused libversion/soversion.
2024 2017-12-12 16:50:00 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2029 include all OMX extension headers if present
2030 The OMX specs defines 8 headers that implementations can use to define
2031 their custom extensions. We were checking and including 3 and ignoring
2033 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2035 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2039 * tools/meson.build:
2040 meson: simplify OMX extensions detection
2041 We are now always checking which files are present or not, even when using our
2042 internal copy of OMX, rather than hardcoding the ones present in it.
2043 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2045 2018-01-30 11:54:24 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2049 * tools/meson.build:
2050 Revert "meson: use include_directories() with external OMX headers path"
2051 This reverts commit 9d37a92a615e54e8ee12f8c65bcfe386ec9de2d0.
2053 2017-11-27 14:52:10 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2055 * omx/gstomxh265enc.c:
2056 * omx/gstomxh265enc.h:
2057 omxh265enc: add some encoding properties
2058 constrained-intra-prediction and loop-filter-mode.
2059 Those map standard OMX settings.
2060 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2062 2017-11-23 15:54:15 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2064 * omx/gstomxh264enc.c:
2065 * omx/gstomxh264enc.h:
2066 omxh264enc: add some encoding properties
2067 entropy-mode, constrained-intra-prediction and loop-filter-mode.
2068 Those map standard OMX settings.
2069 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2071 2017-06-08 12:31:21 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2073 * omx/gstomxvideoenc.c:
2074 * omx/gstomxvideoenc.h:
2075 omxvideoenc: add zynqultrascaleplus specific properties
2076 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2078 2017-10-31 12:24:39 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2080 * omx/gstomxvideoenc.c:
2081 omxvideoenc: document unit of target-bitrate property
2082 nTargetBitrate and nEncodeBitrate are defined in bits per second in the
2084 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2086 2017-07-06 10:18:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2088 * omx/gstomxvideodec.c:
2089 * omx/gstomxvideodec.h:
2090 omxvideodec: add internal-entropy-buffers property on zynqultrascaleplus
2091 Custom property to control the number of internal buffers used in the
2092 decoder to smooth out entropy decoding performance.
2093 https://bugzilla.gnome.org/show_bug.cgi?id=792528
2095 2018-01-30 10:31:03 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2099 * tools/meson.build:
2100 meson: use include_directories() with external OMX headers path
2101 It seems cleaner to use the proper meson tools to include this path
2102 rather than manually tweak the build flags.
2103 This also allows us to simplify the OMX extensions detection code. We
2104 are now always checking which files are present, even when using our
2105 internal copy of OMX, rather than hardcoding the ones present in it.
2106 https://bugzilla.gnome.org/show_bug.cgi?id=792043
2108 2017-11-07 15:09:35 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2110 * omx/gstomxvideoenc.c:
2111 omxvideoenc: expose chroma format and bit depth in output caps
2112 As we added in the parser (bgo#792039) expose the chroma and bit
2113 depth information in output caps.
2114 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2116 2017-11-07 14:30:45 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2118 * omx/gstomxvideoenc.c:
2119 omxvideoenc: factor out get_output_caps()
2120 No semantic change so far.
2121 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2123 2017-12-29 11:59:36 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2125 * config/zynqultrascaleplus/gstomx.conf:
2128 * omx/gstomxvideodec.c:
2129 omxvideodec: add hack to pass color format from caps to OMX decoder
2130 This hack tries to pass as much information as possible from caps to the
2131 decoder before it receives any buffer. These information can be used by
2132 the OMX decoder to, for example, pre-allocate its internal buffers
2133 before starting to decode and so reduce its initial latency.
2134 This mechanism is currently supported by the zynqultrascaleplus decoder.
2135 https://bugzilla.gnome.org/show_bug.cgi?id=792040
2137 2017-12-01 12:43:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2140 log failing OMX calls as errors
2141 I find it confusing when debugging that OMX calls returning an error
2142 where not logged as GST_LEVEL_ERROR making them harder to spot.
2143 Fix this by introducing simple log macros checking the return value of
2144 the OMX call and logging failures as errors.
2145 https://bugzilla.gnome.org/show_bug.cgi?id=791069
2147 2017-10-30 11:59:19 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2150 add OMX_PERFORMANCE debug category
2151 Can be used to log buffers exchange between OMX and gst-omx to profile
2152 performances of the OMX component.
2153 Ideally this should be done using tracer hooks but it's currently not
2154 possible to define custom hooks outside of core.
2155 Use GST_DEBUG="OMX_PERFORMANCE:8" to enable it.
2157 https://github.com/gdesmott/gst-log-parser/blob/master/src/bin/omx-perf.rs
2158 as a simple program consuming those logs to generate gnuplot files and
2160 https://bugzilla.gnome.org/show_bug.cgi?id=791093
2162 2017-07-27 11:21:59 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2166 * omx/gstomxvideoenc.c:
2167 * omx/gstomxvideoenc.h:
2168 omxvideoenc: implement dmabuf import on zynqultrascaleplus
2169 The Zynq UltraScale+ encoder implements a custom OMX extension to
2170 directly import dmabuf saving the need of mapping input buffers.
2171 This can be use with either 'v4l2src io-mode=dmabuf' or an OMX video
2173 https://bugzilla.gnome.org/show_bug.cgi?id=792361
2175 2017-09-22 16:02:40 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2177 * omx/gstomxvideoenc.c:
2178 omxvideoenc: drop late input frames if QoS is enabled
2179 Make use of the new GstVideoEncoder QoS API to drop late input frames. This may
2180 help a live pipeline to catch up if it's being late and all frames end up
2181 being dropped at the sink.
2182 https://bugzilla.gnome.org/show_bug.cgi?id=792783
2184 2018-01-19 15:18:23 +0530 Ashish Kumar <kr.ashish@samsung.com>
2186 * examples/egl/testegl.c:
2187 TestEgl: Removed redundant/unused code
2188 https://bugzilla.gnome.org/show_bug.cgi?id=788550
2190 2018-01-03 16:07:18 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2192 * omx/gstomxvideoenc.c:
2193 omxvideoenc: early return in fill_buffer() if something goes wrong
2194 If something goes wrong while trying to manually copy the input buffer,
2195 the 'break' was moving us out of the 'for' loop but not out of the switch block.
2196 So we ended up calling gst_video_frame_unmap() a second time (raising
2197 assertions) and returning TRUE rather than FALSE.
2198 Reproduced with a WIP zynqultrascaleplus OMX branch reporting wrong
2199 buffer sizes and so triggering this bug.
2200 https://bugzilla.gnome.org/show_bug.cgi?id=792167
2202 2017-12-19 16:09:41 +0000 Tim-Philipp Müller <tim@centricular.com>
2205 meson: gl: the winsys and platform list in the .pc file is space-separated
2207 2017-12-19 16:08:58 +0000 Tim-Philipp Müller <tim@centricular.com>
2210 meson: fix subproject fallback for gstreamer-gl-1.0
2213 2017-12-12 17:30:27 +0000 Julien Isorce <jisorce@oblong.com>
2215 * omx/gstomxvideo.c:
2216 * omx/gstomxvideo.h:
2217 * omx/gstomxvideodec.c:
2218 omxvideodec: ignore very little variations of the framerate
2220 The dynamic format change should not happen when the
2221 resolution does not change and when only the framerate
2222 changes but very slightly, i.e. from 50000/1677=29.81
2223 to 89/3=29.66 so a "percentage change" of less than 1%
2224 (i.e. 100*(29.81-29.66)/29.66 = 0.50 < 1 ). In that case
2225 just ignore it to avoid unnecessary renegotiation.
2226 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2228 2017-08-09 12:07:33 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2230 * omx/gstomxvideodec.c:
2231 * omx/gstomxvideodec.h:
2232 omxvideodec: use dynamic buffer mode on input if possible
2233 Prevent from copying the input buffers between GStreamer and OMX.
2234 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2235 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2237 2017-07-20 16:35:31 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2239 * omx/gstomxvideoenc.c:
2240 * omx/gstomxvideoenc.h:
2241 omxvideoenc: use dynamic buffer mode on input if possible
2242 If the OMX component supports dynamic buffer mode and the input buffers
2243 are properly aligned avoid copying each input frame between OMX and
2245 Tested on zynqultrascaleplus and rpi (without dynamic buffers).
2246 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2248 2017-07-20 12:56:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2250 * omx/gstomxvideodec.c:
2251 * omx/gstomxvideoenc.c:
2252 omxvideoenc/dec: factor out input buffer allocation
2253 No semantic change so far. I'm going to add an alternate way to allocate
2255 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2257 2017-07-20 16:31:54 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2261 omx: add API to implement dynamic buffers support
2262 OMX 1.2.0 introduced a third way to manage buffers by allowing
2263 components to only allocate buffers header during their initialization
2264 and change their pBuffer pointer at runtime.
2265 This new feature can save us a copy between GStreamer and OMX for each
2267 This patch adds API to allocate and use such buffers.
2268 https://bugzilla.gnome.org/show_bug.cgi?id=787093
2270 2017-12-14 14:53:17 +1100 Matthew Waters <matthew@centricular.com>
2273 Automatic update of common submodule
2274 From e8c7a71 to 3fa2c9e
2276 2017-12-13 12:06:40 +0000 Julien Isorce <jisorce@oblong.com>
2278 * omx/gstomxvideodec.c:
2279 omxvideodec: consolidate the decision to try UseBuffer
2280 The tee element can call gst_query_add_allocation_pool with pool as NULL.
2281 Checking nth > 0 is not enough so we need to verify if there is a pool.
2282 https://bugzilla.gnome.org/show_bug.cgi?id=730758
2283 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2285 2017-12-12 14:45:30 +0000 Julien Isorce <jisorce@oblong.com>
2287 * omx/gstomxvideo.c:
2288 * omx/gstomxvideo.h:
2289 * omx/gstomxvideodec.c:
2290 * omx/gstomxvideoenc.c:
2291 gstomxvideodec: fix framerate overflow
2292 Some live streams can set the framerate to 50000/1677 (=29.81).
2293 GstVideoInfo.fps_n << 16 is wrong if the fps_n is 50000
2294 (i.e. greater than 32767).
2295 https://bugzilla.gnome.org/show_bug.cgi?id=759043
2297 2017-08-22 13:48:26 +0100 Julien Isorce <jisorce@oblong.com>
2300 * examples/egl/Makefile.am:
2301 * examples/egl/meson.build:
2302 * examples/egl/testegl.c:
2304 example: port testegl.c to desktop
2305 Will be easier to maintain.
2306 Also uniformize autotool build with meson build which is
2307 already retrieving the gl libs.
2308 https://bugzilla.gnome.org/show_bug.cgi?id=781606
2310 2017-12-11 15:55:44 +0000 Julien Isorce <jisorce@oblong.com>
2313 meson: move omx features check after target selection
2314 And uses gst_omx_args instead of add_global_arguments.
2315 Similar to c69232852120d064c689caef07b3c68ad8fe6288
2316 which was only for configure.ac
2317 Useful to get omxvp8dec with meson too:
2318 meson . buildtmp -D with_omx_target=tizonia
2319 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2321 2017-12-04 17:11:04 +0000 Julien Isorce <jisorce@oblong.com>
2323 * config/tizonia/gstomx.conf.in:
2324 config: add OMX.Aratelia.audio_decoder.aac to Tizonia config
2325 Useful mostly for testing/debugging purpose as this is a software
2326 based decoder (libfaad) for which GStreamer provides a direct
2328 https://bugzilla.gnome.org/show_bug.cgi?id=791482
2330 2017-11-29 14:18:41 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2332 * omx/gstomxvideodec.c:
2333 omxvideodec: retrieve OMX_IndexParamVideoPortFormat before setting it
2334 The usual pattern when setting OMX params is to first get the struct
2335 param, override the values we want to set and then set the updated
2337 We were not doing this with OMX_IndexParamVideoPortFormat and so were
2338 resetting some fields such as OMX_VIDEO_PARAM_PORTFORMATTYPE.xFramerate
2339 https://bugzilla.gnome.org/show_bug.cgi?id=790979
2341 2017-05-21 17:34:51 +0100 Julien Isorce <jisorce@oblong.com>
2343 * omx/gstomxaacenc.c:
2344 omxaacenc: also set 'profile' if mpegversion is 4
2345 Like done by gst_codec_utils_aac_caps_set_level_and_profile
2346 which is called by avenc_aac, ffaac and voaacenc.
2347 https://bugzilla.gnome.org/show_bug.cgi?id=735208
2349 2017-10-24 12:19:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2352 omx: wait for flush complete and buffers being released when flushing
2353 As stated in the existing comment, when flusing we should wait for OMX
2354 to send the flush command complete event AND all ports being released.
2355 We were stopping as soon as one of those condition was met.
2356 Fix a race between FillThisBufferDone/EmptyBufferDone and the flush
2357 EventCmdComplete messages. The OMX implementation is supposed to release
2358 its buffers before posting the EventCmdComplete event but the ordering
2359 isn't guaranteed as the FillThisBufferDone/EmptyBufferDone and
2360 EventHandler callbacks can be called from different threads (cf 2.7
2361 'Thread Safety' in the spec).
2362 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2364 2017-10-24 11:45:20 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2367 gst_omx_port_set_flushing: simplify waiting loop
2368 No semantic change so far, I just made the 'while' end condition easier
2369 to understand as a first step before changing it.
2370 - move error/time out checks inside the loop to make it clearer on what
2371 we are actually waiting for.
2372 - group port->buffers checks together with parenthesis as they are part
2373 of the same conceptual check: waiting for all buffers to be released.
2374 https://bugzilla.gnome.org/show_bug.cgi?id=789475
2376 2017-11-27 20:17:17 +1100 Matthew Waters <matthew@centricular.com>
2379 Automatic update of common submodule
2380 From 3f4aa96 to e8c7a71
2382 2017-11-23 15:03:48 +0100 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2384 * omx/gstomxh264enc.c:
2385 * omx/gstomxh264utils.c:
2386 zynqultrascaleplus: add support for extra AVC levels
2387 The Zynqultrascaleplus has support for extra AVC levels not defined in
2388 the OMX spec as a customer extension.
2389 https://bugzilla.gnome.org/show_bug.cgi?id=790758
2391 2017-10-16 14:47:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2395 * config/meson.build:
2398 * tests/Makefile.am:
2399 * tests/check/.gitignore:
2400 * tests/check/Makefile.am:
2401 * tests/check/generic/.gitignore:
2402 * tests/check/generic/states.c:
2403 * tests/check/meson.build:
2404 * tests/meson.build:
2406 Most of the boilerplate and the states test has been copied from
2408 https://bugzilla.gnome.org/show_bug.cgi?id=789094
2410 2017-10-17 13:07:05 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2413 * tools/meson.build:
2414 meson: add tools support
2415 Looks like the tools directory was left out during the initial port to
2417 https://bugzilla.gnome.org/show_bug.cgi?id=789090
2419 2017-10-16 14:24:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2422 omx: fix build on rpi
2423 The nTimeStamp field is a OMX_TICKS struct on the rpi so use the proper
2425 Fix build on the build which has been broken by
2426 b3173144b7c1b12c9e1b7571f78659be45d813f6
2427 https://bugzilla.gnome.org/show_bug.cgi?id=789052
2429 2017-10-17 12:11:04 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2433 check if Allegro headers are present when building zynqultrascaleplus
2434 The Zynq UltraScale+ uses a custom version of OMX implementing several
2435 3rd party extensions. Make sure those are present when building this
2437 https://bugzilla.gnome.org/show_bug.cgi?id=788064
2439 2017-10-16 12:42:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2441 * omx/gstomxvideodec.c:
2442 omxvideodec: remove redundant debug message
2443 We have already a debug message right after.
2444 https://bugzilla.gnome.org/show_bug.cgi?id=789058
2446 2017-10-16 13:26:38 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2448 * omx/gstomxh265enc.c:
2449 * omx/gstomxh265utils.c:
2450 omxh265: fix enum casting when using Allegro HEVC extensions
2451 Allegro's HEVC implementation defines a superset of the profiles and
2452 enums from the Android implementation.
2453 Properly cast to fix -Wenum-conversion warnings from clang.
2454 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2456 2017-10-16 13:08:12 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2458 * omx/gstomxh265enc.c:
2459 * omx/gstomxvp8dec.c:
2460 properly cast extension enums
2461 OMX's allow 3rds party to define extensions using their own enums
2462 (like OMX_VIDEO_CODINGEXTTYPE) and to be used as the general
2463 ones (like OMX_VIDEO_CODINGTYPE).
2464 Properly cast those to fix -Wenum-conversion warnings from some
2465 compilers such as clang.
2466 https://bugzilla.gnome.org/show_bug.cgi?id=789057
2468 2017-10-09 13:12:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2471 omx: also reset nTimeStamp when re-using buffers
2472 Some OMX implementations may check if the timestamp of the output buffers
2473 they receive is actually not set.
2474 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2476 2017-10-04 17:11:55 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2479 omx: factor out gst_omx_buffer_reset()
2480 https://bugzilla.gnome.org/show_bug.cgi?id=788711
2482 2017-10-09 17:27:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2486 * omx/gstomxvideodec.c:
2487 * omx/gstomxvideoenc.c:
2488 add gst_omx_buffer_flags_to_string()
2489 Make debug logs more readable so users don't have to manually figure out
2490 the meaning of flags.
2491 https://bugzilla.gnome.org/show_bug.cgi?id=788767
2493 2017-09-27 19:47:29 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2495 * omx/gstomxh263enc.c:
2496 h263enc: fix caps leak in error code path
2497 https://bugzilla.gnome.org/show_bug.cgi?id=788245
2499 2017-09-21 15:21:36 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2501 * omx/gstomxh264enc.c:
2502 omxh264enc: fix caps leak
2503 https://bugzilla.gnome.org/show_bug.cgi?id=787711
2505 2017-09-21 11:36:46 +0530 Ponnam Srinivas <p.srinivas@samsung.com>
2507 * omx/gstomxh265enc.c:
2508 omxh265enc: fix caps leak
2509 https://bugzilla.gnome.org/show_bug.cgi?id=787714
2511 2017-09-13 15:32:51 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2513 * omx/gstomxvideodec.c:
2514 omxvideodec: log info about frame before releasing it
2515 gst_video_decoder_release_frame() takes ownership of the frame and will
2516 destroy it. So we should no longer use it after calling it.
2517 https://bugzilla.gnome.org/show_bug.cgi?id=787628
2519 2017-08-20 20:19:33 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2522 configure: Show tizonia target in help
2523 https://bugzilla.gnome.org/show_bug.cgi?id=786544
2525 2017-07-12 14:35:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2527 * config/zynqultrascaleplus/gstomx.conf:
2530 * omx/gstomxh265dec.c:
2531 * omx/gstomxh265dec.h:
2533 omxh265dec: add H265 decoder
2534 Add HEVC decoder for the zynqultrascaleplus platform.
2535 I used the H264 decoder code as a template.
2536 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2538 2017-07-12 11:01:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2540 * config/zynqultrascaleplus/gstomx.conf:
2545 * omx/gstomxh265enc.c:
2546 * omx/gstomxh265enc.h:
2547 * omx/gstomxh265utils.c:
2548 * omx/gstomxh265utils.h:
2550 omxh265enc: add H265 encoder
2551 The OMX spec doesn't support HEVC but the OMX stack of the
2552 zynqultrascaleplus adds it as a custom extension.
2553 It uses the same API as the one of Android's OMX stack.
2554 I used the H264 encoder code as a template.
2555 https://bugzilla.gnome.org/show_bug.cgi?id=785434
2557 2017-08-28 13:56:22 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2559 * omx/gstomxvideoenc.c:
2560 omxvideoenc: use caps from query in propose_allocation
2561 Prevent crash by not deferencing a NULL pointer if self->input_state
2562 isn't defined when propose_allocation() is called.
2563 https://bugzilla.gnome.org/show_bug.cgi?id=786442
2565 2017-09-04 09:34:03 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2568 omx: display states as string if changing failed
2569 Improve the error message by displaying the states in their string
2570 representation rather than their numerical value.
2571 https://bugzilla.gnome.org/show_bug.cgi?id=787235
2573 2017-08-22 10:22:45 +0100 Julien Isorce <jisorce@oblong.com>
2575 * omx/gstomxvideodec.c:
2576 omxvideodec: EGLDisplay is not indirectly defined by gstgl headers inclusion
2577 Just use gpointer as done in GstGL to not include
2578 EGL/egl.h just for EGLDisplay.
2579 https://bugzilla.gnome.org/show_bug.cgi?id=784779
2581 2017-07-14 16:34:04 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2583 * config/tizonia/gstomx.conf.in:
2584 config: expose OMX.mesa h264 decoder and encoder in Tizonia config
2585 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2587 2017-08-11 07:48:37 -0700 Julien Isorce <jisorce@oblong.com>
2589 * omx/gstomxvideodec.c:
2590 omxvideodec: remove wrong SettingsChanged ack
2591 Partially revert 1b7d0b8:
2592 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2593 It turned out it was a problem in the decoder which was
2594 not updating some local variables upon SetParameter.
2595 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2597 2017-07-20 09:43:19 +0100 Julien Isorce <jisorce@oblong.com>
2599 * omx/gstomxaudiodec.c:
2600 * omx/gstomxaudioenc.c:
2601 * omx/gstomxvideodec.c:
2602 * omx/gstomxvideoenc.c:
2603 omx{audio,video}{dec,enc}: sequentially disable ports because buffers are not shared
2604 For the history, the parallel disable port has been introduced by:
2605 "00be69f omxvideodec: Disable output port when setting a new format"
2606 and then replicated to videoenc, audiodec and audioenc.
2607 This is only required to do 'parallel' if buffers are shared between ports.
2608 But for decoders and encoders the input and output buffer are of different
2609 nature by definition (bitstream vs images). So they cannot be shared.
2610 Also starting from IL 1.2.0 it is written in the spec that the parallel
2611 disable is not allowed and will return an error. Except when buffers are
2613 Again here we know in advance that they are not shared so let's always
2614 do a sequential disable.
2615 Tested on Desktop, rpi and zynqultrascaleplus.
2616 https://bugzilla.gnome.org/show_bug.cgi?id=786348
2618 2017-08-17 12:26:05 +0100 Tim-Philipp Müller <tim@centricular.com>
2621 Automatic update of common submodule
2622 From 48a5d85 to 3f4aa96
2624 2017-08-10 12:16:53 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2626 * omx/gstomxvideodec.c:
2627 omxvideodec: use the decoder API to set latency
2628 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2630 2017-07-06 14:19:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2632 * omx/gstomxvideodec.c:
2633 * omx/gstomxvideoenc.c:
2634 omxvideoenc/dec: declare latency on zynqultrascaleplus
2635 The OMX specification doesn't provide any API to expose the latency
2636 introduced by encoders and decoders. We implemented this as a custom
2637 extension as declaring the latency is needed for live pipelines like
2639 https://bugzilla.gnome.org/show_bug.cgi?id=785125
2641 2017-08-07 13:16:01 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2643 * omx/gstomxvideoenc.c:
2644 omxvideoenc: adjust stride and slice height from input
2645 Use the stride and slice height information from the first buffer meta
2646 data to adjust the settings of the input port.
2647 This will ensure that the OMX input buffers match the GStreamer ones
2648 and so will save us from having to copy line-by-line each one.
2649 This is also the first step to allow the OMX encoder to receive dmabuf.
2650 Tested on rpi and zynqultrascaleplus.
2651 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2653 2017-08-07 11:45:29 -0400 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2655 * omx/gstomxvideoenc.c:
2656 omxvideoenc: delay buffer configuration until component is enabled
2657 No significant change for now. Just delay the input port configuration
2658 of the buffer size related fields (stride, slice height, buffer size)
2659 until the component is activated.
2660 This will allow us to use the actual stride/height of the first input
2661 and so avoid the buffer copying code path in most cases.
2662 Tested on rpi and zynqultrascaleplus.
2663 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2665 2017-07-24 13:52:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2667 * omx/gstomxvideodec.c:
2668 * omx/gstomxvideoenc.c:
2669 omxvideodec/enc: delay allocation after the allocation query
2670 Allocating OMX components buffers in set_format() is too early.
2671 Doing it when receiving the first buffers will allow the element to use
2672 the information from the allocation query and/or the first incoming
2673 buffer to pick to best allocation mode.
2674 Tested on raspberry pi with dynamic resolution changes on decoder and
2676 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2678 2017-07-25 14:27:45 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2680 * omx/gstomxvideoenc.c:
2681 omxvideoenc: start src thread in handle_frame()
2682 Makes the code simpler as we no longer need to restart the thread in
2683 gst_omx_video_enc_flush() and It's more symetric which the omxvideodec
2685 I'm also going to move the enabling of the OMX component in
2686 handle_frame() and the src pad thread needs to be started after it.
2687 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2689 2017-07-25 14:07:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2691 * omx/gstomxvideodec.c:
2692 omxvideodec: earlier return if downstream_flow_ret is not OK
2693 There is no point to (re)start the src thread if, for example, we are
2695 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2697 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2699 * omx/gstomxvideodec.c:
2700 * omx/gstomxvideodec.h:
2701 omxvideodec: factor out enable and disable code
2702 No semantic change, just factor out the code enabling and disabling the
2703 component to their own functions.
2704 Makes the code easier to read as the set_format() method was already
2705 pretty big. Will also allow us to easily change the enabling logic.
2706 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2708 2017-07-24 12:31:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2710 * omx/gstomxvideoenc.c:
2711 * omx/gstomxvideoenc.h:
2712 omxvideoenc: factor out enable and disable code
2713 No semantic change, just factor out the code enabling and disabling the
2714 component to their own functions.
2715 Makes the code easier to read as the set_format() method was already
2716 pretty big. Will also allow us to easily change the enabling logic.
2717 https://bugzilla.gnome.org/show_bug.cgi?id=785967
2719 2017-07-27 12:12:01 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2722 omx: also reset nFilledLen before calling OMX_FillThisBuffer()
2723 The spec states that the buffer passed to OMX_FillThisBuffer() needs to be
2724 empty. Some implementation may check it actually is by checking its
2725 nFilledLen field, so best to reset it as well.
2726 https://bugzilla.gnome.org/show_bug.cgi?id=785623
2728 2017-07-17 21:06:47 +0100 Julien Isorce <jisorce@oblong.com>
2730 * omx/gstomxvideodec.c:
2731 * omx/gstomxvideodec.h:
2732 omxvideodec: make generic the OMX_UseEGLImage code path
2733 Will be easier to maintain and to make enhancements.
2734 Tested with Tizonia on Desktop.
2735 Also tested with Bellagio to make sure it does not crash when
2736 calling OMX_UseEGLImage and indeed it returns NotImplemented.
2737 Then gst-omx fallback to OMX_UseBuffer if it can and so on.
2738 Also tested on rpi to make sure there is no regression.
2739 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2741 2017-07-21 11:52:00 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
2743 * omx/gstomxvideodec.c:
2744 omxvideodec: Fix segment seek
2745 On segment seek, unlike EOS, we drain, but we cannot expect a flush
2746 later to reset the decoder state. As a side effect, the decoder would
2747 remain in EOS state and ignore any new incoming buffers.
2748 To fix this, we call _flush() inside the _drain() function, and
2749 _finish() becomes what _drain() was before. This way, for _finish() (the
2750 eos case) we only drain, for _drain() triggered by segment seek or new
2751 caps, we also reset the decoder state so it's ready to accept buffers.
2752 https://bugzilla.gnome.org/show_bug.cgi?id=785237
2754 2017-07-10 15:00:58 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2756 * omx/gstomxvideoenc.c:
2757 omxvideoenc: ensure enough buffers are allocated in the pool
2758 Handle allocation query and ensure enough buffers are allocated in
2759 the negotiated pool. This help preventing buffer starvation in the pipeline.
2760 https://bugzilla.gnome.org/show_bug.cgi?id=785122
2762 2017-07-04 12:16:39 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2767 * omx/gstomxbufferpool.c:
2768 * omx/gstomxbufferpool.h:
2769 * omx/gstomxvideodec.c:
2770 * omx/gstomxvideodec.h:
2772 omxvideodec: add dmabuf support for output
2773 The zynqultrascaleplus OMX implementation has a custom extension
2774 allowing decoders to output dmabuf and so avoid buffers copy between OMX
2776 Make use of this extension when built on the zynqultrascaleplus. The
2777 buffer pool code should be re-usable for other platforms as well.
2778 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2780 2017-06-20 00:13:33 +0100 Julien Isorce <jisorce@oblong.com>
2782 * config/tizonia/gstomx.conf.in:
2783 config: add OMX.Aratelia.video_decoder.vp8 to Tizonia config
2784 Useful mostly for testing/debugging purpose as this is a software
2785 based encoder (libvpxdec) for which GStreamer provides a direct
2787 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2789 2017-06-19 23:56:02 +0100 Julien Isorce <jisorce@oblong.com>
2791 * omx/gstomxvideodec.c:
2792 omxvideodec: handle IL 1.2 behavior for OMX_SetParameter
2793 It triggers SettingsChanged on the other port and it is up to
2794 the client to decide if it should lead to a port reconfiguration.
2795 Settings are propagated to the other port for fields they have
2796 in common. But this event is only triggered on the other port
2797 if it actually change a setting.
2798 https://bugzilla.gnome.org/show_bug.cgi?id=783976
2800 2017-07-18 23:41:17 +0100 Julien Isorce <jisorce@oblong.com>
2802 * config/tizonia/gstomx.conf.in:
2803 config: set rank to 0 for Tizonia's mp3 decoder
2804 Should have been 0 from the initial commit
2805 eed49b4231a063639f90279c8044404c2149902a
2807 2017-07-17 21:03:55 +0100 Julien Isorce <jisorce@oblong.com>
2809 * omx/gstomxvideodec.c:
2810 omxvideodec: fix file permissions
2811 Introduced by ebc9b4903cbdac2793c24b05a1bb7acc3b67fae5
2813 2017-06-29 23:17:26 +0100 Julien Isorce <jisorce@oblong.com>
2815 * omx/gstomxvideodec.c:
2816 omxvideodec: fix buffer leak when eglimage setup fails
2817 Can happen if gst_buffer_pool_acquire_buffer succeeds but
2818 gst_buffer_n_memory (buffer) is not exactly 1.
2819 In theory this should not happen because the decoder requests
2820 EGLImage(RGBA) but better to fix any leak on corner cases.
2821 https://bugzilla.gnome.org/show_bug.cgi?id=784365
2823 2017-07-17 18:36:36 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2826 omx: Possible Memory leak in gst_caps_from_string
2827 https://bugzilla.gnome.org/show_bug.cgi?id=784978
2829 2017-07-17 15:48:44 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2831 * omx/gstomxvideoenc.c:
2832 omxvideoenc: Fix deadlock in error case when draining
2833 https://bugzilla.gnome.org/show_bug.cgi?id=784972
2835 2017-07-17 13:44:54 +0530 Satya Prakash Gupta <sp.gupta@samsung.com>
2837 * omx/gstomxaudioenc.c:
2838 omxaudioenc: Fix deadlock in error case when draining
2839 https://bugzilla.gnome.org/show_bug.cgi?id=784967
2841 2017-06-02 12:36:30 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2846 build: include OMX_IndexExt and OMX_ComponentExt if present
2847 These files may be used by OMX implementation to define custom extensions.
2848 Include them if present as we are already doing with OMX_VideoExt.h
2849 https://bugzilla.gnome.org/show_bug.cgi?id=784847
2851 2017-07-13 16:40:26 +1000 Jan Schmidt <jan@centricular.com>
2853 * omx/gstomxh264enc.c:
2854 omxh264enc: Re-add periodicty-idr property for backward compat
2855 Retain backwards compatibility by adding a duplicate
2856 property for periodicty-idr
2857 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2859 2017-06-30 15:15:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2861 * omx/gstomxh264enc.c:
2862 omxh264enc: fix typo in "periodicty-idr" property name
2863 Also fix the 'nick' of the property.
2864 https://bugzilla.gnome.org/show_bug.cgi?id=784370
2866 2017-06-29 22:48:47 +0100 Julien Isorce <jisorce@oblong.com>
2868 * omx/gstomxvideodec.c:
2869 * omx/gstomxvideodec.h:
2870 omxvideodec: use OMX_UseBuffer
2871 For example this allows the omx decoder to directly fill the
2872 pixmaps coming from the video sink.
2873 It only avoids a buffer copy when the decoder uses a pool provided
2874 by a downstream element. So let's restrict this usage to situations
2875 where the decoder decides to use a downstream buffer pool.
2876 Tested with Tizonia/OMX.Aratelia.video_decoder.vp8
2877 and with Bellagio/OMX.mesa.video_decoder.avc.
2878 If it fails to setup buffers with OMX_UseBuffer the decoders
2879 fallbacks to usual OMX_AllocateBuffer.
2880 Also it allows to test on desktop the GstOMXBufferPool->other_pool
2881 management which was previously only used in the OMX_UseEGLImage
2883 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2885 2017-07-12 10:29:16 +0100 Julien Isorce <jisorce@oblong.com>
2888 omx: do not always print an error if OMX_{UseBuffer,EGLImage} fails
2889 Let the caller decide to print an error. Because it can be part of
2890 a normal trial path.
2891 https://bugzilla.gnome.org/show_bug.cgi?id=784069
2893 2017-07-12 16:00:53 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2896 meson: add gstomxmp3enc
2897 Commit 02d493e85921596f7cac7ef4af02fde500e9a5d8 didn't add
2898 gstomxmp3enc.c to meson.
2899 https://bugzilla.gnome.org/show_bug.cgi?id=784848
2901 2017-05-23 10:32:58 +0100 Julien Isorce <jisorce@oblong.com>
2903 * config/tizonia/gstomx.conf.in:
2904 config: add OMX.Aratelia.audio_encoder.mp3 to Tizonia config
2905 Useful mostly for testing/debugging purpose as this is a software
2906 based encoder (libmp3lame) for which GStreamer provides a direct
2908 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2910 2017-05-23 10:32:06 +0100 Julien Isorce <jisorce@oblong.com>
2914 * omx/gstomxmp3enc.c:
2915 * omx/gstomxmp3enc.h:
2916 omx: add gstomxmp3enc
2917 Initial support and only tested with the software based
2918 encoder OMX.Aratelia.audio_encoder.mp3 from Tizonia which
2919 internally uses libmp3lame.
2920 https://bugzilla.gnome.org/show_bug.cgi?id=782988
2922 2017-03-28 16:27:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2924 * config/zynqultrascaleplus/gstomx.conf:
2927 * omx/gstomxh264dec.c:
2928 h264dec: add hack to pass profile and level to OMX
2929 This information can be useful to zynqultrascaleplus decoders. They may
2930 use this information to reduce startup latency by configuring itself
2931 before receiving the first frames.
2932 We also have a custom OMX extension allowing the decoder to report the
2933 latency. The profile/level information helps it reporting a more
2934 accurate latency earlier.
2935 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2937 2017-07-03 13:17:11 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2940 * omx/gstomxh264enc.c:
2941 * omx/gstomxh264utils.c:
2942 * omx/gstomxh264utils.h:
2944 omxh264enc: move profile and level parsing functions to their own files
2945 Will allow to re-use them in the decoder element.
2946 https://bugzilla.gnome.org/show_bug.cgi?id=783114
2948 2017-07-04 03:15:00 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2950 * config/meson.build:
2951 * config/tizonia/meson.build:
2953 * meson_options.txt:
2954 meson: Add tizonia option
2955 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2957 2017-04-29 02:56:59 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2960 * config/tizonia/Makefile.am:
2961 * config/tizonia/gstomx.conf.in:
2962 * config/tizonia/meson.build:
2964 config: add omxmp3dec config for tizonia
2965 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/tizonia/ \
2966 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
2967 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
2968 v2: [Nicolas] Use template to create gstomx.conf using pkg-config
2969 v3: [Nicolas] Ignore only config/tizonia/gstomx.conf
2970 v4: [Nicolas] Add "/" for single occurence
2971 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2973 2017-05-07 20:09:54 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2976 omx: always ignore OMX_ErrorPortUnpopulated
2977 It is safe to ignore it always. Tizonia notifies this error to pass
2978 some khronos conformance tests. Problem is that gst-omx saves this
2979 error in comp->last_error and then gst_omx_port_set_enabled early
2980 error out which fails the pipeline.
2981 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2983 2017-04-29 02:53:26 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2987 omx: guard some omx enums with IL version
2988 Some enums that existed in 1.1.2 just do not exit in 1.2.0
2989 See https://www.khronos.org/registry/OpenMAX-IL/specs/OpenMAX_IL_1_2_0_Specification_redline.pdf
2990 https://bugzilla.gnome.org/show_bug.cgi?id=782800
2992 2017-04-29 01:56:01 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
2995 configure.ac: add tizonia target for --with-omx-target flag.
2996 This will check for tizilheaders.pc which adds path to omx-il
2997 headers its cflags. Can be installed all together with the 1.2 headers
2998 with package tizilheaders if not building from sources:
2999 https://github.com/tizonia/tizonia-openmax-il
3000 It is also adviced to remove libomxil-bellagio-dev package because
3001 it installs headers /usr/include directly, ex: /usr/include/OMX_Video.h.
3002 https://bugzilla.gnome.org/show_bug.cgi?id=782800
3004 2017-07-05 10:47:41 +0100 Julien Isorce <jisorce@oblong.com>
3006 * omx/gstomxaudioenc.c:
3007 omxaudioenc: update local port_def after reopening the component
3008 gst_omx_audio_enc_open will only update GstOMXAudioEnc->port->port_def.
3009 Note that the component is reopen only if the flag
3010 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
3011 https://bugzilla.gnome.org/show_bug.cgi?id=782418
3013 2017-07-05 10:48:52 +0100 Julien Isorce <jisorce@oblong.com>
3015 * omx/gstomxvideoenc.c:
3016 omxvideoenc: update local port_def after reopening the component
3017 gst_omx_video_enc_open will only update GstOMXVideoEnc->port->port_def.
3018 Note that the component is reopen only if the flag
3019 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
3020 https://bugzilla.gnome.org/show_bug.cgi?id=782418
3022 2017-05-10 12:38:39 +0900 Sejun Park <sejun79.park@samsung.com>
3024 * omx/gstomxvideodec.c:
3025 omxvideodec: update local port_def after reopening the component
3026 gst_omx_video_dec_open will only update GstOMXVideoDec->port->port_def.
3027 Note that the component is reopen only if the flag
3028 GST_OMX_HACK_NO_COMPONENT_RECONFIGURE is set.
3029 https://bugzilla.gnome.org/show_bug.cgi?id=782418
3031 2017-07-03 16:33:06 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3033 * omx/gstomxvideodec.c:
3034 omxvideodec: increase the minimum number of allocated buffers
3035 Ensure that enough buffers are allocated by adding up component's own
3036 minimal plus the number of buffers requested by downstream.
3037 This should prevent buffers starvation problem if downstream elements
3038 are holding some of the buffers they required.
3039 Also simplify the check on the maximum on buffers. What we actually care
3040 about is to make sure the pool can hold the minimum of required buffers.
3041 https://bugzilla.gnome.org/show_bug.cgi?id=784479
3043 2017-07-03 10:54:50 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3045 * omx/gstomxh264enc.c:
3046 omxh264enc: raise a warning if AVCIntraPeriod is not supported
3047 Some platforms may not implement OMX_IndexConfigVideoAVCIntraPeriod and
3048 use OMX_IndexParamVideoAvc instead to configure the GOP pattern.
3049 So raise a warning instead of an error if this API is not implemented.
3050 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3052 2017-06-29 14:16:19 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3054 * omx/gstomxh264enc.c:
3055 * omx/gstomxh264enc.h:
3056 omxh264enc: add 'b-frames' property
3057 Add a property to control the number of B-frames produced by the
3058 encoder using the OMX_VIDEO_PARAM_AVCTYPE OMX API.
3059 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3061 2017-06-30 14:18:35 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3063 * omx/gstomxh264enc.c:
3064 omxh264enc: fix typo in 'set_avc_intra_period'
3065 https://bugzilla.gnome.org/show_bug.cgi?id=784379
3067 2017-05-22 11:23:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3069 * config/Makefile.am:
3070 * config/meson.build:
3071 * config/zynqultrascaleplus/Makefile.am:
3072 * config/zynqultrascaleplus/gstomx.conf:
3073 * config/zynqultrascaleplus/meson.build:
3076 * meson_options.txt:
3077 add 'zynqultrascaleplus' as OMX target
3078 Adding support for the 'Zynq UltraScale+' as a new OMX target.
3079 See https://www.xilinx.com/products/silicon-devices/soc/zynq-ultrascale-mpsoc.html
3080 for details about the platform.
3081 https://bugzilla.gnome.org/show_bug.cgi?id=783097
3083 2017-05-21 15:23:09 +0100 Julien Isorce <jisorce@oblong.com>
3085 * config/bellagio/gstomx.conf:
3086 config: add OMX.mesa.video_decoder.{avc,mpeg2} for Bellagio config
3087 Install libomxil-bellagio0 and make sure mesa has been built with
3088 --enable-omx. Check there is /usr/lib/libomxil-bellagio0/libomx_mesa.so
3089 then run omxregister-bellagio to regenerate $XDG_DATA_HOME/.omxregister
3090 Then omxh264dec and omxmpeg2dec should load.
3091 https://bugzilla.gnome.org/show_bug.cgi?id=782926
3093 2017-05-18 13:50:56 +0100 Julien Isorce <jisorce@oblong.com>
3096 configure.ac: move omx features check after target selection
3097 Does not change anything, except this will be useful for future commits.
3098 Indeed some targets provide a .pc file where to look for the omx headers.
3099 https://bugzilla.gnome.org/show_bug.cgi?id=782800
3101 2017-06-29 16:48:07 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3103 * omx/gstomxh264dec.c:
3104 omxh264dec: remove 'parsed=true' from sink pad
3105 The decoder only requires to receive one frame per buffer which is
3106 already enforced with 'alignment=au'. There is no need to require to
3107 have a parser upstream.
3108 Allow to run "encode ! decode" pipeline without having a parser.
3109 https://bugzilla.gnome.org/show_bug.cgi?id=784344
3111 2017-06-16 13:28:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3113 * omx/gstomxh264enc.c:
3114 omxh264enc: set profile/level using OMX_VIDEO_PARAM_AVCTYPE as well
3115 The OMX specification defines two API to set the AVC profile and level:
3116 using OMX_VIDEO_PARAM_PROFILELEVELTYPE and OMX_VIDEO_PARAM_AVCTYPE.
3117 We were already supporting the former but not the latter. We are now
3118 setting both so implementation don't have to rely on a specific one.
3119 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3121 2017-06-16 13:19:33 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3123 * omx/gstomxh264enc.c:
3124 omxh264enc: factor out update_param_profile_level()
3125 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3127 2017-06-16 12:53:15 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3129 * omx/gstomxh264enc.c:
3130 omxh264enc: factor out string to profile/level enum conversion
3131 https://bugzilla.gnome.org/show_bug.cgi?id=783862
3133 2017-06-28 15:06:10 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3135 * omx/gstomxh264enc.c:
3136 omxh264enc: use OMX_IndexConfigBrcmVideoIntraPeriod on pi
3137 The OMX_VIDEO_CONFIG_AVCINTRAPERIOD.nPFrames setting isn't of any use on
3138 the raspbery pi. Instead it uses a custom extension to define the I
3140 https://bugzilla.gnome.org/show_bug.cgi?id=783829
3142 2017-06-28 15:03:52 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3144 * omx/gstomxh264enc.c:
3145 omxh264enc: factor out set_avc_intra_perdiod()
3146 https://bugzilla.gnome.org/show_bug.cgi?id=783829
3148 2017-06-02 12:48:57 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3151 meson: define HAVE_VIDEO_EXT if OMX_VideoExt.h is present
3152 Meson build wasn't defining the HAVE_VIDEO_EXT like configure.ac does.
3153 https://bugzilla.gnome.org/show_bug.cgi?id=783346
3155 2017-06-11 12:32:01 +0000 Graham Leggett <minfrin@sharp.fm>
3157 * omx/gstomxvideoenc.c:
3158 omxvideoenc: Improve debug output when setting codec state due to new codec_data fails
3159 https://bugzilla.gnome.org/show_bug.cgi?id=783657
3161 2017-05-20 14:49:20 +0100 Julien Isorce <jisorce@oblong.com>
3164 omx: allow 0 feature
3165 Previously the omx plugin was blacklisted if GST_OMX_CONFIG_DIR
3166 points to an invalid path or if the gstomx.conf contains 0 valid
3168 Problem is that once the plugin is blacklisted, a rescan is not
3169 triggered upon changes of the env var or the gstomx.conf file
3170 despite being setup with gst_plugin_add_dependency.
3171 This also makes it more consistent with other plugins that auto
3172 generate features. For example gst-{ffmeg,libav}, gstreamer-vaapi,
3174 To clarify the diff, the plugin_init func will return TRUE even if
3175 g_key_file_get_groups returns 0 element and even if
3176 g_key_file_load_from_dirs fails.
3177 https://bugzilla.gnome.org/show_bug.cgi?id=782867
3179 2017-04-26 22:52:17 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3181 * config/bellagio/gstomx.conf:
3182 config: add OMX.st.audio_decoder.mp3.mad for Bellagio config
3183 MP3 Software decoder (libmad based) but useful for testing
3184 and to compare with other targets.
3185 GST_OMX_CONFIG_DIR=$HOME/gst/master/gst-omx/config/bellagio/ \
3186 gst-launch-1.0 filesrc location=mpthreetest.mp3 ! id3demux ! \
3187 mpegaudioparse ! omxmp3dec ! audioconvert ! pulsesink
3188 Didn't add 'local' in core-name path compared to other components
3189 in that same gstomx.conf file because OMX.st.audio_decoder.mp3.mad
3190 comes with the Ubuntu package 'libomxil-bellagio0-components-mad'.
3191 All other components listed in this gstomx.conf for Bellagio, are
3192 not provided by any Ubuntu packages. It could explain the 'local',
3193 i.e. requiring to build them from source.
3194 dpkg -L libomxil-bellagio0
3195 /usr/lib/libomxil-bellagio.so.0
3196 https://bugzilla.gnome.org/show_bug.cgi?id=781786
3197 Signed-off-by: Gurkirpal Singh <gurkirpal204@gmail.com>
3198 Signed-off-by: Julien Isorce <jisorce@oblong.com>
3200 2017-05-16 14:39:04 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3203 Remove plugin specific static build option
3204 Static and dynamic plugins now have the same interface. The standard
3205 --enable-static/--enable-shared toggle are sufficient.
3207 2017-05-10 12:10:10 +0900 Sejun Park <sejun79.park@samsung.com>
3209 * omx/gstomxvideodec.c:
3210 omxvideodec: Removed unreachable code
3211 https://bugzilla.gnome.org/show_bug.cgi?id=782416
3213 2017-05-09 16:26:44 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3216 meson: add dep on GModule
3217 libgstomx uses the GModule API and so needs it in its dependencies list.
3218 https://bugzilla.gnome.org/show_bug.cgi?id=782387
3220 2017-05-09 13:27:28 +0000 Tim-Philipp Müller <tim@centricular.com>
3223 meson: fix config.h generation
3224 "No such input file config.h.meson", but it's not needed anyway.
3225 https://bugzilla.gnome.org/show_bug.cgi?id=782382
3227 2017-05-04 18:59:33 +0300 Sebastian Dröge <sebastian@centricular.com>
3233 === release 1.12.0 ===
3235 2017-05-04 15:48:56 +0300 Sebastian Dröge <sebastian@centricular.com>
3245 === release 1.11.91 ===
3247 2017-04-27 17:53:50 +0300 Sebastian Dröge <sebastian@centricular.com>
3257 2017-04-17 17:02:48 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
3259 * omx/gstomxvideoenc.c:
3260 videoenc: use GST_ROUND_UP_N() macro
3261 Makes the code much easier to read and understand.
3262 https://bugzilla.gnome.org/show_bug.cgi?id=781409
3264 2017-04-24 20:30:21 +0100 Tim-Philipp Müller <tim@centricular.com>
3267 Automatic update of common submodule
3268 From 60aeef6 to 48a5d85
3270 2017-04-10 23:51:00 +0100 Tim-Philipp Müller <tim@centricular.com>
3274 Automatic update of common submodule
3275 From 39ac2f5 to 60aeef6
3277 === release 1.11.90 ===
3279 2017-04-07 16:36:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3289 2017-04-07 14:27:23 +0300 Sebastian Dröge <sebastian@centricular.com>
3291 * omx/gstomxvideoenc.c:
3292 omxvideoenc: Fix compiler warning
3293 gstomxvideoenc.c: In function ‘gst_omx_video_enc_fill_buffer’:
3294 CC libgstomx_la-gstomxaacdec.lo
3295 gstomxvideoenc.c:1316:27: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 8 has type ‘OMX_U32 {aka long unsigned int}’ [-Wformat=]
3296 GST_LOG_OBJECT (self, "Matched strides - direct copy %u bytes",
3298 outbuf->omx_buf->nFilledLen);
3301 2017-03-22 17:18:09 +0530 Gurkirpal Singh <gurkirpal204@gmail.com>
3304 meson: fix logic to set HAVE_THEORA
3305 https://bugzilla.gnome.org/show_bug.cgi?id=780392
3307 2017-03-14 03:02:06 +1100 Jan Schmidt <thaytan@noraisin.net>
3309 * omx/gstomxvideoenc.c:
3310 omxvideoenc: Add an unimplemented mapping for RGBA formats
3311 Add some pixel formats mappings for 2 RGBA formats. Not yet
3312 implemented in the buffer input code though, so no effect for now.
3314 2017-03-14 03:00:49 +1100 Jan Schmidt <thaytan@noraisin.net>
3318 * omx/gstomxvideoenc.c:
3319 omxvideoenc: Add GST_OMX_HACK_HEIGHT_MULTIPLE_16 for Rpi
3320 The Raspberry Pi encoder produces corrupt output unless
3321 the input height is a multiple of 16. Add a hack that adds
3322 zero padding when needed.
3324 2017-03-14 02:42:15 +1100 Jan Schmidt <thaytan@noraisin.net>
3326 * omx/gstomxvideoenc.c:
3327 omxvideoenc: Add a mapping for OMX_COLOR_FormatYUV420PackedSemiPlanar
3330 2017-03-14 02:40:24 +1100 Jan Schmidt <thaytan@noraisin.net>
3332 * omx/gstomxvideoenc.c:
3333 omxvideoenc: Filter out unimplemented formats
3334 Don't announce pixel formats in the caps if they've not been
3337 2017-03-14 02:34:36 +1100 Jan Schmidt <thaytan@noraisin.net>
3339 * omx/gstomxvideodec.c:
3340 omxvideodec: demote ERROR message
3341 There's no need to warn about failing to negotiate EGL output
3342 - that can be perfectly normal.
3344 2017-02-24 16:00:29 +0200 Sebastian Dröge <sebastian@centricular.com>
3347 meson: Update version
3349 2017-02-24 15:38:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3354 === release 1.11.2 ===
3356 2017-02-24 15:10:17 +0200 Sebastian Dröge <sebastian@centricular.com>
3365 2017-02-15 18:22:53 +0000 Tim-Philipp Müller <tim@centricular.com>
3368 meson: dist meson build files
3369 Ship meson build files in tarballs, so people who use tarballs
3370 in their builds can start playing with meson already.
3372 2017-01-13 16:23:12 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3374 * omx/gstomxaacenc.c:
3375 omxaacenc: let encoder know about incoming rate/channels
3376 https://bugzilla.gnome.org/show_bug.cgi?id=777223
3378 2017-01-18 02:43:44 +1100 Matthew Waters <matthew@centricular.com>
3380 * config/bellagio/meson.build:
3381 * config/meson.build:
3382 * config/rpi/meson.build:
3383 * examples/egl/meson.build:
3384 * examples/meson.build:
3385 * hooks/pre-commit.hook:
3387 * meson_options.txt:
3389 build: add meson build definition
3390 Currently only been tested on the RPi within gst-build.
3392 2017-01-18 15:21:35 +1100 Matthew Waters <matthew@centricular.com>
3394 * examples/egl/testegl.c:
3395 examples/testegl: update for libgstgl changes
3397 2017-01-12 16:33:09 +0200 Sebastian Dröge <sebastian@centricular.com>
3402 === release 1.11.1 ===
3404 2017-01-12 16:26:55 +0200 Sebastian Dröge <sebastian@centricular.com>
3413 2017-01-10 15:29:08 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
3415 * omx/gstomxaudioenc.c:
3416 omxaudioenc: set base class format instead of just source pad caps
3418 2016-12-18 19:46:55 +0000 Graham Leggett <minfrin@sharp.fm>
3420 * omx/gstomxaudiodec.c:
3421 * omx/gstomxvideodec.c:
3422 omx*dec: Flush before we stop the srcpad loop
3423 Flushing could otherwise hang if output port queue of pending buffers was empty
3424 https://bugzilla.gnome.org/show_bug.cgi?id=774654
3426 2016-12-14 13:29:08 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
3429 Fix broken build due to syntax error
3430 Problem was introduced by 8716c23e2b0553db2982eb84c437f493c974385e
3432 2016-12-12 11:12:48 +0000 Graham Leggett <minfrin@sharp.fm>
3435 Prevent early EOS by resetting eos flag once GST_OMX_ACQUIRE_BUFFER_EOS is triggered
3436 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3438 2016-12-12 11:09:15 +0000 Graham Leggett <minfrin@sharp.fm>
3441 Add clear debug logging on all the paths out of gst_omx_port_acquire_buffer()
3442 https://bugzilla.gnome.org/show_bug.cgi?id=774600
3444 2016-12-01 18:23:50 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
3446 * config/rpi/gstomx.conf:
3449 Add a signals-premature-eos hack for egl_render
3450 egl_render seems to have a bug and signals EOS before it has finished
3451 pushing out all data; this hack simply makes acquire_buffer() wait
3452 a bit more before signalling EOS, in case egl_render decides to spit
3454 https://bugzilla.gnome.org/show_bug.cgi?id=741856
3456 2016-12-11 19:52:37 +0000 Graham Leggett <minfrin@sharp.fm>
3458 * omx/gstomxvideo.c:
3459 Add support for OMX_COLOR_FormatYUV420PackedSemiPlanar and OMX_COLOR_Format24bitBGR888
3460 https://bugzilla.gnome.org/show_bug.cgi?id=775959
3462 2016-12-03 08:20:46 +0100 Edward Hervey <bilboed@bilboed.com>
3465 Automatic update of common submodule
3466 From ac2f647 to 39ac2f5
3468 2016-11-26 11:27:58 +0000 Tim-Philipp Müller <tim@centricular.com>
3471 common: use https protocol for common submodule
3472 https://bugzilla.gnome.org/show_bug.cgi?id=775110
3474 2016-11-25 23:56:06 +0200 Sebastian Dröge <sebastian@centricular.com>
3477 omx: Fix compiler warning with latest clang
3478 gstomx.c:1376:42: error: implicit conversion from enumeration type 'GstOMXAcquireBufferReturn' to different enumeration type 'OMX_ERRORTYPE'
3479 (aka 'enum OMX_ERRORTYPE') [-Werror,-Wenum-conversion]
3480 g_return_val_if_fail (!port->tunneled, GST_OMX_ACQUIRE_BUFFER_ERROR);
3481 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3482 https://bugzilla.gnome.org/show_bug.cgi?id=775112
3484 2016-11-17 19:56:35 +1100 Matthew Waters <matthew@centricular.com>
3486 * omx/gstomxvideodec.c:
3487 videodecoder: remove use of EGLImage orientation
3488 New code should use GstVideoTransformationMeta
3489 (The defaults do the right thing here though).
3491 === release 1.11.0 ===
3493 2016-11-01 18:53:25 +0200 Sebastian Dröge <sebastian@centricular.com>
3498 === release 1.10.0 ===
3500 2016-11-01 18:20:48 +0200 Sebastian Dröge <sebastian@centricular.com>
3509 === release 1.9.90 ===
3511 2016-09-30 13:04:51 +0300 Sebastian Dröge <sebastian@centricular.com>
3521 2016-09-14 11:33:13 +0200 Sebastian Dröge <sebastian@centricular.com>
3524 configure: Depend on gstreamer 1.9.2.1
3526 2016-09-12 14:09:46 +0200 Sebastian Dröge <sebastian@centricular.com>
3530 omx: Also search for gstomx.conf in the autoconf --sysconfdir
3531 https://bugzilla.gnome.org/show_bug.cgi?id=770743
3533 2016-09-10 20:52:10 +1000 Jan Schmidt <jan@centricular.com>
3537 Automatic update of common submodule
3538 From b18d820 to f980fd9
3540 2016-09-10 09:58:16 +1000 Jan Schmidt <jan@centricular.com>
3544 Automatic update of common submodule
3545 From ac2f647 to b18d820
3547 2016-09-01 12:36:09 +0300 Sebastian Dröge <sebastian@centricular.com>
3552 === release 1.9.2 ===
3554 2016-09-01 12:35:58 +0300 Sebastian Dröge <sebastian@centricular.com>
3564 2016-07-11 21:15:48 +0200 Stefan Sauer <ensonic@users.sf.net>
3567 Automatic update of common submodule
3568 From ac2f647 to f49c55e
3570 2016-07-06 13:51:24 +0300 Sebastian Dröge <sebastian@centricular.com>
3575 === release 1.9.1 ===
3577 2016-07-06 13:48:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3587 2016-06-29 16:37:43 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
3589 * omx/gstomxvideodec.c:
3590 omxvideodec: Use GST_VIDEO_FRAME_PLANE_STRIDE() to get output buffer's stride
3591 GST_VIDEO_FRAME_PLANE_STRIDE() should be used to get the actual buffer stride,
3592 as reported in the buffers's GstVideoMeta, when copying data to that buffer.
3593 https://bugzilla.gnome.org/show_bug.cgi?id=768173
3595 2016-06-21 11:48:40 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
3598 Automatic update of common submodule
3599 From ac2f647 to f363b32
3601 2016-06-21 11:43:13 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3603 * omx/gstomxaudioenc.c:
3604 omxaudioenc: implement GstPreset interface
3605 To allow user to use GstPreset to quickly save and load a set of
3607 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3609 2016-06-21 11:41:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
3611 * omx/gstomxvideoenc.c:
3612 omxvideoenc: implement GstPreset interface
3613 To allow user to use GstPreset to quickly save and load a set of
3615 https://bugzilla.gnome.org/show_bug.cgi?id=767907
3617 2016-06-17 12:06:48 +0300 Sebastian Dröge <sebastian@centricular.com>
3621 * omx/gstomxaudiodec.c:
3622 * omx/gstomxaudioenc.c:
3623 * omx/gstomxvideo.c:
3624 * omx/gstomxvideodec.c:
3625 * omx/gstomxvideoenc.c:
3626 omx: #define OMX_SKIP64BIT on the RPi as required by their API
3627 Also add generic support for OMX_SKIP64BIT to gst-omx, in case other
3628 implementations also #define that for whatever reason.
3629 https://bugzilla.gnome.org/show_bug.cgi?id=766475
3631 2016-06-17 10:59:45 +0300 Sebastian Dröge <sebastian@centricular.com>
3633 * omx/gstomxvideodec.c:
3634 omxvideodec: Implement ::drain() virtual method
3635 https://bugzilla.gnome.org/show_bug.cgi?id=767641
3637 2016-06-04 19:31:45 +0100 Tim-Philipp Müller <tim@centricular.com>
3640 configure: remove AG_GST_PARSE_SUBSYSTEM_DISABLES
3641 This would check which subsystems are disabled in core by grepping
3642 gstconfig.h. Only problem is: gstconfig.h has moved into libdir now
3643 so we've been checking a non-existent file for a while now. The
3644 macro would just sets GST_DISABLE_* for use in configure.ac and
3645 Makefile.am, but we don't use that anywhere so just get rid of it
3646 (the one place where we use GST_DISABLE_GST_DEBUG is in a .c file
3647 which gets the define from the gstconfig.h include).
3648 https://bugzilla.gnome.org/show_bug.cgi?id=750056
3650 2016-01-20 03:10:38 +0900 Gwang Yoon Hwang <yoon@igalia.com>
3652 * examples/egl/testegl.c:
3653 * omx/gstomxvideodec.c:
3654 omxvideodec : Use gstglmemoryegl for the RPi
3655 Modified to use gstglmemoryegl to avoid texture creation/copy operations
3657 [Matthew Waters]: gst-indent the sources and port testegl to GstGLMemoryEGL
3658 https://bugzilla.gnome.org/show_bug.cgi?id=760918
3660 2016-04-14 10:04:32 +0100 Julien Isorce <j.isorce@samsung.com>
3663 Automatic update of common submodule
3664 From 6f2d209 to ac2f647
3666 2016-02-26 12:42:41 +0200 Sebastian Dröge <sebastian@centricular.com>
3669 Automatic update of common submodule
3670 From b64f03f to 6f2d209
3672 2016-02-17 20:51:03 +1100 Matthew Waters <matthew@centricular.com>
3674 * examples/egl/testegl.c:
3675 examples: update egl example for gstgl API changes
3676 https://bugzilla.gnome.org/show_bug.cgi?id=762053
3677 https://bugzilla.gnome.org/show_bug.cgi?id=753917
3679 2016-02-05 18:11:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3683 Automatic update of common submodule
3684 From 86e4663 to b64f03f
3686 2015-12-21 00:43:49 +0100 Koop Mast <kwm@rainbow-runner.nl>
3689 configure: Make -Bsymbolic check work with clang.
3690 Update the -Bsymbolic check with the version glib has. This version
3692 https://bugzilla.gnome.org/show_bug.cgi?id=759713
3694 2015-12-07 09:11:32 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3698 Automatic update of common submodule
3699 From b319909 to 86e4663
3701 2015-11-18 13:00:28 +0000 Enrique Ocaña González <eocanha@igalia.com>
3704 Remember the last_error after a failed set state call to avoid blocking the next get state call
3705 gst_omx_video_dec_flush() blocks forever in
3706 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomxvideodec.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n2110
3707 when the previous call to gst_omx_component_set_state() fails in
3708 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n827.
3709 To mitigate that, I set "last_error" to true, so the code in
3710 http://cgit.freedesktop.org/gstreamer/gst-omx/tree/omx/gstomx.c?id=9adf0ff82903cad5331e40975ae91ed5d11bc102#n862
3711 exits early and doesn't block.
3712 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3714 2015-11-18 12:59:59 +0000 Enrique Ocaña González <eocanha@igalia.com>
3716 * omx/gstomxaudiodec.c:
3717 * omx/gstomxaudioenc.c:
3718 * omx/gstomxvideodec.c:
3719 * omx/gstomxvideoenc.c:
3720 Properly handle drain requests while flushing
3721 Without this commit the decoder streaming thread stops without ever attending
3722 the drain request, leaving the decoder input thread waiting forever.
3723 https://bugzilla.gnome.org/show_bug.cgi?id=758274
3725 2015-11-10 10:42:35 +0100 Nicolas Huet <nicolas.huet@parrot.com>
3728 omx: fix hacks leak on class init
3730 2015-10-21 14:37:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3733 Automatic update of common submodule
3734 From b99800a to b319909
3736 2015-10-21 14:28:41 +0300 Sebastian Dröge <sebastian@centricular.com>
3739 Automatic update of common submodule
3740 From 9aed1d7 to b99800a
3742 2015-09-01 16:08:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3744 * omx/gstomxaacdec.c:
3745 omxaacdec: Do not accept unknown layouts
3746 It was defaulting to RAW when an unknown layout was received but
3747 the caps template would actually forbid that on the caps query
3748 or accept-caps anyway.
3750 2015-09-01 08:59:54 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3752 * omx/gstomxaudiodec.c:
3753 omxaudiodec: use default pad accept-caps handling
3754 Instead of the audiodecoder one. The OMX audioo decoders have their
3755 valid input in the template pad, so just check against that to
3756 avoid doing a query downstream.
3758 2015-08-28 12:57:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
3760 * omx/gstomxvideodec.c:
3761 omxvideodec: use default pad accept-caps handling
3762 Instead of the videodecoder one. The OMX video decoders have their
3763 valid input in the template pad, so just check against that to
3764 avoid doing a query downstream.
3766 2015-08-22 15:54:55 +0000 Graham Leggett <minfrin@sharp.fm>
3768 * omx/gstomxvideoenc.c:
3769 omxvideoenc: Add keyframe support for the Rpi, using OMX_IndexConfigBrcmVideoRequestIFrame
3770 https://bugzilla.gnome.org/show_bug.cgi?id=753085
3772 2015-08-20 17:20:50 +0900 Vineeth TM <vineeth.tm@samsung.com>
3774 * examples/egl/testegl.c:
3775 gst-omx: Fix memory leaks when context parse fails
3776 When g_option_context_parse fails, context and error variables are not getting free'd
3777 which results in memory leaks. Free'ing the same.
3778 And replacing g_error_free with g_clear_error, which checks if the error being passed
3779 is not NULL and sets the variable to NULL on free'ing.
3780 https://bugzilla.gnome.org/show_bug.cgi?id=753865
3782 2015-08-16 14:53:42 +0200 Philippe Normand <philn@igalia.com>
3784 * omx/gstomxh264dec.c:
3785 omxh264dec: implement is_format_change
3786 The omxvideodecoder class only checks some of the caps parameters but if
3787 other fields change such as h264 profile and/or level it wouldn't trigger a
3789 https://bugzilla.gnome.org/show_bug.cgi?id=752376
3791 2015-07-03 00:26:48 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
3793 * omx/gstomxvideodec.c:
3794 omxvideodec: unref allocator after getting it from allocation query
3795 Otherwise a reference will be leaked for each allocator. It only happens
3796 when target platform is Raspberry Pi and when we have GL support.
3797 https://bugzilla.gnome.org/show_bug.cgi?id=751867
3799 2015-07-03 21:59:54 +0200 Stefan Sauer <ensonic@users.sf.net>
3802 Automatic update of common submodule
3803 From f74b2df to 9aed1d7
3805 2015-06-16 17:50:14 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
3808 Automatic update of common submodule
3809 From 6015d26 to f74b2df
3811 2015-06-09 11:30:49 +0200 Edward Hervey <bilboed@bilboed.com>
3814 Automatic update of common submodule
3815 From d9a3353 to 6015d26
3817 2015-06-08 23:08:28 +0200 Stefan Sauer <ensonic@users.sf.net>
3820 Automatic update of common submodule
3821 From d37af32 to d9a3353
3823 2015-06-07 23:07:22 +0200 Stefan Sauer <ensonic@users.sf.net>
3826 Automatic update of common submodule
3827 From 21ba2e5 to d37af32
3829 2015-06-07 17:32:25 +0200 Stefan Sauer <ensonic@users.sf.net>
3832 Automatic update of common submodule
3833 From c408583 to 21ba2e5
3835 2015-06-07 17:16:43 +0200 Stefan Sauer <ensonic@users.sf.net>
3839 Automatic update of common submodule
3840 From c8fb372 to c408583
3842 2015-05-19 18:21:40 +0300 Sebastian Dröge <sebastian@centricular.com>
3844 * omx/gstomxaudiodec.c:
3845 * omx/gstomxaudiodec.h:
3846 omxaudiodec: Add an output adapter for chunking the output into codec frames
3847 Otherwise the base class will be confused.
3848 See https://bugzilla.gnome.org/show_bug.cgi?id=685730
3850 2015-04-26 18:24:13 +0100 Tim-Philipp Müller <tim@centricular.com>
3854 Remove obsolete Android build cruft
3855 This is not needed any longer.
3857 2015-04-22 10:40:22 +0200 Sebastian Dröge <sebastian@centricular.com>
3861 autotools automatically generate this, and when using different versions
3862 for autogen.sh there will always be changes to a file tracked by git.
3864 2015-04-08 15:57:59 +0100 Tim-Philipp Müller <tim@centricular.com>
3870 Add m4 directory so aclocal doesn't complain in autogen.sh
3871 Might come in handy, and these warnings seem to be
3872 fatal in some environments.
3873 You may need to git clean -x -d -f your tree before
3874 git pulling/merging.
3876 2015-04-07 22:25:57 +0100 Tim-Philipp Müller <tim@centricular.com>
3880 Update autogen.sh to latest version
3882 2015-04-03 18:58:17 +0100 Tim-Philipp Müller <tim@centricular.com>
3885 Automatic update of common submodule
3886 From bc76a8b to c8fb372
3888 2015-03-06 12:12:49 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3890 * omx/gstomxaacdec.c:
3891 omxaudiodec: add comment explaining duplicate code path
3893 2015-03-06 12:09:06 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3895 * omx/gstomxaacdec.c:
3896 Revert "omxaudiodec: remove duplicate code path"
3897 This reverts commit a8d26ff27a8b43f589424a59294f9057641b2a46.
3899 2015-03-06 12:03:56 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3902 omx: handle both errors in the two steps of update_port_definition
3903 Also consider potential errors in the _get_parameter() in the return of the
3904 update_port_definition function.
3907 2015-03-06 10:57:53 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3909 * omx/gstomxaudioenc.c:
3910 omxaudioenc: impossible if statement
3911 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3912 for it to be anything else at the if check. Remove the if check.
3915 2015-03-06 10:54:43 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3917 * omx/gstomxaudiodec.c:
3918 omxaudiodec: impossible if statement
3919 ret is set to GST_STATE_CHANGE_SUCCESS and never touched, so it is impossible
3920 for it to be anything else at the if check. Remove it.
3923 2015-03-06 10:50:30 +0000 Luis de Bethencourt <luis.bg@samsung.com>
3925 * omx/gstomxaacdec.c:
3926 omxaudiodec: remove duplicate code path
3928 2014-12-19 11:19:55 +0200 George Kiagiadakis <george.kiagiadakis@collabora.com>
3931 omx: call handle_messages() only once in acquire_buffer() to avoid potential deadlock
3932 There is one rare case where calling handle_messages() more than once can cause a deadlock
3933 in the video decoder element:
3934 - sink pad thread starts the src pad task (gst_omx_video_dec_loop())
3935 - _video_dec_loop() calls gst_omx_port_acquire_buffer() on dec_out_port
3936 - blocks in gst_omx_component_wait_message() releasing comp->lock and comp->messages_lock
3937 (initially, there are no buffers configured on that port, so it waits for OMX_EventPortSettingsChanged)
3938 - the sink pad thread pushes a buffer to the decoder with gst_omx_port_release_buffer()
3939 - _release_buffer() grabs comp->lock and sends the buffer to OMX, which consumes it immediately
3940 - EmptyBufferDone gets called at this point, which signals _wait_message() to unblock
3941 - the message from EmptyBufferDone is processed in gst_omx_component_handle_messages()
3942 called from gst_omx_port_release_buffer()
3943 - gst_omx_port_release_buffer releases comp->lock
3944 - the src pad thread now gets to run, grabbing comp->lock while it exits from _wait_message()
3945 - _acquire_buffer() calls the _handle_messages() on the next line after _wait_message(),
3946 which does nothing (no pending messages)
3947 - then it goes to "retry:" and calls _handle_messages() again, which also does nothing
3948 (still no pending messages)
3949 - scheduler switches to a videocore thread that calls EventHandler, informing us about the
3950 OMX_EventPortSettingsChanged event that just arrived
3951 - EventHandler graps comp->messages_lock, but not comp->lock, so it can run in parallel at
3952 this point just fine.
3953 - scheduler switches back to the src pad thread (which is in the middle of _acquire_buffer())
3954 - the next _handle_messages() which is right before if (g_queue_is_empty (&port->pending_buffers))
3955 processes the OMX_EventPortSettingsChanged
3956 - the buffer queue is still empty, so that thread blocks again in _wait_message()
3957 - the sink pad thread tries to acquire the next input port buffer
3958 - _acquire_buffer() also blocks this thread in:
3959 if (comp->pending_reconfigure_outports) { ... _wait_message() ... }
3960 - DEADLOCK. gstreamer is waiting for omx to do something, omx waits for gstreamer to do something.
3961 By removing those extra _handle_messages() calls, we can ensure that all the checks of
3962 _acquire_buffer() will re-run. In the above case, after the scheduler switches back to
3963 the middle of _acquire_buffer(), the code will enter _wait_message(), which will see that
3964 there are pending messages and will return immediately, going back to "retry:" and
3965 re-doing all the checks properly.
3966 https://bugzilla.gnome.org/show_bug.cgi?id=741854
3968 2015-02-26 09:27:44 +0900 Wonchul Lee <chul0812@gmail.com>
3971 omx: cleanup code a bit to remove else statement
3972 https://bugzilla.gnome.org/show_bug.cgi?id=745191
3974 2015-01-12 16:13:35 +0100 Stefan Sauer <ensonic@users.sf.net>
3977 Automatic update of common submodule
3978 From f2c6b95 to bc76a8b
3980 2014-12-18 10:56:15 +0100 Sebastian Dröge <sebastian@centricular.com>
3983 Automatic update of common submodule
3984 From ef1ffdc to f2c6b95
3986 2014-11-27 17:12:42 +0100 Edward Hervey <bilboed@bilboed.com>
3989 Automatic update of common submodule
3990 From 7bb2bce to ef1ffdc
3992 2014-11-13 09:55:02 +0900 Jun Ji <jun.ji@lge.com>
3996 * omx/gstomxamrdec.c:
3997 * omx/gstomxamrdec.h:
3999 https://bugzilla.gnome.org/show_bug.cgi?id=739333
4001 2014-10-27 18:00:50 +0100 Sebastian Dröge <sebastian@centricular.com>
4004 Automatic update of common submodule
4005 From 84d06cd to 7bb2bce
4007 2014-10-21 13:03:44 +0100 Tim-Philipp Müller <tim@centricular.com>
4010 Automatic update of common submodule
4011 From a8c8939 to 84d06cd
4013 2014-10-21 13:00:10 +0200 Stefan Sauer <ensonic@users.sf.net>
4016 Automatic update of common submodule
4017 From 1f5d3c3 to a8c8939
4019 2014-09-30 10:47:20 +0300 Sebastian Dröge <sebastian@centricular.com>
4021 * omx/gstomxaudiodec.c:
4022 omxaudiodec: Clean up code a bit to get rid of useless NULL checks
4024 2014-09-30 10:50:07 +0900 junji <jun.ji@lge.com>
4026 * omx/gstomxaudiodec.c:
4027 omxaudiodec: Unmap input buffers after usage
4028 https://bugzilla.gnome.org/show_bug.cgi?id=736314
4030 2014-08-31 20:30:13 +0000 Michal Lazo <michal.lazo@mdragon.org>
4032 * omx/gstomxvideoenc.c:
4033 omxvideoenc: Setup aspect ratio on RPi
4034 Needs firmware from yesterday or newer to work with all possible
4035 aspect ratios. Before that it only supported a fixed list.
4036 https://bugzilla.gnome.org/show_bug.cgi?id=732533
4038 2014-08-28 10:44:31 +0300 Sebastian Dröge <sebastian@centricular.com>
4040 * omx/gstomxaudioenc.c:
4041 omxaudioenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
4043 2014-08-28 10:43:22 +0300 Sebastian Dröge <sebastian@centricular.com>
4045 * omx/gstomxaudioenc.c:
4046 omxaudioenc: Use the base class' open/close vfuncs instead of calling them ourselves
4048 2014-08-26 22:13:53 -0500 Peng Liu <pengliu.mail@gmail.com>
4050 * config/rpi/gstomx.conf:
4051 * omx/gstomxvideoenc.c:
4052 omxvideoenc: Implement the hack flag GST_OMX_HACK_NO_COMPONENT_RECONFIGURE
4053 Fix a video encoder stall problem on RPi when changing the aspect ratio.
4054 https://bugzilla.gnome.org/show_bug.cgi?id=732533
4056 2014-08-14 17:36:11 +0300 Sebastian Dröge <sebastian@centricular.com>
4058 * omx/gstomxaudiodec.c:
4059 * omx/gstomxaudiodec.h:
4060 * omx/gstomxaudioenc.c:
4061 * omx/gstomxaudioenc.h:
4062 * omx/gstomxvideodec.c:
4063 * omx/gstomxvideodec.h:
4064 * omx/gstomxvideoenc.c:
4065 * omx/gstomxvideoenc.h:
4066 omx: Let base classes handle EOS
4067 https://bugzilla.gnome.org//show_bug.cgi?id=734774
4069 2014-08-14 17:33:07 +0300 Sebastian Dröge <sebastian@centricular.com>
4071 * omx/gstomxaudiodec.c:
4072 omxaudiodec: Fix flushing logic and make it more similar to the video decoder
4074 === release 1.2.0 ===
4076 2014-07-23 11:28:12 +0200 Sebastian Dröge <sebastian@centricular.com>
4086 2014-07-22 09:23:00 +0200 Sebastian Dröge <sebastian@centricular.com>
4088 * config/bellagio/gstomx.conf:
4089 * config/rpi/gstomx.conf:
4090 config: Update ranks to PRIMARY+1 to have higher preference than avdec_*
4091 See https://bugzilla.gnome.org/show_bug.cgi?id=732161
4093 2014-07-20 17:46:30 +0200 Sebastian Dröge <sebastian@centricular.com>
4095 * omx/gstomxaudiosink.c:
4096 omxaudiosink: Set port to not flushing in prepare() and keep it at flushing in unprepare()
4097 https://bugzilla.gnome.org/show_bug.cgi?id=733168
4099 2014-07-13 22:15:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4101 * omx/gstomxaacdec.c:
4102 * omx/gstomxaudiodec.c:
4103 * omx/gstomxaudiodec.h:
4104 * omx/gstomxmp3dec.c:
4105 omxaudiodec: Implement setting of fallback channel positions
4107 2014-07-13 18:22:39 +0200 Sebastian Dröge <sebastian@centricular.com>
4111 * omx/gstomxaacdec.c:
4112 * omx/gstomxaacdec.h:
4113 * omx/gstomxmp3dec.c:
4114 omx: Add AAC audio decoder
4116 2014-07-02 09:22:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4118 * omx/gstomxaudiodec.c:
4119 omxaudiodec: Get PCM parameters from the out port, not the in port
4121 2014-05-15 13:24:39 +0200 Sebastian Dröge <sebastian@centricular.com>
4123 * omx/gstomxaudiodec.c:
4124 omxaudiodec: Implement hack for not disabling the output port after set_format until the output format is known
4125 Needed on some OMX implementations, e.g. the one from Atmel. It does
4126 not send the settings-changed event on the output port if it is
4129 2014-05-10 23:12:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4133 * omx/gstomxaudiodec.c:
4134 * omx/gstomxaudiodec.h:
4135 * omx/gstomxmp3dec.c:
4136 * omx/gstomxmp3dec.h:
4137 omx: Add audio decoder base class and a subclass for MP3
4139 2014-07-01 09:38:01 +0200 Sebastian Dröge <sebastian@centricular.com>
4143 omx: Link to gmodule-2.0-no-export for being able to use the g_module_*() API
4144 https://bugzilla.gnome.org/show_bug.cgi?id=732518
4146 2014-06-30 15:00:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4148 * examples/egl/testegl.c:
4149 examples: #define GST_USE_UNSTABLE_API for libgstgl
4151 2014-06-29 19:10:19 +0200 Sebastian Dröge <sebastian@centricular.com>
4153 * omx/gstomxh264enc.c:
4154 * omx/gstomxh264enc.h:
4155 omxh264enc: Properly accumulate headers and push before the next frame
4156 Fixes output of encoding on RPi, where each header buffer (SPS and PPS)
4157 is in a separate OMX buffer.
4158 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4160 2014-06-29 19:04:54 +0200 Sebastian Dröge <sebastian@centricular.com>
4162 * omx/gstomxvideoenc.c:
4163 omxvideoenc: Implement flush() instead of the deprecated reset()
4165 2014-06-25 17:14:18 +0200 Sebastian Dröge <sebastian@centricular.com>
4167 * config/rpi/gstomx.conf:
4168 rpi: It's 44100Hz, not 41400Hz
4170 2014-06-25 11:12:51 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4173 configure.ac: require gstgl >= 1.3.3
4175 2014-04-25 13:25:05 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4179 example: enable testegl
4180 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4182 2014-06-25 10:19:54 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4184 * examples/egl/testegl.c:
4185 testegl: do matrix mutlplication in the shader
4186 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4188 2014-06-25 09:36:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4190 * examples/egl/testegl.c:
4191 testegl: add a comment for the parse command
4192 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4194 2014-04-25 17:32:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4196 * examples/egl/Makefile.am:
4197 * examples/egl/cube_texture_and_coords.h:
4198 * examples/egl/testegl.c:
4199 testegl: convert code from GLESv1 to GLESv2
4200 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4202 2014-04-25 13:21:59 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4204 * examples/egl/Makefile.am:
4205 * examples/egl/testegl.c:
4206 testegl: port to gstgl API
4207 - append a glfilter just before fakesink
4208 So that we get gltexture or eglimages
4209 - propagate our EGLDisplay to the pipeline
4210 see GST_QUERY_CONTEXT
4211 - share our EGLContext with the iternal gl context
4212 of the pipeline, see GST_QUERY_ALLOCATION
4213 - use GstVideoGLTextureUploadMeta to upload
4214 the incoming gltexture or eglimage to our gl texture
4215 TODO: convert from GLESv1 to GLESv2
4216 See https://bugzilla.gnome.org/show_bug.cgi?id=728940
4218 2014-06-24 14:52:58 +0200 Sebastian Dröge <sebastian@centricular.com>
4220 * omx/gstomxbufferpool.c:
4221 * omx/gstomxbufferpool.h:
4222 * omx/gstomxvideodec.c:
4223 omxbufferpool: Copy buffers if the stride does not match and we can't use video meta
4224 https://bugzilla.gnome.org/show_bug.cgi?id=731672
4226 2014-06-24 14:52:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4230 * omx/gstomxvp8dec.h:
4231 omx: Only include OMX_VideoExt.h conditionally
4232 It does not exist on the RPi for example.
4234 2014-06-24 13:59:44 +0200 Sebastian Dröge <sebastian@centricular.com>
4237 configure.ac: Require GStreamer core/base >= 1.2.2
4238 Needed at least for gst_video_decoder_release_frame().
4240 2014-06-24 13:02:13 +0200 Sebastian Dröge <sebastian@centricular.com>
4242 * omx/gstomxbufferpool.c:
4243 omxbufferpool: Fix format string compiler warning
4245 2014-06-22 21:11:45 +0000 Michal Lazo <xlazom00@gmail.com>
4247 * omx/gstomxbufferpool.c:
4248 omxbufferpool: Initialize debug category
4250 2014-06-24 12:42:22 +0200 Sebastian Dröge <sebastian@centricular.com>
4252 * omx/gstomxbufferpool.c:
4253 omxbufferpool: Properly convert OMX alignment to GStreamer alignment
4254 GStreamer uses a bitmask for the alignment while OMX uses the
4255 alignment itself. Let's convert.
4256 https://bugzilla.gnome.org/show_bug.cgi?id=710564
4258 2014-06-24 11:11:28 +0200 Sebastian Dröge <sebastian@centricular.com>
4260 * omx/gstomxh264enc.c:
4261 omxh264enc: Don't let baseclass finish frames for SPS/PPS buffers
4262 Otherwise we a) send them twice, and b) finish a frame for something
4263 that does not even include a frame.
4264 https://bugzilla.gnome.org/show_bug.cgi?id=726669
4266 2014-06-24 10:22:37 +0200 Sebastian Dröge <sebastian@centricular.com>
4268 * omx/gstomxvideo.h:
4269 omxvideo: Include the separate headers too for compatibility with 1.0.x
4271 2014-03-24 16:09:40 +0800 Zhao, Halley <halley.zhao@intel.com>
4274 * omx/gstomxvp8dec.h:
4275 omxvp8dec: use VP8 definition from OMX_VideoExt.h
4276 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4278 2014-03-24 15:33:26 +0800 Zhao, Halley <halley.zhao@intel.com>
4281 configure: add --with-omx-header-path option for external omx headers
4282 https://bugzilla.gnome.org/show_bug.cgi?id=726957
4284 2014-06-18 23:04:33 +0200 Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>
4286 * omx/gstomxvideodec.c:
4287 omxvideodec: fix a query leak
4288 Also add a debug message if query fails.
4289 https://bugzilla.gnome.org/show_bug.cgi?id=731898
4291 2014-05-30 15:29:15 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4293 * omx/gstomxvideodec.c:
4294 omxvideodec: release frames with old PTS to avoid memory issue
4295 Interlaced stream could make the decoder use two input frames to produce
4296 one output frame causing the gstvideodecoder frame list to grow.
4297 Assuming the video decoder output frame in display order rather than in
4298 decoding order, this commit add a way to release frames with PTS less
4299 than current output frame.
4300 https://bugzilla.gnome.org/show_bug.cgi?id=730995
4302 2013-06-27 21:59:29 +0900 Kazunori Kobayashi <kkobayas@igel.co.jp>
4305 omx: Fix a missing g_free() in error path
4306 This fixes a memory leak with g_strdup() when an error occurs.
4307 https://bugzilla.gnome.org/show_bug.cgi?id=731141
4309 2014-06-02 15:34:09 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4311 * omx/gstomxvideodec.c:
4312 omxvideodec: add missing stream unlock in error path
4314 2014-05-31 15:12:05 +0200 Sebastian Dröge <sebastian@centricular.com>
4317 omx: Don't handle disabling/enabling ports exactly like flushing
4318 Otherwise we might abort a flush operation in another thread when
4319 enabling/disabling ports, leading to deadlocks sometimes.
4320 https://bugzilla.gnome.org/show_bug.cgi?id=730989
4322 2014-05-26 11:02:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4324 * omx/gstomxvideodec.c:
4325 omxvideodec: Don't leak buffer pool config in error cases
4328 2014-05-21 10:53:43 +0200 Sebastian Dröge <sebastian@centricular.com>
4331 Automatic update of common submodule
4332 From 211fa5f to 1f5d3c3
4334 2014-05-19 09:10:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4336 * omx/gstomxvideoenc.c:
4337 omxvideoenc: Don't forget to unref codec state
4340 2014-05-19 09:08:33 +0200 Sebastian Dröge <sebastian@centricular.com>
4342 * omx/gstomxvideodec.c:
4343 omxvideodec: Make output buffer pointer always initialized
4346 2014-05-19 09:06:42 +0200 Sebastian Dröge <sebastian@centricular.com>
4348 * omx/gstomxvideodec.c:
4349 omxvideodec: Check return value of gst_buffer_map()
4352 2014-05-19 09:04:09 +0200 Sebastian Dröge <sebastian@centricular.com>
4354 * omx/gstomxvideodec.c:
4355 omxvideodec: Check return value of gst_omx_port_set_enabled() for errors
4358 2014-05-19 09:01:46 +0200 Sebastian Dröge <sebastian@centricular.com>
4360 * omx/gstomxvideodec.c:
4361 omxvideodec: Check return values of buffer pool config parsing functions
4364 2014-05-19 08:48:50 +0200 Sebastian Dröge <sebastian@centricular.com>
4367 omx: Remove dead code, buf can never be NULL here as we just check for that the line above
4370 2014-05-19 08:47:36 +0200 Sebastian Dröge <sebastian@centricular.com>
4373 omx: Fix comparisons in gst_omx_state_to_string() case to actually make sense
4376 2014-05-19 08:45:10 +0200 Sebastian Dröge <sebastian@centricular.com>
4379 omx: Make sure to compare the error codes as unsigned integers so that comparisons >2**31 actually work
4382 2014-05-19 08:40:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4385 omx: Fix comparisons in gst_omx_command_to_string() default cause to actually work
4388 2014-05-15 13:22:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4390 * omx/gstomxaudioenc.c:
4391 omxaudioenc: Implement hack for not disabling the output port after set_format until the output format is known
4392 Needed on some OMX implementations, e.g. the one from Atmel. It does
4393 not send the settings-changed event on the output port if it is
4396 2014-05-15 13:21:07 +0200 Sebastian Dröge <sebastian@centricular.com>
4398 * omx/gstomxvideoenc.c:
4399 omxvideoenc: Implement hack for not disabling the output port after set_format until the output format is known
4400 Needed on some OMX implementations, e.g. the one from Atmel. It does
4401 not send the settings-changed event on the output port if it is
4404 2014-05-15 10:58:34 +0200 Sebastian Dröge <sebastian@centricular.com>
4408 * omx/gstomxvideodec.c:
4409 omx: Add a hack for not disabling the output port after set_format until the output format is known
4410 Needed on some OMX implementations, e.g. the one from Atmel. It does
4411 not send the settings-changed event on the output port if it is
4414 2014-05-12 12:33:32 +0200 Josep Torra <n770galaxy@gmail.com>
4416 * omx/gstomxaudiosink.c:
4417 omxaudiosink: implement _delay only in the RaspberryPI
4418 Make code implementation conditionally built for RaspberryPI because
4419 OMX_IndexConfigAudioRenderingLatency seems to be a Broadcom extension.
4420 On other targets the query position might not be accurate without
4421 implementing _delay appropriatelly.
4423 2014-05-12 08:56:15 +0200 Sebastian Dröge <sebastian@centricular.com>
4425 * omx/gstomxaudioenc.c:
4426 omxaudioenc: Correctly scale nTickCount by OMX_TICKS_PER_SECOND
4428 2014-05-10 22:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
4430 * omx/gstomxaudioenc.c:
4431 omxaudioenc: Drain encoder on NULL buffer and don't drain on flushing
4433 2014-05-10 22:47:56 +0200 Sebastian Dröge <sebastian@centricular.com>
4435 * omx/gstomxvideodec.c:
4436 omxvideodec: Set nTickCount based on the buffer's duration instead of something wrong
4438 2014-05-10 22:47:21 +0200 Sebastian Dröge <sebastian@centricular.com>
4440 * omx/gstomxvideoenc.c:
4441 omxvideoenc: Set nTickCount to the whole duration of the buffer instead of a wrong calculation
4443 2014-05-10 22:46:51 +0200 Sebastian Dröge <sebastian@centricular.com>
4445 * omx/gstomxaudiosink.c:
4446 omxaudiosink: Fix format string compiler warnings
4448 2014-04-04 14:11:58 +0200 Josep Torra <n770galaxy@gmail.com>
4450 * config/rpi/gstomx.conf:
4453 * omx/gstomxanalogaudiosink.c:
4454 * omx/gstomxanalogaudiosink.h:
4455 * omx/gstomxaudiosink.c:
4456 * omx/gstomxaudiosink.h:
4457 * omx/gstomxhdmiaudiosink.c:
4458 * omx/gstomxhdmiaudiosink.h:
4459 omxaudiosink: Implements OpenMAX based audio sinks
4460 Provides omxanalogaudiosink and omxhdmiaudiosink elements on
4462 - omxanalogaudiosink is capable to render raw mono or stereo audio
4463 through the jack output.
4464 - omxhdmiaudiosink is capable to render raw audio up to 8 channels
4465 and transmit ac3/dts(IEC 61937) through the HDMI output.
4466 - sinks provide a clock derived from rendered samples
4467 - sinks support the GstStreamVolume interface by implementing
4468 the volume and mute properties.
4469 https://bugzilla.gnome.org/show_bug.cgi?id=728962
4471 2014-05-03 10:17:35 +0200 Sebastian Dröge <sebastian@centricular.com>
4474 Automatic update of common submodule
4475 From bcb1518 to 211fa5f
4477 2014-04-29 15:16:16 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4479 * omx/gstomxvideodec.c:
4480 omxvideodec: can negotiate caps with memory:EGLImage feature when using EGLImage allocator
4481 Previously when using gst EGLImage allocator the caps was
4482 video/x-raw, format=RGBA instead of
4483 video/x-raw(memory:EGLImage), format=RGBA
4484 Kepp previous behavior in case negotiation fails with caps feature.
4485 It means it will still have a chance to use EGLImage even if the
4486 feature is not in the caps.
4487 https://bugzilla.gnome.org/show_bug.cgi?id=729196
4489 2014-04-23 09:57:48 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4491 * omx/gstomxvp8dec.h:
4492 omxvp8dec: fix typo in GST_TYPE_OMX_VP8_DEC define
4493 https://bugzilla.gnome.org/show_bug.cgi?id=728774
4495 2014-04-16 11:00:55 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4497 * omx/gstomxvideodec.c:
4498 omxvideodec: don't unref caps before logging field from it
4499 https://bugzilla.gnome.org/show_bug.cgi?id=728322
4501 2014-04-15 17:30:13 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4505 example: disable testegl since libgstegl has been removed
4506 As decided in bug #703343
4507 Not compatible with the new libgstgl API.
4508 A portage has been started, attachment 272800.
4509 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4511 2014-04-15 17:11:08 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4513 * omx/gstomxvideodec.c:
4514 omxvideodec: use new libgstgl API since libgstegl has been removed
4515 There is no point to retrieve a ref/unref type
4516 instead of an EGLDisplay directly. It's like for EGLImage.
4517 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4519 2014-04-15 17:06:38 +0100 Julien Isorce <julien.isorce@collabora.co.uk>
4522 * examples/Makefile.am:
4524 * omx/gstomxvideodec.c:
4525 configure.ac: check for libgstgl since libgstegl has been removed
4526 https://bugzilla.gnome.org/show_bug.cgi?id=703343
4528 2014-04-09 18:52:16 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4530 * omx/gstomxbufferpool.c:
4531 * omx/gstomxvideodec.c:
4532 omxvideodec: add support of more color format
4533 Add support for ABGR, ARGB, RGB16, BGR16, YUY2, UYVY, YVYU, GRAY8 and
4536 2014-04-09 18:51:57 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4538 * omx/gstomxvideodec.c:
4539 omxvideodec: simplify color format conversion in fill_buffer function
4541 2014-04-09 18:51:41 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4543 * omx/gstomxbufferpool.c:
4544 omxbufferpool: make video stride and offset calculation easier
4545 It will be easier to support more color format.
4547 2014-04-09 18:51:12 +0200 Aurélien Zanelli <aurelien.zanelli@parrot.com>
4549 * omx/gstomxvideo.c:
4550 * omx/gstomxvideo.h:
4551 * omx/gstomxvideodec.c:
4552 omx: add an helper to convert OMX color format to GStreamer color format
4554 2014-03-10 17:43:50 +0100 Josep Torra <n770galaxy@gmail.com>
4556 * examples/egl/testegl.c:
4557 * omx/gstomxvideodec.c:
4558 omxvideodec: Implement pipeline draining to support adaptive scenarios
4559 When draining due a format change also drain
4560 the pipeline to reclaim back all buffers.
4561 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4563 2014-03-27 13:57:32 +0100 Josep Torra <n770galaxy@gmail.com>
4565 * examples/egl/testegl.c:
4566 examples: fix several memory leaks in the testegl example
4567 Ensure to call to image_data_free in order to release GPU resources.
4568 Also ensure to destroy EGLImage and GLTexture from proper
4570 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4572 2014-03-25 17:16:31 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4574 * examples/egl/testegl.c:
4575 examples: keep a ref on the buffer instead of the memory
4577 https://bugzilla.gnome.org/show_bug.cgi?id=726107
4579 2014-03-07 20:08:05 +0100 Josep Torra <n770galaxy@gmail.com>
4581 * omx/gstomxvideodec.c:
4582 omxvideodec: fixes race condition during seeks
4583 Acording 6.1.3 Seek Event Sequence in the OpenMAX IL 1.1.2 spec
4584 document in order to flush the component it needs to be in
4586 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4588 2014-01-29 18:31:26 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4590 * omx/gstomxvideodec.c:
4591 omxvideodec: use flush because reset is deprecated
4592 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4594 2014-01-27 17:03:50 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4596 * omx/gstomxvideodec.c:
4597 omxvideodec: populate the most downstream output port on reset
4598 Make seeking work when using egl_render component
4599 https://bugzilla.gnome.org/show_bug.cgi?id=726038
4601 2014-03-24 17:49:59 +0100 Josep Torra <n770galaxy@gmail.com>
4603 * omx/gstomxbufferpool.c:
4604 omxbufferpool: return buffers to the pool instead of freeing them
4605 We have to return the buffers back to the pool in when stopping to
4606 not mess with the GstBufferPool accounting.
4607 The OMX buffers will be freed when those won't be in charge of the
4608 pool in the chained up call to 'stop'.
4609 Fixes segfaults on finalize and pool not being properly deactivated.
4610 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4612 2014-03-19 12:12:49 +0100 Christian König <christian.koenig@amd.com>
4614 * omx/gstomxvideodec.c:
4615 omxvideodec: add missing unlock in the error path
4616 Signed-off-by: Christian König <christian.koenig@amd.com>
4617 https://bugzilla.gnome.org/show_bug.cgi?id=726958
4619 2014-03-18 23:36:59 +0100 Michal Lazo <xlazom00@gmail.com>
4621 * omx/gstomxh264enc.c:
4622 * omx/gstomxh264enc.h:
4625 2014-03-17 09:57:11 +0000 Julien Isorce <julien.isorce@collabora.co.uk>
4627 * omx/gstomxbufferpool.c:
4628 omxbufferpool: fix memory leak if used on output port
4629 When using GstOMXBufferPool on an output port, it internally uses
4630 a GPtrArray to manage the GstBuffers instead of the default queue
4631 from the GstBufferPool base class.
4632 In this case GstBufferPool::default_free_buffer is not called when
4633 the pool is stopped. Because the queue is empty. So explicitely
4634 call gst_omx_buffer_pool_free_buffer on each buffer contained in
4636 https://bugzilla.gnome.org/show_bug.cgi?id=726337
4638 2014-03-16 17:32:05 +0100 Sebastian Dröge <sebastian@centricular.com>
4640 * omx/gstomxh264enc.c:
4641 omxh264enc: Fix compiler warnings
4643 2014-03-16 17:19:08 +0100 Michal Lazo <xlazom00@gmail.com>
4645 * omx/gstomxh264enc.c:
4646 * omx/gstomxh264enc.h:
4647 omxh264enc: IDR interval, SPS and PPS headers for rpi
4648 https://bugzilla.gnome.org/show_bug.cgi?id=720031
4650 2014-03-13 14:26:58 +0100 Christian König <christian.koenig@amd.com>
4654 * omx/gstomxvideo.c:
4655 omxvideo: fix debug category initialisation
4656 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4658 2014-03-13 19:04:47 +0100 Christian König <christian.koenig@amd.com>
4660 * omx/gstomxbufferpool.h:
4661 omxbufferpool: add proper type definitions
4662 https://bugzilla.gnome.org/show_bug.cgi?id=726325
4664 2014-03-02 10:30:04 +0100 Christian König <christian.koenig@amd.com>
4667 omx: consolidate message waiting code
4668 Add a wait_message helper function and remove all those duplicated code.
4669 https://bugzilla.gnome.org/show_bug.cgi?id=725493
4671 2014-03-12 12:48:12 +0100 Sebastian Dröge <sebastian@centricular.com>
4673 * omx/gstomxvideo.c:
4674 omx: Copy old copyright notice into the new file
4676 2014-03-12 12:47:34 +0100 Sebastian Dröge <sebastian@centricular.com>
4678 * omx/gstomxvideo.c:
4679 * omx/gstomxvideo.h:
4680 * omx/gstomxvideodec.c:
4681 * omx/gstomxvideoenc.c:
4682 omx: Rename function from _4_ to _for_ for clarity
4684 2014-03-03 16:15:24 +0100 Christian König <christian.koenig@amd.com>
4687 * omx/gstomxvideo.c:
4688 * omx/gstomxvideo.h:
4689 * omx/gstomxvideodec.c:
4690 * omx/gstomxvideoenc.c:
4691 omxvideo: start sharing more code between video decoder and encoder
4692 Identical functionality spread of two different components.
4693 We can't use a common base class because of different inheritance,
4694 but let's try to share the code anyway.
4695 https://bugzilla.gnome.org/show_bug.cgi?id=726024
4697 2014-03-12 12:43:49 +0100 Sebastian Dröge <sebastian@centricular.com>
4699 * examples/egl/Makefile.am:
4700 examples: Only build RPi EGL example if RPi was chosen as target
4702 2014-03-12 12:42:23 +0100 Sebastian Dröge <sebastian@centricular.com>
4704 * omx/gstomxbufferpool.h:
4705 omxbufferpool: Fix header include guard
4707 2014-03-05 11:41:02 +0100 Christian König <christian.koenig@amd.com>
4710 * omx/gstomxbufferpool.c:
4711 * omx/gstomxbufferpool.h:
4712 * omx/gstomxvideodec.c:
4713 omxvideodec: separate the buffer pool from the decoder
4714 https://bugzilla.gnome.org/show_bug.cgi?id=726025
4716 2014-03-04 17:41:20 +0100 Christian König <christian.koenig@amd.com>
4720 * omx/gstomxvideodec.c:
4721 omx: simplify tunnel functions
4722 Specifying the component is error prone and unnecessary.
4723 https://bugzilla.gnome.org/show_bug.cgi?id=726021
4725 2014-03-07 17:12:24 +0100 Christian König <christian.koenig@amd.com>
4727 * omx/gstomxvideodec.c:
4728 omxvideodec: fix memory leak in gst_omx_video_dec_allocate_output_buffers
4729 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4731 2014-03-07 13:18:49 +0100 Christian König <christian.koenig@amd.com>
4733 * omx/gstomxvideodec.c:
4734 omxvideodec: fix memory leak gst_omx_video_dec_negotiate
4735 https://bugzilla.gnome.org/show_bug.cgi?id=725907
4737 2014-03-05 18:54:05 +0100 Christian König <christian.koenig@amd.com>
4739 * omx/gstomxvideoenc.c:
4740 omxvideoenc: fix a memory leak in gst_omx_video_enc_getcaps
4741 https://bugzilla.gnome.org/show_bug.cgi?id=725826
4743 2014-03-05 17:43:33 +0100 Josep Torra <n770galaxy@gmail.com>
4746 Makefile.am: build examples
4747 There's no reason to not build the examples now that are ported to 1.x.
4749 2014-03-05 17:25:09 +0100 Josep Torra <n770galaxy@gmail.com>
4751 * examples/egl/testegl.c:
4752 examples: avoid a clashing name with the recently added GstEGLImagePool
4753 Fixes build with current master.
4755 2013-09-05 03:41:10 -0600 Christian König <christian.koenig@amd.com>
4757 * omx/gstomxvideoenc.c:
4758 omxvideoenc: simplify _find_nearest_frame
4759 Just the same as we did with the decoder. Also give the
4760 function a gst_omx_video_enc prefix to distinct it from
4761 the decoder function.
4762 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4764 2013-09-05 02:23:39 -0600 Christian König <christian.koenig@amd.com>
4766 * omx/gstomxvideodec.c:
4767 omxvideodec: simplify _find_nearest_frame
4768 No need to make it more complicated and error prone than
4769 necessary. Also give the function a gst_omx_video_dec prefix
4770 to distinct it from the encoder function.
4771 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4773 2013-09-05 02:05:52 -0600 Christian König <christian.koenig@amd.com>
4775 * omx/gstomxvideodec.c:
4776 omxvideodec: remove dead code
4777 This code doesn't seems to be used for quite a while,
4778 remove it before it starts to rot.
4779 https://bugzilla.gnome.org/show_bug.cgi?id=724236
4781 2014-03-01 22:28:24 +0100 Christian König <christian.koenig@amd.com>
4784 omx: fix two serious message handling bugs
4785 Waiting for the next message if we already got one
4786 is nonsense and can lead to lockups.
4787 https://bugzilla.gnome.org/show_bug.cgi?id=725468
4789 2014-03-01 18:49:41 +0100 Christian König <christian.koenig@amd.com>
4791 * omx/gstomxvideoenc.c:
4792 omxvideoenc: fix startup race condition
4793 The reset function shouldn't start the src pad
4794 loop if it wasn't started before.
4795 Signed-off-by: Christian König <christian.koenig@amd.com>
4797 2014-03-01 18:48:17 +0100 Christian König <christian.koenig@amd.com>
4799 * omx/gstomxvideodec.c:
4800 omxvideodec: fix startup race condition
4801 The reset function shouldn't start the src pad
4802 loop if it wasn't started before.
4803 Signed-off-by: Christian König <christian.koenig@amd.com>
4805 2014-02-28 09:36:13 +0100 Sebastian Dröge <sebastian@centricular.com>
4808 Automatic update of common submodule
4809 From fe1672e to bcb1518
4811 2014-02-26 22:15:00 +0100 Stefan Sauer <ensonic@users.sf.net>
4814 Automatic update of common submodule
4815 From 1a07da9 to fe1672e
4817 2014-01-30 10:45:18 +0100 Edward Hervey <bilboed@bilboed.com>
4820 Automatic update of common submodule
4821 From d48bed3 to 1a07da9
4823 2014-01-25 17:44:14 +0100 Sebastian Dröge <sebastian@centricular.com>
4825 * omx/gstomxaudioenc.c:
4826 * omx/gstomxvideodec.c:
4827 * omx/gstomxvideoenc.c:
4828 omx: Don't handle FLUSHING and NOT_LINKED as errors
4829 Also don't stop the task on NOT_LINKED. We're not a demuxer.
4831 2013-12-22 22:35:31 +0000 Tim-Philipp Müller <tim@centricular.com>
4834 Automatic update of common submodule
4835 From dbedaa0 to d48bed3
4837 2013-11-05 11:22:02 +0000 Tim-Philipp Müller <tim@centricular.com>
4840 Automatic update of common submodule
4841 From 865aa20 to dbedaa0
4843 2013-09-28 13:32:37 +0200 Josep Torra <n770galaxy@gmail.com>
4845 * examples/egl/testegl.c:
4846 examples: simplify the thread synchronization code
4847 Make everithing more simple and fix the races conditions remaining in
4848 the previous approaches.
4850 2013-09-25 19:17:17 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4852 * config/rpi/gstomx.conf:
4853 rpi: The WMV/VC1 decoder can only do WMV9 and VC1, no older versions
4855 2013-09-24 18:34:42 +0100 Tim-Philipp Müller <tim@centricular.net>
4858 Automatic update of common submodule
4859 From 6b03ba7 to 865aa20
4861 2013-09-24 18:48:24 +0200 Josep Torra <n770galaxy@gmail.com>
4863 * examples/egl/testegl.c:
4864 examples: fix another race condition
4865 Fix a race condition that caused randome deadlocks on EOS.
4867 2013-09-20 17:19:53 +0200 Josep Torra <n770galaxy@gmail.com>
4869 * config/rpi/gstomx.conf:
4870 rpi: fix a copy paste error in the config file
4872 2013-09-20 17:09:52 +0200 Josep Torra <n770galaxy@gmail.com>
4874 * examples/egl/testegl.c:
4875 examples: fix a race condition when seeking
4876 Fixes a race condition that caused pipeline deadlock during seeks.
4878 2013-09-20 10:38:12 +0200 Josep Torra <n770galaxy@gmail.com>
4880 * examples/egl/testegl.c:
4881 examples: display QoS statistics
4883 2013-09-20 09:34:37 +0200 Josep Torra <n770galaxy@gmail.com>
4885 * examples/egl/testegl.c:
4886 examples: use dedicated thread for rendering the scene
4887 Produces smother animation and prevents dropping frames due busy
4890 2013-09-20 08:25:21 +0200 Josep Torra <n770galaxy@gmail.com>
4892 * examples/egl/testegl.c:
4893 examples: don't force an specific audio sink
4894 Let playbin2 choose the audiosink available in the system.
4896 2013-09-20 08:19:48 +0200 Josep Torra <n770galaxy@gmail.com>
4898 * examples/egl/Makefile.am:
4899 examples: drop remnants of initial appsink attempt
4901 2013-09-20 16:18:18 +0200 Edward Hervey <edward@collabora.com>
4904 Automatic update of common submodule
4905 From b613661 to 6b03ba7
4907 2013-09-19 18:45:36 +0100 Tim-Philipp Müller <tim@centricular.net>
4910 Automatic update of common submodule
4911 From 74a6857 to b613661
4913 2013-09-19 17:38:30 +0100 Tim-Philipp Müller <tim@centricular.net>
4916 Automatic update of common submodule
4917 From 01a7a46 to 74a6857
4919 2013-08-20 16:00:07 +0100 Tim-Philipp Müller <tim@centricular.net>
4922 * omx/gstomxvideodec.c:
4923 omx: don't use the 'z' modifier to print size_t
4924 gcc will warn in some cases even if the size of the type
4925 is exactly that of size_t on the platform.
4926 https://bugzilla.gnome.org/show_bug.cgi?id=699008
4928 2013-07-01 15:48:47 +0200 Roman Arutyunyan <arutyunyan.roman@gmail.com>
4930 * omx/gstomxvideoenc.c:
4931 gstomxvideoenc: Set bitrate in setcaps
4932 Otherwise it gets lost whenever we configure new caps
4933 https://bugzilla.gnome.org/show_bug.cgi?id=698049
4935 2013-06-30 18:17:05 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4937 * examples/egl/testegl.c:
4938 examples: enable audio in testegl example
4940 2013-06-12 09:38:22 +0200 Sebastian Dröge <slomo@circular-chaos.org>
4943 configure: Allow build without gstreamer-egl
4945 2013-06-07 12:39:18 +0700 Ilya Smelykh <ilya@videoexpertsgroup.com>
4947 * examples/egl/Makefile.am:
4948 * examples/egl/testegl.c:
4949 examples: testegl example port to 1.x
4950 https://bugzilla.gnome.org/show_bug.cgi?id=701706
4952 2013-06-05 15:17:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4955 Automatic update of common submodule
4956 From 098c0d7 to 01a7a46
4958 2013-05-20 12:06:34 +0200 Josep Torra <n770galaxy@gmail.com>
4960 * omx/gstomxaudioenc.c:
4961 * omx/gstomxvideodec.c:
4962 * omx/gstomxvideoenc.c:
4963 omx: Take lock on EOS to update the flow return value
4964 Fixes "GThread-ERROR **: file gthread-posix.c: line 171
4965 (g_mutex_free_posix_impl): error 'Device or resource busy' during
4966 'pthread_mutex_destroy ((pthread_mutex_t *) mutex)'" in _finalize.
4968 2013-05-15 10:54:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4971 Automatic update of common submodule
4972 From 5edcd85 to 098c0d7
4974 2013-04-11 17:35:19 +0200 Josep Torra <n770galaxy@gmail.com>
4978 * examples/Makefile.am:
4979 * examples/egl/Makefile.am:
4980 * examples/egl/cube_texture_and_coords.h:
4981 * examples/egl/testegl.c:
4982 examples: add an example aplication based OpenGL ES + EGL
4983 Application that shows how to integrate playbin with an OpenGL ES
4984 scene through EGL. Renders a video on the surfaces of an animated cube.
4985 The code is not ported to 1.x so it's not built by default.
4987 2013-05-10 12:25:07 +0200 Josep Torra <n770galaxy@gmail.com>
4989 * omx/gstomxvideodec.c:
4990 omxvideodec: Redesign video size change reconfiguration code
4991 Ensure stop the decoder before clossing the tunnel.
4993 2013-05-06 16:25:27 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
4996 Makefile.am: Add -I common/m4
4997 This allows autoreconf to work correctly and automatic regeneration
4998 of autotools files if something changed.
5000 2013-05-06 19:03:59 +0530 jitendra <jvarshney20@gmail.com>
5004 * omx/gstomxaudioenc.c:
5005 * omx/gstomxvideodec.c:
5006 * omx/gstomxvideoenc.c:
5007 omx: Add pads based on element type
5008 This allows to later add sources and sink that only have a srcpad
5010 https://bugzilla.gnome.org/show_bug.cgi?id=699754
5012 2013-04-27 02:50:25 +0200 Carlos Rafael Giani <dv@pseudoterminal.org>
5015 omx: fixed type error in printf call
5017 https://bugzilla.gnome.org/show_bug.cgi?id=699008
5019 2013-04-08 17:26:16 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5023 * omx/gstomxvideodec.c:
5024 Check for gstreamer-egl
5025 And don't use if not available.
5026 https://bugzilla.gnome.org/show_bug.cgi?id=697574
5028 2013-04-23 09:53:18 +0100 Tim-Philipp Müller <tim@centricular.net>
5031 configure: error out if no OMX target has been set explicitly with --with-omx-target=x
5032 Avoids people building for e.g. the Raspberry Pi and then wondering
5033 why things don't work as expected (since structs are packed differently
5036 2013-04-22 23:55:03 +0100 Tim-Philipp Müller <tim@centricular.net>
5039 Automatic update of common submodule
5040 From 3cb3d3c to 5edcd85
5042 2013-04-18 22:07:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5045 * omx/gstomxaudioenc.c:
5046 * omx/gstomxh263enc.c:
5047 * omx/gstomxh264enc.c:
5048 * omx/gstomxmpeg4videoenc.c:
5049 * omx/gstomxvideodec.c:
5050 * omx/gstomxvideoenc.c:
5051 omx: more printf format fixes
5052 Fix printf formats again, so that gst-omx compiles warning-
5053 free on the Raspberry Pi as well. Unfortunately OMX_UINT32
5054 maybe be typedefed to uint32_t or unsigned long, which
5055 doesn't work well with our debugging printf format strings,
5056 so just use %u for those and cast to guint.
5058 2013-04-18 16:40:06 +0200 Josep Torra <n770galaxy@gmail.com>
5061 omx: fixes unused variable 'comp' when GStreamer is built without debug
5063 2013-04-18 16:03:56 +0200 Josep Torra <n770galaxy@gmail.com>
5065 * omx/gstomxvideodec.c:
5066 omxvideodec: don't use 'self->dec_out_port' anymore and use just 'port'
5067 Fixes some criticals.
5069 2013-04-18 15:21:32 +0200 Josep Torra <n770galaxy@gmail.com>
5071 * omx/gstomxvideodec.c:
5072 omxvideodec: fixes 'port' may be used uninitialized in this function
5074 2013-04-18 12:03:31 +0200 Josep Torra <n770galaxy@gmail.com>
5076 * omx/gstomxvideodec.c:
5077 omxvideodec: silence warnings building for RPI related to 'vcos_*'
5079 2013-04-18 11:19:52 +0200 Josep Torra <n770galaxy@gmail.com>
5081 * omx/gstomxvideodec.c:
5082 omxvideodec: Use new type from libgstvideo
5084 2013-04-16 14:50:49 +0530 jitendra <jvarshney20@gmail.com>
5086 * omx/gstomxaudioenc.c:
5087 * omx/gstomxvideodec.c:
5088 * omx/gstomxvideoenc.c:
5089 omx: Disable output port before transition to idle state
5090 https://bugzilla.gnome.org/show_bug.cgi?id=698109
5092 2012-10-24 12:19:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5095 gst: Add better support for static plugins
5097 2013-04-14 17:57:34 +0100 Tim-Philipp Müller <tim@centricular.net>
5100 Automatic update of common submodule
5101 From aed87ae to 3cb3d3c
5103 2013-04-12 17:58:30 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5106 configure: add --disable-fatal-warnings for disabling -Werror
5108 2013-04-09 21:02:09 +0200 Stefan Sauer <ensonic@users.sf.net>
5111 Automatic update of common submodule
5112 From 04c7a1e to aed87ae
5114 2013-04-08 17:02:32 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5117 * omx/gstomxaudioenc.c:
5118 * omx/gstomxh263enc.c:
5119 * omx/gstomxh264enc.c:
5120 * omx/gstomxmpeg4videoenc.c:
5121 * omx/gstomxvideodec.c:
5122 * omx/gstomxvideoenc.c:
5123 omx: fix printf formats in debug messages
5124 OMX_U32 is typedefed to an unsigned long,
5125 OMX_TICKS to a 64-bit integer.
5127 2013-04-08 16:52:19 +0200 Josep Torra <n770galaxy@gmail.com>
5129 * omx/gstomxvideodec.c:
5130 omxvideodec: use the correct printf format in a debug message
5132 2013-04-08 16:31:33 +0200 Josep Torra <n770galaxy@gmail.com>
5134 * omx/gstomxvideodec.c:
5135 omxvideodec: use the correct OMX_IndexParam value
5136 Fixes playback is not smooth in the EGL path.
5138 2013-04-05 13:45:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5140 * omx/gstomxvideodec.c:
5141 omxvideodec: Don't use API that is not in master yet
5142 It's not really needed here yet, will be needed in future versions
5144 2013-02-25 11:55:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5150 * omx/gstomxvideodec.c:
5151 * omx/gstomxvideodec.h:
5152 omxvideodec: Add support for egl_render on RPi
5154 2013-03-22 19:26:54 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5159 2013-03-22 19:23:14 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5161 * omx/gstomxh263enc.c:
5162 * omx/gstomxh264enc.c:
5163 * omx/gstomxmpeg4videoenc.c:
5164 omx: fix compiler warnings when compiling with -DG_DISABLE_ASSERT
5165 As we do for releases. Fixes 'variable may be used uninitialized'
5168 === release 1.0.0 ===
5170 2013-03-22 17:16:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5181 2013-03-19 16:40:09 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5183 * omx/gstomxtheoradec.h:
5184 * omx/gstomxvp8dec.h:
5185 omx: fix typo in copyright headers
5187 2013-03-19 13:46:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5189 * config/rpi/gstomx.conf:
5190 rpi: Fix commit that added the VC1 decoder
5192 2013-03-19 13:27:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5194 * config/rpi/gstomx.conf:
5195 * omx/gstomxh263dec.c:
5196 * omx/gstomxh264dec.c:
5197 * omx/gstomxmjpegdec.c:
5198 * omx/gstomxmpeg2videodec.c:
5199 * omx/gstomxmpeg4videodec.c:
5200 * omx/gstomxtheoradec.c:
5201 * omx/gstomxvideodec.c:
5202 * omx/gstomxvp8dec.c:
5203 * omx/gstomxwmvdec.c:
5204 omx: Add more constraints to the default sink template caps
5206 2013-03-19 13:10:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5208 * config/rpi/gstomx.conf:
5209 rpi: Add VC1/WMV3 decoder
5210 WMV2 and WMV1 (aka WMV 1-8) are not supported by RPi.
5212 2013-03-19 12:59:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5214 * config/rpi/gstomx.conf:
5215 rpi: Add MJPEG decoder
5217 2013-03-19 12:56:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5219 * config/rpi/gstomx.conf:
5220 rpi: Add VP8 decoder
5222 2013-03-19 12:55:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5224 * omx/gstomxvideodec.c:
5225 omxvideodec: Set ENDOFFRAME flag for the end of frames
5227 2013-03-19 12:28:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5229 * config/rpi/gstomx.conf:
5230 rpi: Add Theora decoder to the config
5232 2013-03-19 09:36:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5237 * omx/gstomxtheoradec.c:
5238 * omx/gstomxtheoradec.h:
5239 omx: Add Theora decoder
5241 2013-03-18 16:43:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5244 omx: Remove additional comma
5246 2013-03-18 16:34:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5248 * config/rpi/gstomx.conf:
5251 * omx/gstomxmpeg2dec.h:
5252 * omx/gstomxmpeg2videodec.c:
5253 * omx/gstomxmpeg2videodec.h:
5254 omx: Rename MPEG2 decoder for consistency everywhere
5256 2013-03-18 16:30:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5260 * omx/gstomxmjpegdec.c:
5261 * omx/gstomxmjpegdec.h:
5262 omx: Add MJPEG decoder support
5264 2013-03-18 16:06:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5269 * omx/gstomxvp8dec.c:
5270 * omx/gstomxvp8dec.h:
5271 omx: Add VP8 decoder support
5273 2013-03-18 15:44:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5275 * config/rpi/gstomx.conf:
5276 rpi: Add h263 decoder and rename MPEG2 decoder for consistency
5278 2013-03-16 13:20:27 +0000 Tim-Philipp Müller <tim@centricular.net>
5280 * omx/gstomxmpeg2dec.c:
5281 omxmpeg2dec: mpeg-2 decoder should be able to handle mpeg-1 too
5282 https://bugzilla.gnome.org/show_bug.cgi?id=695879
5284 2013-03-16 10:13:06 +0100 Josep Torra <n770galaxy@gmail.com>
5287 omx: minor stylistic change for consistency with other similar code
5289 2013-03-16 10:00:24 +0100 Josep Torra <n770galaxy@gmail.com>
5291 * omx/gstomxaudioenc.c:
5292 * omx/gstomxvideodec.c:
5293 * omx/gstomxvideoenc.c:
5294 omx: Clarify that loop task is also paused in EOS
5296 2013-03-16 09:59:01 +0100 Josep Torra <n770galaxy@gmail.com>
5298 * omx/gstomxvideoenc.c:
5299 omxvideoenec: Don't forget propagate flow return value upstream
5301 2013-03-15 13:16:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5304 omx: improve debug logging some more
5306 2013-03-15 14:09:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5308 * omx/gstomxvideodec.c:
5309 omxvideodec: Make sure that the first frame we pass to OpenMAX is a sync frame
5311 2013-03-15 11:46:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5313 * omx/gstomxaudioenc.c:
5314 * omx/gstomxvideodec.c:
5315 * omx/gstomxvideoenc.c:
5316 omx: Stop output port task after draining
5318 2013-03-15 10:58:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5321 omx: Reset EOS flag in more places
5323 2013-03-15 10:38:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5325 * omx/gstomxvideodec.c:
5326 omxvideodec: Deallocate output buffers with the right function
5328 2013-03-15 01:06:05 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5332 omx: log commands as strings
5333 Makes logs easier to read.
5335 2013-03-15 00:47:47 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5339 omx: log states as strings
5341 2013-03-15 00:28:02 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5345 omx: log component name in debug messages
5346 Useful when we have more different components
5347 active at the same time.
5349 2013-03-15 09:51:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5351 * omx/gstomxvideodec.c:
5352 omxvideodec: Don't interpolate timestamps
5353 We will get exactly one frame per input buffer and assigning
5354 timestamps between frames if more than one OMX buffer is required
5355 per frame easily confuses timestamp tracking in OMX.
5357 2013-03-15 09:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5359 * omx/gstomxvideodec.c:
5360 omxvideodec: Give the codec_data the timestamp of the first frame and no duration
5362 2013-03-14 17:31:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5364 * config/rpi/gstomx.conf:
5365 omx: The MPEG4 encoder is not available on RPi and probably never will
5367 2013-03-14 17:26:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5370 omx: Reset some more buffer fields as required
5372 2013-03-14 17:01:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5374 * config/rpi/gstomx.conf:
5376 omx: The hack to disable usage of EOS buffers is not necessary anymore on RPi
5378 2013-03-14 17:00:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5381 omx: Reset the flags for output ports when releasing a buffer, not for input ports
5383 2013-03-14 15:03:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5385 * omx/gstomxh263enc.c:
5386 * omx/gstomxh264enc.c:
5387 * omx/gstomxmpeg4videoenc.c:
5388 omx: Only unref caps after usage of its fields
5390 2013-03-14 14:51:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5392 * omx/gstomxvideodec.c:
5393 omxvideodec: Simplify bufferpool implementation
5395 2013-03-13 13:23:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5397 * omx/gstomxvideodec.c:
5398 omxvideodec: Improve min/max buffer counts handling
5400 2013-03-14 12:49:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5404 * omx/gstomxaudioenc.c:
5405 * omx/gstomxvideodec.c:
5406 * omx/gstomxvideoenc.c:
5407 omx: Handle the OMX_EventBufferFlag to detect EOS too
5409 2013-03-13 10:29:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5413 omx: Mark OpenMAX buffers as EGLImage if they contain one
5414 Needs special handling in some places, e.g. because nFilledLen
5417 2013-03-13 10:21:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5419 * omx/gstomxvideoenc.c:
5420 omxvideoenc: Properly check the nVersion field
5422 2013-03-13 09:34:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5424 * omx/gstomxvideoenc.c:
5425 omxvideoenc: RPi returns garbage for OMX_IndexParamVideoBitrate, work around that
5427 2013-03-12 20:02:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5429 * omx/gstomxvideodec.c:
5430 omxvideodec: Make sure to always get the right buffer
5432 2013-03-12 19:35:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5434 * omx/gstomxvideodec.c:
5435 omxvideodec: Make sure the buffer is released to the pool if it's not the one we wanted
5437 2013-03-12 19:17:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5439 * omx/gstomxvideodec.c:
5440 omxvideodec: Drop too late frames instead of finishing them
5442 2013-03-12 19:16:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5444 * omx/gstomxvideodec.c:
5445 omx: Release buffers to the correct port
5447 2013-03-13 09:37:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5450 omx: Always load the OpenMAX IL cores with G_MODULE_BIND_LOCAL
5452 2013-03-12 18:20:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5455 omx: Lazy-load symbols of libbcm_host.so
5456 It exports eglIntOpenMAXILDoneMarker(), which is also
5457 exported by libopenmaxil.so... but we need the version
5458 from libopenmaxil.so as the other one is just a stub.
5460 2013-03-11 13:59:15 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5462 * omx/gstomxaacenc.c:
5463 * omx/gstomxh263enc.c:
5464 * omx/gstomxmpeg4videoenc.c:
5465 omx: Don't set profile/level in other encoders if downstream caps don't specify any
5467 2013-03-11 13:49:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5469 * omx/gstomxh264enc.c:
5470 omxh264enc: If caps specify no profile/level use the component's defaults
5472 2013-03-11 13:45:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5474 * omx/gstomxvideoenc.c:
5475 omxvideoenc: Always allocate output buffers from the loop function
5477 2013-03-11 13:12:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5479 * omx/gstomxh264enc.c:
5480 omxh264enc: The h264 encoders are supposed to output byte-stream/au
5482 2013-03-11 11:47:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5484 * omx/gstomxvideoenc.c:
5485 omxvideoenc: Wait until the Executing state is reached before passing buffers to the component
5487 2013-03-11 10:39:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5489 * omx/gstomxvideodec.c:
5490 omxvideodec: Don't provide buffers to downstream
5491 This only works reliable if we have a way to tell downstream to
5492 release all our buffers for reconfiguration.
5494 2013-03-11 10:29:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5496 * omx/gstomxaudioenc.c:
5497 omxaudioenc: Disable output port when setting a new format
5499 2013-03-11 10:29:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5501 * omx/gstomxvideoenc.c:
5502 omxvideoenc: Disable output port when setting a new format
5504 2013-03-11 10:22:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5506 * omx/gstomxvideodec.c:
5507 omxvideodec: Disable output port when setting a new format
5508 Based on a patch by Josep Torra <n770galaxy@gmail.com>
5510 2013-03-11 10:04:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5512 * omx/gstomxaudioenc.c:
5513 * omx/gstomxvideodec.c:
5514 * omx/gstomxvideoenc.c:
5515 omx: Catch errors when releasing buffers to a port and handle them
5517 2013-03-10 12:09:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5519 * omx/gstomxvideoenc.c:
5520 omxvideoenc: Use the correct video codec state when filling an input buffer
5522 2013-03-10 12:05:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5524 * omx/gstomxvideoenc.c:
5525 omxvideoenc: Store correct input state
5527 2013-03-10 11:27:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5529 * omx/gstomxvideoenc.c:
5530 omxvideoenc: Allocate output buffers as early as possible
5532 2013-03-10 11:01:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5535 omx: Log unknown events
5537 2013-03-09 14:14:40 +0100 Josep Torra <n770galaxy@gmail.com>
5539 * omx/gstomxaudioenc.c:
5540 * omx/gstomxvideodec.c:
5541 * omx/gstomxvideoenc.c:
5542 omx: Fix deadlock in encoders and add explainatory comments.
5544 2013-03-09 13:27:08 +0100 Josep Torra <n770galaxy@gmail.com>
5546 * omx/gstomxvideodec.c:
5547 omxvideodec: fix printf format identifier
5549 2013-03-09 13:07:59 +0100 Josep Torra <n770galaxy@gmail.com>
5551 * omx/gstomxvideodec.c:
5552 omx: Minor changes on debuging info
5554 2013-03-09 13:00:33 +0100 Josep Torra <n770galaxy@gmail.com>
5556 * omx/gstomxvideodec.c:
5557 omxvideodec: avoid a deadlock
5559 2013-03-08 15:56:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5561 * omx/gstomxvideodec.c:
5562 omxvideodec: Don't forget to populate output port
5564 2013-03-08 15:11:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5566 * omx/gstomxaudioenc.c:
5567 * omx/gstomxvideodec.c:
5568 * omx/gstomxvideoenc.c:
5569 omx: Flush and stop srcpad when configuring new caps
5571 2013-03-07 17:40:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5573 * config/rpi/gstomx.conf:
5575 Revert "omx: use no-component-reconfigure hack on the Raspberry PI"
5576 This reverts commit e123b2089f69a413241f30a2428ea6edd8f231e7.
5577 It's not required anymore after the fix from the last commit.
5579 2013-03-07 17:38:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5581 * omx/gstomxvideodec.c:
5582 omxvideodec: Only negotiate a color format with downstream on the initial caps
5584 2013-03-07 17:29:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5586 * omx/gstomxvideodec.c:
5587 omxvideodec: Make sure the output port is disabled while we allocate buffers
5589 2013-03-07 17:27:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5592 omx: Also wait for disabled output ports to be reconfigured
5594 2013-03-07 14:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5596 * omx/gstomxvideodec.c:
5597 * omx/gstomxvideodec.h:
5598 omxvideodec: Add buffer pool for sharing OpenMAX memory with downstream
5600 2013-03-07 11:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5604 * omx/gstomxaudioenc.c:
5605 * omx/gstomxvideodec.c:
5606 * omx/gstomxvideoenc.c:
5607 omx: Add timeout to the flush operation and move buffer populating to a separate function
5609 2013-03-06 17:33:23 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5611 * config/rpi/gstomx.conf:
5614 omx: Remove min buffer count hack for RPi again
5615 It's not necessary anymore
5617 2013-03-06 17:05:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5621 * omx/gstomxaudioenc.c:
5622 * omx/gstomxvideodec.c:
5623 * omx/gstomxvideoenc.c:
5624 omx: Do number of buffers configuration explicitely
5626 2013-03-07 11:24:54 +0100 Josep Torra <n770galaxy@gmail.com>
5628 * omx/gstomxvideodec.c:
5629 omxvideodec: fixes reconfiguration
5630 Avoid having fixed fields from previous caps on reconfiguration.
5632 2013-03-07 11:02:39 +0100 Josep Torra <n770galaxy@gmail.com>
5634 * config/rpi/gstomx.conf:
5636 omx: use no-component-reconfigure hack on the Raspberry PI
5638 2013-03-07 00:03:28 +0000 Tim-Philipp Müller <tim@centricular.net>
5641 Automatic update of common submodule
5642 From 2de221c to 04c7a1e
5644 2013-03-01 15:32:47 +0100 Josep Torra <n770galaxy@gmail.com>
5646 * omx/gstomxvideoenc.h:
5647 omxvideoenc: drop unused data member
5649 2013-03-01 12:23:54 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5651 * omx/gstomxh263enc.c:
5652 * omx/gstomxh264enc.c:
5653 * omx/gstomxmpeg4videoenc.c:
5654 omxvideoenc: And set it actually on the right port
5656 2013-03-01 12:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5658 * omx/gstomxh263enc.c:
5659 * omx/gstomxh264enc.c:
5660 * omx/gstomxmpeg4videoenc.c:
5661 omxvideoenc: Set the coding type in the subclasses to the specific codec
5663 2013-03-01 11:49:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5665 * omx/gstomxvideoenc.c:
5666 omxvideoenc: gst_omx_port_update_port_definition() returns a OMX_ERRORTYPE, not a gboolean
5668 2013-03-01 11:44:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5670 * omx/gstomxvideodec.c:
5671 * omx/gstomxvideoenc.c:
5672 omxvideo{dec,enc}: Don't use the input state if it wasn't set yet
5674 2013-03-01 11:25:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5676 * omx/gstomxaudioenc.c:
5677 omxaudioenc: Only enable the output port after we know the output format
5679 2013-03-01 11:24:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5681 * omx/gstomxvideoenc.c:
5682 omxvideoenc: Only enable the output port after we know the output format
5684 2013-02-28 17:02:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5686 * omx/gstomxvideodec.c:
5687 omxvideodec: Only enable the output port after we know the output format
5689 2013-03-01 11:18:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5693 omx: Handle errors more gracefully
5695 2013-02-28 15:48:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5699 * omx/gstomxaudioenc.c:
5700 * omx/gstomxh263dec.c:
5701 * omx/gstomxh264dec.c:
5702 * omx/gstomxmpeg2dec.c:
5703 * omx/gstomxmpeg4videodec.c:
5704 * omx/gstomxvideodec.c:
5705 * omx/gstomxwmvdec.c:
5706 omx: Return the OMX_ERRORTYPE from gst_omx_port_update_port_definition
5708 2013-02-28 15:37:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5711 omx: Return port definition update errors
5713 2013-02-28 13:57:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5715 * config/rpi/gstomx.conf:
5718 omx: Add hack for RPi for the minimum number of buffers required for a port
5719 The value in the port definition is invalid and the initial actual
5720 buffer count should be used.
5722 2013-02-28 13:26:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5725 omx: Always tell the component about the right number of buffers that we're going to allocate
5727 2013-02-28 13:07:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5730 omx: Invert assertion to let it express what was intended
5732 2013-02-28 11:19:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5736 * omx/gstomxaudioenc.c:
5737 * omx/gstomxvideodec.c:
5738 * omx/gstomxvideoenc.c:
5739 omx: Add API for allocating a specific number of buffers and using EGLImages or buffers allocated elsewhere
5741 2013-02-27 16:55:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5743 * omx/gstomxaudioenc.c:
5744 * omx/gstomxvideodec.c:
5745 * omx/gstomxvideoenc.c:
5746 omx: Refactor code flow a bit if output port settings have changed
5748 2013-02-27 15:49:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5752 * omx/gstomxaudioenc.c:
5753 * omx/gstomxvideodec.c:
5754 * omx/gstomxvideoenc.c:
5755 omx: Clean up port settings change handling
5757 2013-02-27 11:30:14 +0100 Josep Torra <n770galaxy@gmail.com>
5759 * omx/gstomxvideodec.c:
5760 omxvideodec: initialize param structure before using it
5762 2013-02-27 10:21:39 +0100 Josep Torra <n770galaxy@gmail.com>
5764 * omx/gstomxvideoenc.c:
5765 omxvideoenc: prevent a NULL pointer access
5767 2013-02-26 17:25:49 +0100 Josep Torra <n770galaxy@gmail.com>
5769 * omx/gstomxvideodec.c:
5770 omxvideodec: prevent a NULL pointer access
5772 2013-02-25 13:11:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5775 omx: Fix deadlock during reconfiguration
5777 2013-02-25 12:38:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5780 * omx/gstomxaudioenc.c:
5781 * omx/gstomxvideodec.c:
5782 * omx/gstomxvideoenc.c:
5783 omx: Auto-detect the port indizes if possible
5785 2013-02-25 11:42:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5787 * omx/gstomxvideodec.c:
5788 * omx/gstomxvideoenc.c:
5789 omx: Refactor querying of component supported caps into its own function
5791 2013-02-25 10:41:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5795 * omx/gstomxaudioenc.c:
5796 * omx/gstomxvideodec.c:
5797 * omx/gstomxvideoenc.c:
5798 omx: Refactor waiting for buffers to be released by the component to a separate function
5800 2013-01-11 17:44:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5804 omx: Add methods to set up and close a tunnel between components
5806 2013-02-25 09:15:53 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5808 * omx/gstomxaacenc.c:
5809 * omx/gstomxaudioenc.c:
5810 * omx/gstomxaudioenc.h:
5811 omxaudioenc: Rename component variable
5813 2013-02-25 09:15:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5815 * omx/gstomxh263enc.c:
5816 * omx/gstomxh264enc.c:
5817 * omx/gstomxmpeg4videoenc.c:
5818 * omx/gstomxvideoenc.c:
5819 * omx/gstomxvideoenc.h:
5820 omxvideoenc: Rename component variable
5822 2013-02-25 09:12:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5824 * omx/gstomxvideodec.c:
5825 * omx/gstomxvideodec.h:
5826 omxvideodec: Rename component variable
5828 2013-02-22 16:27:33 +0100 Josep Torra <n770galaxy@gmail.com>
5830 * omx/gstomxvideoenc.c:
5831 omxvideoenc: remove duplicated line
5833 2013-02-22 10:42:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5836 Retry loading libbcm_host.so without an absolute path if that failed
5838 2013-02-21 20:32:42 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5840 * config/bellagio/Makefile.am:
5841 Add missing file from last commit
5843 2013-02-21 11:01:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5845 * config/Makefile.am:
5846 * config/bellagio/gstomx.conf:
5849 Add OpenMAX IL target for Bellagio
5850 Not tested since a very long time though.
5852 2013-02-21 10:59:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5856 Allow using external OpenMAX IL headers
5858 2013-02-21 10:14:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5863 2013-02-21 10:13:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5865 * config/Makefile.am:
5866 * config/rpi/Makefile.am:
5867 * config/rpi/gstomx.conf:
5869 Install the RPI config when the RPI target is selected
5871 2013-02-21 10:08:07 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5874 Set default hacks for the RPI target and always initialize bcm_host
5876 2013-02-21 10:05:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5879 Add configure parameter for setting the OpenMAX IL target
5881 2013-02-12 11:55:39 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5884 omx: Add FIXME for the future
5886 2013-02-12 11:49:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5890 * omx/gstomxaudioenc.c:
5891 * omx/gstomxaudioenc.h:
5892 * omx/gstomxvideodec.c:
5893 * omx/gstomxvideodec.h:
5894 * omx/gstomxvideoenc.c:
5895 * omx/gstomxvideoenc.h:
5896 omx: Some minor refactoring and cleanup
5898 2013-02-12 11:45:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5901 omx: Don't access the port's buffers array if it wasn't allocated yet
5903 2013-02-12 11:44:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5906 omx: Mark an array as const
5908 2013-02-12 11:41:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5912 * omx/gstomxaudioenc.c:
5913 * omx/gstomxvideodec.c:
5914 * omx/gstomxvideoenc.c:
5915 omx: Split enabling/disabling of port into sending the command and waiting for it
5916 This allows to do anything necessary after sending the command to actually let it finish
5918 2013-02-12 11:37:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5921 omx: Flushing is also allowed in Paused state
5923 2013-02-12 11:28:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5925 * omx/gstomxvideoenc.c:
5926 omxvideoenc: Set stride, slice height and buffer size
5928 2013-02-12 11:09:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5930 * config/raspberry-pi.conf:
5931 config: Add h264 and mpeg2 encoders to the raspberry pi config
5932 Not completely working yet though.
5934 2013-02-12 11:03:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5936 * omx/gstomxvideoenc.c:
5937 omxvideoenc: Properly negotiate OMX color format with the component
5939 2013-02-12 10:53:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5941 * omx/gstomxvideoenc.c:
5942 omxvideoenc: Implement getcaps() vfunc
5944 2013-01-29 21:32:53 +0000 Tim-Philipp Müller <tim@centricular.net>
5947 configure: use 1.0 gstconfig.h to detect disabled subsystems
5948 Update unused configure check for GStreamer core subsystem
5949 features from 0.10 to 1.0.
5951 2013-01-28 20:44:41 +0100 Stefan Sauer <ensonic@users.sf.net>
5954 Automatic update of common submodule
5955 From a942293 to 2de221c
5957 2013-01-24 14:02:36 +0100 Julian Scheel <julian@jusst.de>
5959 * config/raspberry-pi.conf:
5962 * omx/gstomxmpeg2dec.c:
5963 * omx/gstomxmpeg2dec.h:
5964 omx: add mpeg2 video decoder
5965 This adds a decoder class for mpeg2, as well as an extended
5966 configuration for raspberry pi.
5967 https://bugzilla.gnome.org/show_bug.cgi?id=692446
5968 Signed-off-by: Julian Scheel <julian@jusst.de>
5970 2013-01-18 16:47:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5973 omx: Minimize the time when the messages lock is held
5974 Fixes a deadlock if any OMX functions are called when the
5975 messages are handled.
5976 Thanks to Nicolas Dufresne for noticing.
5978 2013-01-18 15:28:20 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5981 omx: improve debug message when we can't find the config file
5982 Mention where we looked for the config file.
5984 2013-01-18 12:34:38 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
5987 build: fix autogen.sh with automake 1.13
5988 AM_CONFIG_HEADER -> AC_CONFIG_HEADERS
5990 2013-01-17 18:07:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
5993 * omx/gstomxaudioenc.h:
5994 * omx/gstomxvideodec.h:
5995 * omx/gstomxvideoenc.h:
5996 omx: Fix includes to properly work with the 1.0 releases
5998 2013-01-15 15:08:28 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6001 Automatic update of common submodule
6002 From a72faea to a942293
6004 2013-01-15 14:34:45 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6007 omx: Update port definition when changing some port setting
6009 2013-01-14 11:41:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6013 omx: Rename from libgstopenmax.so to ligstomx.so for consistency
6015 2013-01-11 15:32:22 +0000 Nicolas Dufresne <nicolas.dufresne@collabora.com>
6018 omx: Add a method to send message
6020 2013-01-11 15:44:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6024 omx: Atomic ops are not required anymore for the reconfiguration
6026 2013-01-11 12:52:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6028 * omx/gstomxaudioenc.c:
6029 * omx/gstomxvideodec.c:
6030 * omx/gstomxvideoenc.c:
6031 omx: Fix some memory leaks and suboptimal locking
6033 2013-01-11 12:34:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6035 * omx/gstomxvideoenc.c:
6036 omxvideoenc: Don't forget to unmap frame in error cases
6038 2013-01-11 12:29:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6040 * omx/gstomxvideoenc.c:
6041 omxvideoenc: Fix copying of the video frames to the OMX buffers
6043 2013-01-11 12:24:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6045 * omx/gstomxvideodec.c:
6046 omxvideodec: Fix copying of the video frames from the OMX buffers
6048 2013-01-10 14:44:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6053 * omx/gstomxaudioenc.c:
6054 * omx/gstomxrecmutex.c:
6055 * omx/gstomxrecmutex.h:
6056 omx: Implement new approach for locking that should solve all deadlocks on RPi
6057 No mutex is locked while calling any OpenMAX functions anymore
6058 and everything from the OpenMAX callbacks is inserted into a message
6059 queue and handled from outside the callbacks.
6060 Also there's only a single mutex and condition variable per component
6061 now for handling anything from OpenMAX callbacks and a single mutex
6062 for keeping our component/port state sane.
6064 2012-12-20 19:30:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6066 * omx/gstomxvideodec.c:
6067 omxvideodec: Set the OMX buffer nFilledLength field properly
6069 2012-12-20 18:48:21 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6071 * omx/gstomxrecmutex.c:
6072 * omx/gstomxrecmutex.h:
6073 omxrecmutex: Fix another race condition when two threads are trying to lock for recursion at the same time
6075 2012-12-20 18:16:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6077 * omx/gstomxrecmutex.c:
6078 * omx/gstomxrecmutex.h:
6079 omxrecmutex: Fix yet another race condition that resulted in deadlocks
6081 2012-12-20 17:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6084 * omx/gstomxrecmutex.c:
6085 * omx/gstomxrecmutex.h:
6086 omx: Fix another race condition in the recursive mutex
6087 Between lock() and begin_recursion() it was possible for another thread to
6088 try to do a recursive_lock(). This would block because the mutex was already
6089 locked(), but not ready for recursive locking yet. unlock() would never
6090 happen in the original thread because it was waiting for the other thread
6092 Happened on the Raspberry Pi.
6094 2012-12-20 14:45:18 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6096 * omx/gstomxrecmutex.c:
6097 * omx/gstomxrecmutex.h:
6098 omxrecmutex: Fix a small race condition when unlocking a non-recursive lock
6100 2012-12-20 12:30:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6102 * omx/gstomxaudioenc.c:
6103 * omx/gstomxvideodec.c:
6104 * omx/gstomxvideoenc.c:
6105 omx: Fix ununsed variable compiler warning
6107 2012-12-20 12:27:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6109 * omx/gstomxaudioenc.c:
6110 * omx/gstomxvideodec.c:
6111 * omx/gstomxvideoenc.c:
6112 omx: No need to start the srcpad task in ::start() already
6113 It will be started properly after the caps are set.
6115 2012-12-20 12:23:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6117 * omx/gstomxvideodec.c:
6118 omxvideodec: OMX_ErrorNoMore is no error and just means we ended iteration
6120 2012-12-20 12:20:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6122 * omx/gstomxaudioenc.c:
6123 * omx/gstomxvideodec.c:
6124 * omx/gstomxvideoenc.c:
6125 omx: Improve debug output
6127 2012-12-20 12:02:30 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6129 * omx/gstomxvideodec.c:
6130 omxvideodec: Don't forget to free a GList
6132 2012-12-20 11:56:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6134 * omx/gstomxvideodec.c:
6135 omxvideodec: Map OMX_COLOR_FormatYUV420PackedPlanar to I420 too
6136 This is used on the Raspberry Pi.
6138 2012-12-20 11:55:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6140 * omx/gstomxvideodec.c:
6141 omxvideodec: During negotiation of the output format make sure we use the correct OpenMAX format
6143 2012-12-20 11:42:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6145 * omx/gstomxvideodec.c:
6146 omxvideodec: If negotiation fails this could also mean that the component can't do it at this point yet
6148 2012-12-20 11:40:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6150 * omx/gstomxvideodec.c:
6151 omxvideodec: Improve format negotiation a bit
6152 Don't leak caps and make sure to fixate caps.
6154 2012-12-19 13:05:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6157 omx: Also initialize nStep field of the OMX structures
6159 2012-12-19 13:03:37 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6162 omx: Initialize struct version with the OMX version we compiled with
6164 2012-12-19 12:44:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6166 * omx/gstomxvideodec.c:
6167 omxvideodec: Extract data from the input buffer, not the codec data
6169 2012-12-19 12:19:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6172 * tools/listcomponents.c:
6173 omx: Use has_suffix() instead of has_prefix() for the Broadcom hack
6175 2012-12-19 12:08:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6179 * tools/Makefile.am:
6180 * tools/listcomponents.c:
6181 tools: Add tool to list all components and their roles
6183 2012-12-19 11:31:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6186 omx: Add hack to load and initialize libbcm_host.so
6187 Needed on the Raspberry Pi. Patch based on a patch by
6188 George Kiagiadakis <george.kiagiadakis@collabora.com>
6190 2012-12-19 11:22:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6194 configure: Add configure option to pack OpenMAX structures
6195 This is required to set to 4 for the Raspberry Pi for example.
6197 2012-12-19 11:07:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6200 configure: Require GStreamer 1.0.0
6202 2012-04-20 17:13:52 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6205 omx: Initialize structures to version 1.1.2
6207 2012-12-19 09:51:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6210 * config/Makefile.am:
6211 * config/raspberry-pi.conf:
6213 config: Add raspberry-pi configuration in a different directory
6215 2012-05-20 20:11:59 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6217 * omx/gstomx-raspberry.conf:
6218 raspberry: Add a gstomx.conf for the Raspberry Pi
6220 2012-12-12 17:45:39 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6223 * omx/gstomxvideoenc.h:
6224 omx: Fix some compilation errors caused by circular includes
6226 2012-11-19 11:29:44 +0000 Tim-Philipp Müller <tim@centricular.net>
6229 Automatic update of common submodule
6230 From 6bb6951 to a72faea
6232 2012-11-12 15:14:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6234 * omx/gstomxvideodec.c:
6235 * omx/gstomxvideoenc.c:
6236 omx: Fix refcount problem with frames being dropped because of decoder bugs
6238 2012-11-12 11:29:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6242 * omx/gstomxaudioenc.c:
6243 * omx/gstomxaudioenc.h:
6244 * omx/gstomxrecmutex.c:
6245 * omx/gstomxrecmutex.h:
6246 * omx/gstomxvideodec.c:
6247 * omx/gstomxvideodec.h:
6248 * omx/gstomxvideoenc.c:
6249 * omx/gstomxvideoenc.h:
6250 omx: Update to new GLib thread API
6252 2012-10-22 14:34:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6254 * omx/gstomxvideodec.c:
6255 * omx/gstomxvideoenc.c:
6256 omx: Use open/close vfuncs
6258 2012-10-22 14:28:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6260 * omx/gstomxvideodec.c:
6261 * omx/gstomxvideoenc.c:
6262 omx: Handle video meta correctly
6264 2012-06-20 13:11:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6267 * omx/gstbasevideocodec.c:
6268 * omx/gstbasevideocodec.h:
6269 * omx/gstbasevideodecoder.c:
6270 * omx/gstbasevideodecoder.h:
6271 * omx/gstbasevideoencoder.c:
6272 * omx/gstbasevideoencoder.h:
6273 * omx/gstbasevideoutils.c:
6274 * omx/gstbasevideoutils.h:
6275 * omx/gstomxh263dec.c:
6276 * omx/gstomxh263enc.c:
6277 * omx/gstomxh264dec.c:
6278 * omx/gstomxh264enc.c:
6279 * omx/gstomxmpeg4videodec.c:
6280 * omx/gstomxmpeg4videoenc.c:
6281 * omx/gstomxvideodec.c:
6282 * omx/gstomxvideodec.h:
6283 * omx/gstomxvideoenc.c:
6284 * omx/gstomxvideoenc.h:
6285 * omx/gstomxwmvdec.c:
6286 omx: Port to video base classes from -base
6288 2012-10-17 17:57:43 +0100 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6290 * omx/gstomxaacenc.c:
6291 * omx/gstomxh263dec.c:
6292 * omx/gstomxh263enc.c:
6293 * omx/gstomxh264dec.c:
6294 * omx/gstomxh264enc.c:
6295 * omx/gstomxmpeg4videodec.c:
6296 * omx/gstomxmpeg4videoenc.c:
6297 * omx/gstomxwmvdec.c:
6298 omx: gst_element_class_set_details_simple() -> set_static_metadata()
6300 2012-10-06 15:01:11 +0100 Tim-Philipp Müller <tim@centricular.net>
6303 Automatic update of common submodule
6304 From 6c0b52c to 6bb6951
6306 2012-09-22 16:10:38 +0100 Tim-Philipp Müller <tim@centricular.net>
6309 Automatic update of common submodule
6310 From 4f962f7 to 6c0b52c
6312 2012-06-21 20:22:13 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6315 omx: fix debug statement
6317 2012-06-21 20:21:03 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6320 omx: use recursive_lock inside set_last_error(), since this function may be called from an event handler
6322 2012-08-22 13:31:59 +0200 Stefan Sauer <ensonic@users.sf.net>
6325 Automatic update of common submodule
6326 From 668acee to 4f962f7
6328 2012-08-05 16:42:43 +0100 Tim-Philipp Müller <tim@centricular.net>
6331 Automatic update of common submodule
6332 From 94ccf4c to 668acee
6334 2012-08-03 19:32:13 +0100 Tim-Philipp Müller <tim@centricular.net>
6337 omx: fix plugin name for new GST_PLUGIN_DEFINE API
6339 2012-07-23 08:47:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6342 Automatic update of common submodule
6343 From 98e386f to 94ccf4c
6345 2012-07-10 09:57:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6347 * omx/gstbasevideodecoder.c:
6348 omx: Update for allocation query API changes
6350 2012-06-20 11:09:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6352 * omx/gstomxaudioenc.c:
6353 * omx/gstomxvideodec.c:
6354 * omx/gstomxvideoenc.c:
6355 omx: Fix compilation after gst_pad_start_task() API changes
6357 2012-06-08 15:06:35 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6360 Automatic update of common submodule
6361 From 03a0e57 to 98e386f
6363 2012-06-06 18:20:18 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6366 Automatic update of common submodule
6367 From 1fab359 to 03a0e57
6369 2012-06-01 10:30:27 +0200 Edward Hervey <edward.hervey@collabora.co.uk>
6372 Automatic update of common submodule
6373 From f1b5a96 to 1fab359
6375 2012-05-31 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6378 Automatic update of common submodule
6379 From 92b7266 to f1b5a96
6381 2012-05-30 12:47:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6384 Automatic update of common submodule
6385 From ec1c4a8 to 92b7266
6387 2012-05-30 11:26:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6390 Automatic update of common submodule
6391 From 3429ba6 to ec1c4a8
6393 2012-05-13 15:58:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6396 Automatic update of common submodule
6397 From dc70203 to 3429ba6
6399 2012-05-08 16:13:32 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6402 omx: Fix spelling mistake found by lintian: s/Seperate/Separate/
6404 2012-04-30 23:58:43 +0300 George Kiagiadakis <george.kiagiadakis@collabora.com>
6409 * omx/gstomxaudioenc.c:
6410 * omx/gstomxrecmutex.c:
6411 * omx/gstomxrecmutex.h:
6412 * omx/gstomxvideodec.c:
6413 * omx/gstomxvideoenc.c:
6414 Implement a new custom recursive mutex type and fix locking in callbacks so that in-context calls are allowed.
6415 According to the OMX specification, implementations are allowed to call
6416 callbacks in the context of their function calls. However, our callbacks
6417 take locks and this causes deadlocks if the unerlying OMX implementation
6418 uses this kind of in-context calls.
6419 A solution to the problem would be a recursive mutex. However, a normal
6420 recursive mutex does not fix the problem because it is not guaranteed
6421 that the callbacks are called from the same thread. What we see in Broadcom's
6422 implementation for example is:
6424 - OMX_Foo waits on a condition
6425 - A callback is executed in a different thread
6426 - When the callback returns, its calling function
6427 signals the condition that OMX_Foo waits on
6428 - OMX_Foo wakes up and returns
6429 The solution I came up with here is to take a second lock inside the callback,
6430 but only if recursion is expected to happen. Therefore, all calls to OMX
6431 functions are guarded by calls to gst_omx_rec_mutex_begin_recursion() / _end_recursion(),
6432 which effectively tells the mutex that at this point we want to allow calls
6433 to _recursive_lock() to succeed, although we are still holding the master lock.
6435 2012-04-20 14:51:34 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6439 omx: Add hack to disable setting roles to components.
6443 2012-04-30 23:20:24 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6446 * omx/gstomxvideodec.c:
6447 omxvideodec: Implement no-empty-eos-buffer hack, as in omxvideoenc.
6449 omx/gstomxvideodec.c
6451 2012-04-30 23:19:55 +0000 George Kiagiadakis <george.kiagiadakis@collabora.com>
6453 * omx/gstomxvideodec.c:
6454 omxvideodec: Fix coding style in the drain-may-not-return hack code
6456 2012-04-25 19:03:48 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6459 omx: Fix trivial debug print bug
6461 2012-04-25 19:01:32 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6465 * omx/gstomxvideodec.c:
6466 omxvideodec: Add hack for Ducati components not returning from drain
6467 This happens on the Galaxy Nexus, and causes the pipeline to hang waiting
6468 endlessly for a drain. The hack replaces the wait with a wait + 500ms timeout.
6470 2012-04-25 16:35:40 +0530 Arun Raghavan <arun.raghavan@collabora.co.uk>
6473 omx: Fix deadlock between ending a flush and the event handler
6474 gst_omx_port_set_flushing() calls OMX_FillThisBuffer at the end of a flush
6475 without releasing the port lock, and this can cause a deadlock with the
6476 EventHandler. This patches fixes this by dropping the lock for the duration of
6477 the fill buffer call.
6479 2012-04-24 15:41:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6481 * omx/gstbasevideodecoder.c:
6482 * omx/gstbasevideoencoder.c:
6483 omx: Update video encoder/decoder base classes from gst-plugins-bad
6485 2012-04-16 09:16:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6488 configure: Modernize autotools setup a bit
6489 Also we now only create tar.bz2 and tar.xz tarballs.
6491 2012-04-16 09:12:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6494 Automatic update of common submodule
6496 2012-04-16 08:34:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6498 * omx/gstomxaudioenc.c:
6499 omxaudioenc: Use gst_buffer_extract() to copy the input buffer data to the OpenMAX buffer
6501 2012-04-13 17:16:42 -0400 Alessandro Decina <alessandro.decina@collabora.com>
6504 Fix relative/absolute path glitch
6505 Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6507 2012-04-12 15:57:32 -0400 Olivier Crête <olivier.crete@collabora.com>
6512 * omx/gstbasevideocodec.c:
6513 * omx/gstbasevideocodec.h:
6514 * omx/gstbasevideodecoder.c:
6515 * omx/gstbasevideodecoder.h:
6516 * omx/gstbasevideoencoder.c:
6517 * omx/gstbasevideoencoder.h:
6520 * omx/gstomxaacenc.c:
6521 * omx/gstomxaudioenc.c:
6522 * omx/gstomxaudioenc.h:
6523 * omx/gstomxh263dec.c:
6524 * omx/gstomxh263enc.c:
6525 * omx/gstomxh264dec.c:
6526 * omx/gstomxh264enc.c:
6527 * omx/gstomxmpeg4videodec.c:
6528 * omx/gstomxmpeg4videoenc.c:
6529 * omx/gstomxvideodec.c:
6530 * omx/gstomxvideodec.h:
6531 * omx/gstomxvideoenc.c:
6532 * omx/gstomxvideoenc.h:
6533 * omx/gstomxwmvdec.c:
6536 2012-01-18 16:53:16 -0300 Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
6540 Enable building with Android's buildsystem
6541 This change adds prelimary buildsystem hooks to
6542 build gst-omx with the Android buildsystem. Like
6543 the rest of GStreamer's Android hooks, the process
6544 relies on the availability of androgenizer. A tool
6545 developed by Collabora to automatically generate
6546 Android.mk files from within the auto* setup.
6547 Androgenizer is currently available at:
6548 http://cgit.collabora.com/git/user/derek/androgenizer.git/
6550 2011-12-13 10:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6552 * omx/gstbasevideocodec.c:
6553 basevideocodec: Don't use G_TYPE_REGISTER_BOXED() yet
6554 This would require GLib 2.26.
6556 2011-12-14 10:09:34 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6558 * omx/gstomxaudioenc.c:
6559 omxaudioenc: Add hack for encoder components that don't allow empty EOS buffers
6561 2011-12-14 10:07:29 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
6563 * omx/gstomxvideoenc.c:
6564 omxvideoenc: Fix deadlock when using the EOS hack
6566 2011-12-12 14:26:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6568 * omx/gstomxvideoenc.c:
6569 omxvideoenc: Remove workaround for basevideocodec bug
6571 2011-12-12 14:26:34 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6573 * omx/gstomxvideodec.c:
6574 omxvideodec: Remove workaround for basevideocodec bug
6576 2011-12-05 17:57:01 +0000 Matej Knopp <matej.knopp@gmail.com>
6578 * omx/gstbasevideocodec.c:
6579 * omx/gstbasevideocodec.h:
6580 * omx/gstbasevideodecoder.c:
6581 * omx/gstbasevideoencoder.c:
6582 basevideo: Make GstVideoFrame a reference counted boxed object
6583 ...and also clear all existing frames when resetting the decoder or encoder.
6585 2011-12-09 12:17:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6589 * omx/gstomxvideoenc.c:
6590 omx: Add hack for encoder components that don't allow empty EOS buffers
6592 2011-12-09 10:21:47 +0100 Dake Gu <Dake.Gu@palm.com>
6594 * omx/gstomxaacenc.c:
6595 omxaacenc: Generate and set codec_data on the caps for raw AAC
6597 2011-10-31 11:36:06 +0100 Alessandro Decina <alessandro.decina@collabora.co.uk>
6599 * omx/gstbasevideoencoder.c:
6600 basevideoencoder: handle failures in start() and stop()
6602 2011-08-26 10:50:38 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
6604 * omx/gstbasevideoencoder.c:
6605 basevideoenc: do not try to calculate latency from an unknown framerate
6606 It'll divide by zero, and latency is unknown for an unknown framerate.
6607 Fixes an assert in the schroenc test.
6608 https://bugzilla.gnome.org/show_bug.cgi?id=657419
6610 2011-12-08 11:50:49 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6612 * omx/gstbasevideoencoder.c:
6613 basevideoencoder: Only make the header buffer metadata writable, not the buffer
6615 2011-12-08 10:18:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6617 * omx/gstbasevideoencoder.c:
6618 basevideoencoder: Fix handling of force-keyunit events
6620 2011-12-06 13:28:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6622 * omx/gstomxaudioenc.c:
6623 omxaudioenc: Don't forward EOS events immediately but let all other events be handled by the base class
6624 Previously this logic was inversed, which did not make any sense at all.
6626 2011-12-06 12:47:25 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6628 * omx/gstomxaudioenc.c:
6629 * omx/gstomxaudioenc.h:
6630 omxaudioenc: Use correct timestamp, duration and filled length for the EOS buffers
6632 2011-12-06 12:47:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6634 * omx/gstomxvideodec.c:
6635 * omx/gstomxvideodec.h:
6636 omxvideodec: Use correct timestamp, duration and filled length for the EOS buffers
6638 2011-12-06 12:46:51 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6640 * omx/gstomxvideoenc.c:
6641 * omx/gstomxvideoenc.h:
6642 omxvideoenc: Use correct timestamp, duration and filled length for the EOS buffers
6644 2011-12-05 13:18:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6647 omx: Improve debugging of buffer handling
6649 2011-12-05 08:12:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6651 * omx/gstomxvideoenc.c:
6652 omxvideoenc: Drop EOS events in ::finish()
6653 The event will be forwarded downstream from the srcpad
6654 loop function after the last buffer was generated by the
6655 component. Forwarding it after ::finish() will use the
6656 sinkpad streaming thread and does not guarantee that
6657 the encoder is completely drained.
6659 2011-12-01 16:20:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6661 * omx/gstomxvideodec.c:
6662 omxvideodec: Properly drop frames due to QoS
6663 Instead of finishing them they should be passed to drop(), which
6664 will then send QoS messages.
6666 2011-11-29 12:21:32 +0100 Jonas Larsson <jonas@hallerud.se>
6668 * omx/gstomxh264enc.c:
6669 omxh264enc: Add support for resending headers after a forced-keyframe
6671 2011-11-29 12:12:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6673 * omx/gstbasevideocodec.h:
6674 * omx/gstbasevideoencoder.c:
6675 basevideoencoder: Pass the all-headers field of the force-key-unit event to the subclass
6677 2011-11-29 12:12:04 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6679 * omx/gstbasevideoencoder.c:
6680 * omx/gstbasevideoencoder.h:
6681 basevideoencoder: Implement full support for the new force-key-unit event
6682 Including support for the running-time and count fields.
6684 2011-11-29 09:31:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6686 * omx/gstbasevideoencoder.c:
6687 basevideoencoder: Use new force-keyunit event API from gst-plugins-base
6689 2011-11-29 09:18:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6691 * omx/gstbasevideoencoder.c:
6692 * omx/gstbasevideoencoder.h:
6693 basevideoencoder: Adjusting padding is not required for -bad libraries
6695 2011-11-28 19:48:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6697 * omx/gstbasevideoencoder.h:
6698 basevideoencoder: Move some fields to the private part of the instance struct
6700 2011-11-28 19:36:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6702 * omx/gstbasevideoencoder.c:
6703 basevideoencoder: Make headers metadata writable before pushing downstream
6704 The timestamp, duration, etc of the headers has to be changed.
6706 2011-11-28 19:35:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6708 * omx/gstbasevideoencoder.c:
6709 * omx/gstbasevideoencoder.h:
6710 basevideoencoder: Push the downstream force-keyframe event after the next keyframe
6711 Even if the corresponding GstVideoFrame doesn't have the is_sync_point
6714 2011-11-28 19:29:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6716 * omx/gstbasevideoencoder.c:
6717 * omx/gstbasevideoencoder.h:
6718 basevideoencoder: Don't push an upstream force-keyunit event downstream
6720 2011-11-25 11:48:08 +0100 Jonas Larsson <jonas@hallerud.se>
6722 * omx/gstbasevideoencoder.c:
6723 * omx/gstbasevideoencoder.h:
6724 basevideoencoder: Add initial support for the all-headers field of the force-keyframe event
6727 2011-11-25 11:37:39 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6729 * omx/gstbasevideodecoder.c:
6730 basevideodecoder: some more debug logging
6732 2011-11-23 20:03:32 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6734 * omx/gstbasevideodecoder.c:
6735 * omx/gstbasevideodecoder.h:
6736 basevideodecoder: add API to drop a frame and post a QoS message on the bus
6737 https://bugzilla.gnome.org/show_bug.cgi?id=640017
6738 API: gst_base_video_decoder_drop_frame()
6740 2011-11-22 23:04:49 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6742 * omx/gstbasevideodecoder.c:
6743 docs: fix comment in gst_base_video_decoder_get_max_decode_time() docs
6745 2011-11-22 19:57:07 +0000 Tim-Philipp Müller <tim.muller@collabora.co.uk>
6747 * omx/gstbasevideodecoder.c:
6748 basevideodecoder: fix weird event list handling
6749 Get rid of weird code that copies a list manually, taking
6750 ownership of the elements and then frees the old list. Instead,
6751 just take over the old list entirely. (If the intent was to
6752 reverse the list, one could use g_list_reverse() instead).
6753 Then, push events in the list out from last to first (since they
6754 were prepended as they came in) instead of just pushing out the
6755 last in the list and leaking the others.
6757 2011-11-25 11:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6761 * omx/gstbaseaudiodecoder.c:
6762 * omx/gstbaseaudiodecoder.h:
6763 * omx/gstbaseaudioencoder.c:
6764 * omx/gstbaseaudioencoder.h:
6765 * omx/gstbaseaudioutils.c:
6766 * omx/gstbaseaudioutils.h:
6767 * omx/gstomxaacenc.c:
6768 * omx/gstomxaudioenc.c:
6769 * omx/gstomxaudioenc.h:
6770 omxaudioenc: Use audio base classes from gst-plugins-base instead of having our own copies
6772 2011-11-18 10:00:31 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6774 * omx/gstomxaudioenc.c:
6775 omxaudioenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6777 2011-11-18 09:59:43 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6779 * omx/gstomxvideoenc.c:
6780 omxvideoenc: First set ports to flushing before waiting for the srcpad streaming thread to finish
6782 2011-11-18 09:58:58 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6784 * omx/gstomxvideodec.c:
6785 omxvideodec: First set ports to flushing before waiting for the srcpad streaming thread to finish
6787 2011-11-17 14:38:54 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6790 omx: Only disabling of a port is like flushing, enabling is like unflushing
6792 2011-11-17 13:33:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6795 omx: Enabling/disabling a port is also like flushing
6796 The component returns all buffers to us and shouldn't get any
6797 new buffers passed anymore.
6799 2011-11-17 11:26:33 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6801 * omx/gstomxaudioenc.c:
6802 omxaudioenc: Signal the drain GCond even if downstream returned an error
6804 2011-11-17 11:26:20 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6806 * omx/gstomxvideoenc.c:
6807 omxvideoenc: Signal the drain GCond even if downstream returned an error
6809 2011-11-17 11:25:52 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6811 * omx/gstomxvideodec.c:
6812 omxvideodec: Signal the drain GCond even if downstream returned an error
6814 2011-11-17 10:34:19 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6816 * omx/gstbasevideoencoder.c:
6817 basevideoencoder: Only call ::reset once in READY->PAUSED
6819 2011-11-17 10:19:35 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6821 * omx/gstomxaudioenc.c:
6822 omxaudioenc: Shutdown component in PAUSED->READY and deallocate buffers
6824 2011-11-17 10:19:30 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6826 * omx/gstomxvideoenc.c:
6827 omxvideoenc: Shutdown component in PAUSED->READY and deallocate buffers
6829 2011-11-17 10:19:10 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6831 * omx/gstomxvideodec.c:
6832 omxvideodec: Shutdown component in PAUSED->READY and deallocate buffers
6834 2011-11-16 12:02:08 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6836 * omx/gstomxvideoenc.c:
6837 omxvideoenc: Set force_keyframe to FALSE after handling it
6838 There's no reason why the base class should forward the event
6839 further downstream if we already handled it and will insert a
6842 2011-11-16 11:21:25 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6844 * omx/gstomxvideodec.c:
6845 omxvideodec: Always push buffers downstream, even if we didn't find a corresponding GstVideoFrame
6847 2011-11-15 09:47:55 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6850 omx: Fix debug level for flushing in wrong state from ERROR to DEBUG
6851 It's not really an error and doesn't matter at all if flush is called
6852 when the component is not running.
6854 2011-11-15 08:40:07 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6856 * omx/gstomxh264enc.c:
6857 omxh264enc: Detect bytestream stream format and don't put SPS/PPS into the caps for this format
6859 2011-11-15 08:28:32 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6861 * omx/gstomxvideoenc.c:
6862 * omx/gstomxvideoenc.h:
6863 omxvideoenc: Add vfunc for handling the output frames
6864 This can be used by subclasses to override the buffer flags
6865 or to handle some frames differently than the default behaviour.
6867 2011-11-14 12:50:26 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6869 * omx/gstomxvideodec.c:
6870 omxvideodec: Don't release buffers twice if dropping because of QoS
6872 2011-11-14 09:13:06 -0800 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6875 omx: Add XXX to the nOffset reset hack comment for QCOM
6877 2011-11-10 15:18:08 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6879 * omx/gstomxaudioenc.c:
6880 omxaudioenc: Make srcpad caps setting threadsafe
6882 2011-11-10 15:17:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6884 * omx/gstomxvideoenc.c:
6885 omxvideoenc: Make srcpad caps setting threadsafe
6887 2011-11-10 15:17:41 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6889 * omx/gstomxvideodec.c:
6890 omxvideodec: Make srcpad caps setting threadsafe
6892 2011-11-10 15:10:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6894 * omx/gstomxaudioenc.c:
6895 omxaudioenc: Make the srcpad task and the sinkpad streaming thread handling threadsafe
6897 2011-11-10 15:03:05 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6899 * omx/gstomxaudioenc.c:
6900 omxaudioenc: Always flush the ports and make sure no processing is happening in ::flush
6901 This fixes a race condition that happened when seeking
6902 very often in a short period of time.
6904 2011-11-10 15:02:22 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6906 * omx/gstomxvideoenc.c:
6907 omxvideoenc: Always flush the ports and make sure no processing is happening in ::reset
6908 This fixes a race condition that happened when seeking
6909 very often in a short period of time.
6911 2011-11-10 15:01:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6913 * omx/gstomxvideoenc.c:
6914 omxvideoenc: Fix minor race condition when draining after upstream signalled EOS
6916 2011-11-10 14:56:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6918 * omx/gstomxaudioenc.c:
6919 omxaudioenc: Improve EOS handling
6920 If downstream return UNEXPECTED we should still signal the
6921 drain cond because nothing will trigger this again later.
6923 2011-11-10 14:56:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6925 * omx/gstomxvideoenc.c:
6926 omxvideoenc: Improve EOS handling
6927 If downstream return UNEXPECTED we should still signal the
6928 drain cond because nothing will trigger this again later.
6930 2011-11-10 14:54:33 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6932 * omx/gstomxaudioenc.c:
6933 omxaudioenc: Improve debugging of EOS and draining
6935 2011-11-10 14:54:17 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6937 * omx/gstomxvideoenc.c:
6938 omxvideoenc: Improve debugging of EOS and draining
6940 2011-11-10 14:51:06 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6942 * omx/gstomxvideodec.c:
6943 omxvideodec: Log if acquiring buffer for EOS failed
6945 2011-11-10 14:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6947 * omx/gstomxvideodec.c:
6948 omxvideodec: The component is not started in READY
6950 2011-11-10 14:39:40 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6952 * omx/gstomxaudioenc.c:
6953 omxaudioenc: No need to signal the drain cond when going from READY to PAUSED
6954 Also the component is not started in READY
6956 2011-11-10 14:40:56 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6958 * omx/gstomxvideoenc.c:
6959 omxvideoenc: No need to signal the drain cond when going from READY to PAUSED
6960 Also the component is not started in READY.
6962 2011-11-09 15:46:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6964 * omx/gstomxvideodec.c:
6965 omxvideodec: Always flush the ports and make sure no processing is happening in ::reset
6966 This fixes a race condition that happened when seeking
6967 very often in a short period of time.
6969 2011-11-09 15:45:20 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6971 * omx/gstomxvideodec.c:
6972 omxvideodec: Fix minor race condition when draining after upstream signalled EOS
6974 2011-11-09 15:44:11 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6976 * omx/gstomxvideodec.c:
6977 omxvideodec: Improve EOS handling
6978 If downstream return UNEXPECTED we should still signal the
6979 drain cond because nothing will trigger this again later.
6981 2011-11-09 15:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6983 * omx/gstomxvideodec.c:
6984 omxvideodec: Improve debugging of EOS and draining
6986 2011-11-09 15:42:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6988 * omx/gstomxvideodec.c:
6989 omxvideodec: The component is not started already when going from READY to PAUSED
6991 2011-11-09 15:42:13 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6993 * omx/gstomxvideodec.c:
6994 omxvideodec: No need to signal the drain cond when going from READY to PAUSED
6996 2011-11-09 15:41:02 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
6999 omx: Always reset buffer flags for output ports, even in flushing/error state
7001 2011-11-09 09:00:57 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7003 * omx/gstomxvideodec.c:
7004 omxvideodec: Improve debugging in case of QoS-related frame drops
7006 2011-11-08 12:46:31 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7008 * omx/gstomxvideoenc.c:
7009 omxvideoenc: Release the video codec stream lock before acquiring an input buffer
7010 Otherwise the srcpad task might block on this lock and
7011 no buffers ever become available again.
7013 2011-11-08 12:45:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7015 * omx/gstomxaudioenc.c:
7016 omxaudioenc: Release the audio encoder stream lock before acquiring an input buffer
7017 Otherwise the srcpad task might block on this lock and
7018 no buffers ever become available again.
7020 2011-11-08 12:42:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7022 * omx/gstomxvideodec.c:
7023 omxvideodec: Release the video codec stream lock before acquiring an input buffer
7024 Otherwise the srcpad task might block on this lock and
7025 no buffers ever become available again.
7027 2011-11-08 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7029 * omx/gstomxaudioenc.c:
7030 * omx/gstomxaudioenc.h:
7031 omxaudioenc: Don't try to drain the component after EOS
7032 And don't send EOS twice in any case. This most likely
7033 will cause the component to not output it again and
7034 is not necessary anyway.
7036 2011-11-08 11:03:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7038 * omx/gstomxvideoenc.c:
7039 * omx/gstomxvideoenc.h:
7040 omxvideoenc: Don't try to drain the component after EOS
7041 And don't send EOS twice in any case. This most likely
7042 will cause the component to not output it again and
7043 is not necessary anyway.
7045 2011-11-08 10:46:36 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7047 * omx/gstomxvideodec.c:
7048 * omx/gstomxvideodec.h:
7049 omxvideodec: Don't try to drain the component after EOS
7050 And don't send EOS twice in any case. This most likely
7051 will cause the component to not output it again and
7052 is not necessary anyway.
7054 2011-11-08 09:09:28 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7056 * omx/gstomxvideodec.c:
7057 omxvideodec: Implement dropping of too late frames via QoS
7059 2011-11-08 08:31:58 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7061 * omx/gstomxaudioenc.c:
7062 omxaudioenc: Minor code refactoring
7064 2011-11-08 08:31:43 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7066 * omx/gstomxvideoenc.c:
7067 omxvideoenc: Minor code refactoring
7069 2011-11-08 08:31:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7071 * omx/gstomxvideodec.c:
7072 omxvideodec: Make sure to always release buffers back to OMX
7074 2011-11-08 08:24:19 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7077 omx: Also properly release buffers when in error state
7079 2011-11-08 08:22:08 +0100 Jonas Larsson <Jonas.Larsson@palm.com>
7082 omx: Properly release buffers during flushing
7083 We can't pass them back to OMX_FillThisBuffer() or OMX_EmptyThisBuffer()
7084 but instead of doing nothing we have to put them back into our queue.
7085 Otherwise the buffer is leaked and we will have too few buffers in
7088 2011-11-07 14:00:47 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7090 * omx/gstomxvideodec.c:
7091 omxvideodec: Free pending frames after draining component
7093 2011-11-07 14:00:35 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7095 * omx/gstomxvideoenc.c:
7096 omxvideoenc: Free pending frames after draining the component
7098 2011-11-07 11:07:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7100 * omx/gstomxvideoenc.c:
7101 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
7103 2011-11-07 11:05:29 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7105 * omx/gstomxvideoenc.c:
7106 omxvideoenc: Fix deadlock between srcpad stream lock and ::reset()
7108 2011-11-07 11:04:27 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7110 * omx/gstomxvideodec.c:
7111 omxvideoenc: Make handling and usage of the base video codec frames threadsafe
7113 2011-11-07 10:58:44 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7115 * omx/gstomxvideoenc.c:
7116 omxvideoenc: Free all pending frames after draining the component
7118 2011-11-07 10:58:24 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7120 * omx/gstomxvideodec.c:
7121 omxvideodec: Always free all pending frames when caps changes require reconfiguration
7123 2011-11-04 09:43:48 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7125 * omx/gstomxaudioenc.c:
7126 omxaudioenc: Only drain the component a single time and only after processing started
7128 2011-11-04 09:43:32 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7130 * omx/gstomxvideodec.c:
7131 omxvideodec: Only drain the component a single time and only after processing started
7133 2011-11-04 09:43:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7135 * omx/gstomxvideoenc.c:
7136 omxvideoenc: Only drain the component a single time and only after processing started
7138 2011-11-04 09:04:16 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7141 omx: Reset buffer flags to 0 after it was consumed by the component or the element
7142 Some implementations don't reset the flags and the standard is not
7143 really clear on the expected behaviour. Let's just always reset the
7144 flags as they're not valid at this point anymore.
7146 2011-11-02 13:50:14 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7148 * omx/gstomxvideoenc.c:
7149 * omx/gstomxvideoenc.h:
7150 omxvideoenc: Better handling of encoder parameters
7151 Only set them if necessary and allow to use the component
7154 2011-11-02 13:22:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7156 * omx/gstomxvideoenc.c:
7157 omxvideoenc: Make unsupported bitrate/quantizer settings less fatal
7159 2011-11-02 10:39:50 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7161 * omx/gstomxvideodec.c:
7162 omxvideodec: If no stride was set for the OMX output port assume GStreamer stride
7163 This is not really correct but there's nothing else we could do.
7165 2011-11-02 10:39:10 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7167 * omx/gstomxvideoenc.c:
7168 omxvideoenc: If no stride was set for the OMX input port assume GStreamer stride
7169 This is not really correct but there's nothing else we could do.
7171 2011-11-01 16:46:09 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7173 * omx/gstomxaudioenc.c:
7174 * omx/gstomxaudioenc.h:
7175 omxaudioenc: Implement draining of the component and use it
7176 This makes sure that all buffers are encoded and pushed downstream
7177 before flushing the ports and losing some buffers.
7179 2011-11-01 16:41:46 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7181 * omx/gstomxvideoenc.c:
7182 * omx/gstomxvideoenc.h:
7183 omxvideoenc: Implement draining of the component and use it
7184 This makes sure that all buffers are encoded and pushed downstream
7185 before flushing the ports and losing some buffers.
7187 2011-11-01 16:08:59 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7189 * omx/gstomxvideodec.c:
7190 * omx/gstomxvideodec.h:
7191 omxvideodec: Implement draining of the component and use it
7192 This makes sure that all buffers are decoded and pushed downstream
7193 before flushing the ports and losing some buffers.
7195 2011-10-20 14:32:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7197 * omx/gstomxvideodec.c:
7198 omxvideodec: Fix deadlock if ::reset is called before finding the corresponding frame of a decoded buffer
7200 2011-11-01 15:10:12 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7202 * omx/gstomxaudioenc.c:
7203 * omx/gstomxaudioenc.h:
7204 * omx/gstomxvideoenc.h:
7205 omxaudioenc: Forward downstream flow returns to upstream
7207 2011-11-01 15:10:01 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7209 * omx/gstomxvideoenc.c:
7210 omxvideoenc: Forward downstream flow returns to upstream
7212 2011-11-01 13:58:38 +0100 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7214 * omx/gstomxvideodec.c:
7215 * omx/gstomxvideodec.h:
7216 omxvideodec: Forward downstream flow returns to upstream
7218 2011-10-25 14:23:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7221 omx: Add minimal README file
7223 2011-10-20 15:21:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7225 * omx/gstomxvideodec.c:
7226 omxvideodec: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7228 2011-10-20 15:20:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7230 * omx/gstomxvideoenc.c:
7231 omxvideoenc: Fix deadlock caused by calling reset while the loop function does something with the base video codec stream lock
7233 2011-10-20 14:30:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7235 * omx/gstomxvideodec.c:
7236 omxvideodec: Move locking at the correct place
7238 2011-10-14 10:27:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7242 omx: Remove QCOM hack to reset nOffset in EmptyBufferDone
7243 This is now done in a generic way that does not require any
7244 hacks because it will work without any side effects on any
7247 2011-10-14 10:26:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7250 omx: Reset nOffset to 0 in EmptyBufferDone if nFilledLen is 0
7251 Some OMX implementations don't reset nOffset when the complete
7252 buffer is emptied but instead only reset nFilledLen. We reset
7253 nOffset to 0 if nFilledLen == 0, which is safe to do because
7254 the offset *must* be 0 if the buffer is not filled at all.
7255 Seen in QCOM's OMX implementation.
7257 2011-10-04 10:56:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7259 * omx/gstomxvideoenc.c:
7260 omxvideoenc: If one parameter/configuration is not supported don't skip the next
7262 2011-10-03 09:12:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7264 * omx/gstomxh264dec.c:
7265 omxh264dec: Require stream-format=byte-stream
7266 Other stream-formats are unlikely to be supported by OMX components.
7268 2011-09-29 10:37:32 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7270 * omx/gstomxvideodec.c:
7271 * omx/gstomxvideodec.h:
7272 omxvideodec: Add API for subclasses to prepare/convert frames
7274 2011-09-27 15:08:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7276 * omx/gstomxaudioenc.c:
7277 omxaudioenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7278 Allocating buffers before the Idle state is reached can lead to crashes.
7280 2011-09-27 15:08:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7282 * omx/gstomxvideoenc.c:
7283 omxvideoenc: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7284 Allocating buffers before the Idle state is reached can lead to crashes.
7286 2011-09-27 15:05:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7288 * omx/gstomxvideodec.c:
7289 omxvideodec: Switch to Idle first and wait before switching to Loaded and deallocating buffers
7290 Allocating buffers before the Idle state is reached can lead to crashes.
7292 2011-09-27 14:15:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7296 * omx/gstomxvideodec.c:
7297 omxvideodec: New hack for QCOM to recreate the component instead of reconfiguring it on caps changes
7299 2011-09-27 12:13:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7302 omx: Change a g_assert() into a GST_WARNING_OBJECT()
7304 2011-09-26 13:04:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7308 omx: Add hack for Qualcomm's OMX implementation to manually reset nOffset in EmptyBufferDone
7310 2011-09-23 17:02:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7312 * omx/gstomxaudioenc.c:
7313 omxaudioenc: Add a check to prevent a zero-sized OMX buffer
7315 2011-09-23 17:02:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7317 * omx/gstomxvideoenc.c:
7318 omxvideoenc: Add some more checks for correct OMX buffer sizes
7320 2011-09-23 15:53:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7322 * omx/gstomxvideodec.c:
7323 omxvideodec: Add some more checks for OMX buffer sizes
7325 2011-09-14 10:15:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7329 * omx/gstomxaudioenc.c:
7330 * omx/gstomxvideodec.c:
7331 * omx/gstomxvideoenc.c:
7332 omx: Wait until the Executing state is reached before calling OMX_FillThisBuffer()
7333 This correctly works around the QCOM race condition that happens when calling
7334 FTB after setting the new state and before reaching it.
7336 2011-09-02 14:43:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7338 * omx/gstomxvideodec.c:
7339 omxvideodec: Negotiate video format with downstream and what the component claims to support
7341 2011-08-25 19:56:58 +0100 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
7343 * omx/gstbasevideoencoder.c:
7344 basevideoencoder: fix element leak
7345 and this concludes an hour of yelling at the bloody test failing,
7346 only to track down the problem not being in the test.
7347 https://bugzilla.gnome.org/show_bug.cgi?id=657368
7349 2011-08-19 09:20:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7351 * omx/gstomxvideoenc.c:
7352 omxvideoenc: Release basevideocodec stream lock while waiting for a buffer
7353 This prevents deadlocks if no empty input buffers are available and
7354 releasing input buffers requires the loop function to handle some
7355 output buffers first.
7357 2011-08-19 09:19:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7359 * omx/gstomxvideodec.c:
7360 omxvideodec: Release basevideocodec stream lock while waiting for a buffer
7361 This prevents deadlocks if no empty input buffers are available and
7362 releasing input buffers requires the loop function to handle some
7363 output buffers first.
7365 2011-08-18 10:24:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7367 * omx/gstbasevideodecoder.c:
7368 basevideodecoder: Fix deadlock
7370 2011-08-18 10:03:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7372 * omx/gstbaseaudiodecoder.c:
7373 baseaudiodecoder: Don't take the stream lock in the seek handler
7374 This will lead to deadlocks
7376 2011-08-18 10:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7378 * omx/gstbasevideocodec.c:
7379 * omx/gstbasevideocodec.h:
7380 * omx/gstbasevideodecoder.c:
7381 * omx/gstbasevideoencoder.c:
7382 basevideo: Fix locking, especially if both pads have different streaming threads
7384 2011-08-18 09:42:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7386 * omx/gstbasevideodecoder.c:
7387 * omx/gstbasevideoencoder.c:
7388 basevideo: Don't call g_type_class_peek_parent() in class_init
7389 This is already done by the GObject boilerplate macro
7391 2011-08-18 09:40:46 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7393 * omx/gstbaseaudiodecoder.c:
7394 baseaudiodecoder: Don't call g_type_class_peek_parent() in class_init
7395 This is already done by the boilerplate macro
7397 2011-08-18 09:34:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7399 * omx/gstbaseaudiodecoder.c:
7400 * omx/gstbaseaudiodecoder.h:
7401 baseaudiodecoder: Fix thread safety issues if both pads have different streaming threads
7403 2011-08-18 09:17:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7405 * omx/gstbaseaudiodecoder.c:
7406 baseaudiodecoder: Delay sending of serialized events to finish_frame()
7408 2011-08-17 14:33:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7410 * omx/gstomxaudioenc.c:
7411 omxaudioenc: Always require at least OMX_MIN_PCMPAYLOAD_MSEC per input buffer
7413 2011-08-17 14:28:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7415 * omx/gstbaseaudioencoder.c:
7416 * omx/gstbaseaudioencoder.h:
7417 baseaudioencoder: Add support for requesting a minimum and maximum number of samples per frame
7418 This extends the special case of a fixed number of samples per frame
7419 that was supported before already.
7421 2011-08-17 14:17:18 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7423 * omx/gstomxaudioenc.c:
7424 omxaudioenc: Handle inbuf==NULL properly in ::handle_frame()
7426 2011-08-17 13:04:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7428 * omx/gstomxaacenc.c:
7429 omxaacenc: Implement ::get_num_samples() vfunc
7431 2011-08-17 13:03:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7433 * omx/gstomxaudioenc.c:
7434 * omx/gstomxaudioenc.h:
7435 omxaudioenc: Add vfunc to get the number of samples inside a buffer
7437 2011-08-17 11:34:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7439 * omx/gstomxaudioenc.c:
7440 omxaudioenc: Release baseaudioencoder stream lock while waiting for a buffer in ::handle_frame()
7441 This prevents deadlocks if no empty input buffers are available and
7442 releasing input buffers requires the loop function to handle some
7443 output buffers first.
7445 2011-08-17 11:34:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7447 * omx/gstbaseaudioencoder.c:
7448 * omx/gstbaseaudioencoder.h:
7449 baseaudioencoder: Fix thread safety issues if both pads have different streaming threads
7451 2011-08-17 09:58:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7453 * omx/gstbaseaudioencoder.c:
7454 baseaudioencoder: Taking the OBJECT lock in reset() is not needed
7456 2011-08-16 11:03:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7458 * omx/gstomxaudioenc.c:
7459 omxaudioenc: Remove hack that only applies to the video encoder class
7461 2011-08-16 10:49:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7466 * omx/gstomxaacenc.c:
7467 * omx/gstomxaacenc.h:
7468 omxaacenc: Add initial version of OpenMAX AAC encoder element
7470 2011-08-15 15:10:04 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7473 * omx/gstomxaudioenc.c:
7474 * omx/gstomxaudioenc.h:
7475 omxaudioenc: Add initial version of audio encoder base class
7477 2011-08-15 14:14:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7479 * omx/gstbaseaudioencoder.c:
7480 baseaudioencoder: Delay sending of serialized events to finish_frame()
7482 2011-08-15 13:06:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7485 * omx/gstbaseaudiodecoder.c:
7486 * omx/gstbaseaudiodecoder.h:
7487 * omx/gstbaseaudioencoder.c:
7488 * omx/gstbaseaudioencoder.h:
7489 audio: Integrate audio base classes into the build system and fixup
7491 2011-08-15 12:56:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7493 * omx/gstbaseaudiodecoder.c:
7494 * omx/gstbaseaudiodecoder.h:
7495 * omx/gstbaseaudioencoder.c:
7496 * omx/gstbaseaudioencoder.h:
7497 * omx/gstbaseaudioutils.c:
7498 * omx/gstbaseaudioutils.h:
7499 audio: Add audio decoder/encoder base classes
7500 Taken from http://cgit.collabora.com/git/user/manauw/gst-plugins-bad.git/log/?h=baseaudio
7502 2011-08-12 12:25:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7504 * omx/gstbasevideoencoder.c:
7505 basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream
7506 This allows to specify constraints on the compressed downstream caps
7507 by muxers or capsfilters, which will then be forwarded to upstream
7508 and allows video converters to fulfill the constraints.
7509 Code based on Mark Nauwelaerts audio encoder base class.
7511 2011-08-12 12:13:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7513 * omx/gstbasevideoencoder.h:
7514 basevideoencoder: Remove old ::getcaps() comment
7516 2011-08-12 12:06:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7518 * omx/gstbasevideoencoder.c:
7519 * omx/gstbasevideoencoder.h:
7520 basevideoencoder: Remove ::get_caps() vfunc
7521 Subclasses can set the caps more efficiently and this only
7522 caused additional indirections.
7524 2011-08-10 10:24:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7526 * omx/gstomxh263enc.c:
7527 * omx/gstomxh264enc.c:
7528 * omx/gstomxmpeg4videoenc.c:
7529 * omx/gstomxvideoenc.c:
7530 omxvideoenc: Use "video/x-raw-yuv" as sink template caps instead of strict I420 caps
7532 2011-08-10 10:23:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7534 * omx/gstomxmpeg4videodec.c:
7535 omxmpeg4videodec: Don't require width/height on sink pad caps
7537 2011-08-10 10:11:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7539 * omx/gstomxh263dec.c:
7540 * omx/gstomxh264dec.c:
7541 * omx/gstomxmpeg4videodec.c:
7542 * omx/gstomxvideodec.c:
7543 * omx/gstomxwmvdec.c:
7544 omxvideodec: Use "video/x-raw-yuv" as src template caps instead of strict I420 caps
7546 2011-08-10 09:56:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7548 * omx/gstomxvideoenc.c:
7549 omxvideoenc: Set the state back to StateLoaded even if an error happened
7551 2011-08-10 09:49:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7554 omx: Don't hold any locks while calling OMX_SendCommand()
7555 It might call into one of the callbacks and lead to deadlocks, e.g.
7556 with the Qualcomm OMX implementation.
7558 2011-08-10 09:32:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7563 2011-08-10 09:23:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7566 omx: Reset pending reconfigure output ports when changing the state from Executing to any lower state
7568 2011-08-10 09:08:00 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7571 omx: Fix crash when setting last error after the ports were freed
7573 2011-08-10 09:03:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7576 omx: Free component structure
7578 2011-08-10 09:02:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7581 omx: Make component destruction safer
7583 2011-08-10 08:53:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7586 omx: Set pAppPrivate of buffers to NULL when deallocating buffers
7587 This prevents usage of freed memory later if the OMX component
7588 has weird behaviour.
7590 2011-08-10 08:52:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7592 * omx/gstomxvideodec.c:
7593 omxvideodec: Set the state back to StateLoaded even if an error happened
7595 2011-08-10 08:51:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7598 omx: Add some assertions to check if the buffer pAppPrivate is still correct
7600 2011-08-08 13:04:30 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7603 omx: Add parenthesis at correct places in the struct init macro
7605 2011-08-08 12:12:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7608 omx: Only prevent setting a higher state if the component is in an error state
7610 2011-08-03 16:02:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7612 * omx/gstbasevideodecoder.c:
7613 basevideodecoder: Use the cached video frame size instead of recalculating it
7615 2011-08-03 15:35:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7618 omx: Improve debugging in param/config getter/setter wrappers
7620 2011-08-03 13:10:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7622 * omx/gstomxvideodec.c:
7623 omxvideodec: Don't abort if the color format is not supported but give a useful error message
7625 2011-08-02 15:14:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7627 * omx/gstomxh263enc.c:
7628 * omx/gstomxh264enc.c:
7629 * omx/gstomxmpeg4videoenc.c:
7630 * omx/gstomxvideoenc.c:
7631 omxvideoenc: Don't fail if setting the bitrate or profile is not supported by the component
7632 Also always set/get the profile, even if there are no peer caps.
7634 2011-08-02 15:14:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7636 * omx/gstbasevideoencoder.c:
7637 basevideoencoder: Make access to the list of frames threadsafe
7639 2011-08-01 13:22:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7643 omx: Add a hacks flag for the Qualcomm 7x30 OMX_FillThisBuffer() race and make it optional
7645 2011-07-29 13:56:59 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7648 omx: Add workaround for QCOM 7x30 race condition
7650 2011-07-29 12:06:21 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7654 * omx/gstomxh263enc.c:
7655 * omx/gstomxh263enc.h:
7656 omxh263enc: Add H.263 encoder element
7658 2011-07-29 11:26:39 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7660 * omx/gstomxmpeg4videoenc.c:
7661 omxmpeg4videoenc: Add support for setting profile/level via caps
7663 2011-07-28 14:14:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7665 * omx/gstomxh264enc.c:
7666 omxh264enc: Add support for setting profile/level via caps
7668 2011-07-28 12:58:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7670 * omx/gstomxvideoenc.c:
7671 omxvideoenc: Add support for forcing the next frame to be a keyframe
7673 2011-07-28 11:54:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7675 * omx/gstomxvideoenc.c:
7676 * omx/gstomxvideoenc.h:
7677 omxvideoenc: Add support for setting bitrate/quantization related parameters
7679 2011-07-28 10:23:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7683 omx: Add wrapper functions for OMX_[GS]et{Config,Parameter}
7685 2011-07-28 09:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7689 omx: Add macro to initialize OpenMAX structures
7691 2011-07-28 09:08:38 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7693 * omx/gstomxvideoenc.c:
7694 omxvideoenc: Don't output 0-byte buffers
7696 2011-07-25 15:05:08 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7699 omx: Ensure that the pAppPrivate pointer in OMX buffers is set correctly
7701 2011-07-25 13:19:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7703 * omx/gstomxvideodec.c:
7704 * omx/gstomxvideoenc.c:
7705 omxvideo{enc,dec}: Only set/unset flushing state on ports if they were created already
7707 2011-07-25 12:01:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7711 * omx/gstomxwmvdec.c:
7712 * omx/gstomxwmvdec.h:
7713 omxwmvdec: Add WMV video decoder element
7715 2011-07-25 11:44:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7719 * omx/gstomxh263dec.c:
7720 * omx/gstomxh263dec.h:
7721 omxh263dec: Add H.263 decoder element
7723 2011-07-25 11:32:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7727 * omx/gstomxh264enc.c:
7728 * omx/gstomxh264enc.h:
7729 omxh264enc: Add H.264 encoder element
7731 2011-07-25 10:48:58 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7733 * omx/gstomxvideodec.c:
7734 omxvideodec: Try harder to deallocate the buffers after errors happened
7736 2011-07-25 10:47:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7738 * omx/gstomxvideoenc.c:
7739 omxvideoenc: Try harder to deallocate the buffers after errors happened
7741 2011-07-25 10:46:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7744 omx: Deallocate port buffers before freeing the component
7745 They should be deallocated by the caller before reaching the
7746 Loaded state but to be on the safe side we will make sure
7747 they're really deallocated here.
7749 2011-07-21 11:15:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7751 * omx/gstomxvideoenc.c:
7752 omxvideoenc: Add initial support for stride conversion
7754 2011-07-21 10:38:26 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7756 * omx/gstomxh264dec.c:
7757 * omx/gstomxmpeg4videodec.c:
7758 * omx/gstomxmpeg4videoenc.c:
7759 omx: Set default roles for the components if none were set from the config file
7761 2011-07-21 10:36:19 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7764 omx: Failure to set the component role is fatal
7766 2011-07-21 07:53:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7768 * omx/gstomxvideoenc.c:
7769 omxvideoenc: Add support for setting codec_data on the srcpad caps
7771 2011-07-21 07:44:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7773 * omx/gstomxvideoenc.c:
7774 omxvideoenc: Free/drop GstVideoFrames that resulted in an empty buffer
7776 2011-07-21 07:44:10 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7778 * omx/gstbasevideoencoder.c:
7779 basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame
7781 2011-07-21 07:31:05 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7783 * omx/gstomxvideoenc.c:
7784 omxvideoenc: Remove obsolete TODO comment
7786 2011-07-20 11:09:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7790 omx: Use libgstopenmax.so for the plugin filename and openmax for the plugin name
7791 Resolves conflicts with gst-openmax.
7793 2011-07-20 08:34:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7799 * omx/gstomxmpeg4videoenc.c:
7800 * omx/gstomxmpeg4videoenc.h:
7801 * omx/gstomxvideoenc.c:
7802 * omx/gstomxvideoenc.h:
7803 omxvideoenc: Add video encoder base class and MPEG4 video encoder
7804 Unfortunately requires lots of hacks again to work properly with
7807 2011-07-20 10:39:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7809 * omx/gstbasevideoencoder.c:
7810 basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass
7812 2011-07-20 09:25:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7814 * omx/gstbasevideoencoder.c:
7815 * omx/gstbasevideoencoder.h:
7816 basevideoencoder: Delay sending of serialized sink events until finish_frame()
7818 2011-07-20 09:09:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7820 * omx/gstbasevideoencoder.c:
7821 * omx/gstbasevideoencoder.h:
7822 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder
7824 2011-07-19 12:50:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7826 * omx/gstbasevideoencoder.c:
7827 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
7828 Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
7829 of 0/1 if no PAR is specified in the caps.
7831 2011-07-19 12:29:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7834 * omx/gstomxvideodec.c:
7835 omx: Improve debug output a bit
7837 2011-07-19 10:33:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7841 * omx/gstomxvideodec.c:
7842 omx: Rework port reconfiguration again and only use the Bellagio specific hacks with Bellagio
7843 We only reconfigure ports that need to be reconfigured now instead of
7846 2011-07-19 10:33:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7851 * omx/gstomxvideodec.c:
7852 * omx/gstomxvideodec.h:
7853 omx: Add infrastructure to enable special hacks for broken OpenMAX implementations
7855 2011-07-18 13:10:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7858 omx: When acquiring a buffer from an input port always wait until all output ports are reconfigured
7860 2011-07-18 08:41:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7862 * omx/gstomxvideodec.c:
7863 omxvideodec: Add support for converting between omx and gst rowstrides
7865 2011-07-14 10:34:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7868 omx: Provide all buffers to output ports after enabling them
7870 2011-07-14 08:29:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7872 * omx/gstomxvideodec.c:
7873 omxvideodec: Add support for NV12 / OMX_COLOR_FormatYUV420SemiPlanar
7875 2011-07-14 07:58:41 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7877 * omx/gstomxvideodec.c:
7878 * omx/gstomxvideodec.h:
7879 omxvideodec: Only flush the component ports after we passed input to them
7881 2011-07-13 21:19:34 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7883 * omx/gstomxvideodec.c:
7884 omxvideodec: Only change states downwards if an upper state was reached
7886 2011-07-13 20:37:02 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7890 * omx/gstomxvideodec.c:
7891 * omx/gstomxvideodec.h:
7892 omx: Add support for setting the component-role
7894 2011-07-13 20:22:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7898 * omx/gstomxvideodec.c:
7899 omx: Improve error reporting by formatting the error codes better and also providing their string representation
7901 2011-07-13 14:36:14 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7904 build: Dist autogen.sh
7906 2011-07-13 14:35:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7910 build: Only require GStreamer >= 0.10.29 and GLib >= 2.16
7912 2011-07-13 14:04:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7915 build: Dist gstomx.conf
7917 2011-07-13 14:04:20 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7920 build: Clean _stdint.h on "make distclean"
7922 2011-07-13 14:02:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7924 * omx/gstomxvideodec.c:
7925 omxvideodec: Fix typo
7927 2011-07-13 13:59:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7932 2011-07-13 12:46:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7934 * omx/gstomxvideodec.c:
7935 omxvideodec: Set SYNCFRAME flag on the OMX buffers for non-delta units
7937 2011-07-13 12:37:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7939 * omx/gstomxvideodec.c:
7940 omxvideodec: Free all pending frames when resetting the decoder
7941 Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=654529
7943 2011-07-13 09:59:49 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7945 * omx/gstomxvideodec.c:
7946 omxvideodec: Handle output buffers without a corresponding GstVideoFrame more gracefully
7947 This can happen on EOS in some cases and when the input is not
7950 2011-07-13 09:31:22 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7952 * omx/gstomxvideodec.c:
7953 omxvideodec: Fix deadlock when finishing old frames that are left over by the decoder
7955 2011-07-12 11:37:28 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7957 * omx/gstomxh264dec.c:
7958 omxh264dec: It's called H.264, not H264
7960 2011-07-12 11:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7962 * omx/gstomxh264dec.c:
7963 * omx/gstomxmpeg4videodec.c:
7964 * omx/gstomxvideodec.c:
7965 * omx/gstomxvideodec.h:
7966 omxvideodec: Make sink/src pad template caps configurable
7968 2011-07-12 11:13:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7971 omx: Allow to set a preferred configuration directory with the GST_OMX_CONFIG_DIR environment variable
7973 2011-07-12 10:55:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7975 * omx/gstomxh264dec.c:
7976 * omx/gstomxmpeg4videodec.c:
7977 * omx/gstomxvideodec.c:
7978 omxvideodec: Make core/component-name and in/outport index configurable
7980 2011-07-12 10:05:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7985 omx: Add initial version of configuration system
7986 This now only registers elements that are specified in the
7988 The configuration file is a keyfile in the first XDG configuration
7989 directory with the name gstomx.conf.
7991 2011-07-12 08:53:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
7995 * omx/gstomxh264dec.c:
7996 * omx/gstomxh264dec.h:
7997 * omx/gstomxh264videodec.h:
7998 omxh264dec: Rename from omxh264videodec to omxh264dec
8000 2011-07-12 08:40:48 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8002 * omx/gstomxh264videodec.c:
8003 omxh264videodec: Require alignment=au and stream-format={avc,bytestream}
8005 2011-07-11 12:59:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8007 * omx/gstbasevideodecoder.c:
8008 basevideodecoder: First inform subclass about resetting before resetting/freeing all internal state
8009 The subclass might want to access the old state.
8011 2011-07-11 12:36:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8013 * omx/gstbasevideodecoder.c:
8014 basevideodecoder: Track present position on discont before resetting it
8016 2011-07-11 11:52:33 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8018 * omx/gstbasevideodecoder.c:
8019 basevideodecoder: Also protect the list of pending frames from concurrent access when pushing all pendings events
8021 2011-07-11 11:28:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8023 * omx/gstbasevideocodec.c:
8024 * omx/gstbasevideocodec.h:
8025 * omx/gstbasevideodecoder.c:
8026 basevideocodec: Protect access to the list of pending frames with the object lock
8027 This is required if ::finish_frame() and all buffer output happens
8028 on a different thread than the sinkpad streaming thread.
8030 2011-07-11 09:35:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8032 * omx/gstbasevideodecoder.c:
8033 basevideodecoder: Set the correct lists to NULL after freeing
8035 2011-07-11 08:54:53 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8037 * omx/gstbasevideodecoder.c:
8038 basevideodecoder: Work with a copy of the GstVideoState in setcaps until the caps are accepted
8039 Also fix a refcount problem with the codec_data.
8041 2011-07-12 08:34:44 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8045 * omx/gstomxh264videodec.c:
8046 * omx/gstomxh264videodec.h:
8047 omxh264videodec: Add h.264 video decoder
8049 2011-07-12 08:29:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8051 * omx/gstomxmpeg4videodec.c:
8052 omxmpeg4videodec: Fix debug category name
8054 2011-07-09 11:41:42 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8057 * omx/gstbasevideocodec.h:
8058 * omx/gstbasevideodecoder.c:
8059 * omx/gstbasevideoencoder.c:
8060 * omx/gstbasevideoutils.c:
8061 * omx/gstbasevideoutils.h:
8062 basevideo: Move the utils from the codec header to its own header
8064 2011-07-09 11:32:06 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8066 * omx/gstbasevideocodec.c:
8067 * omx/gstbasevideodecoder.c:
8068 basevideo: Use GSlice for allocating GstVideoFrame and don't duplicate code in the decoder base class
8070 2011-07-09 11:05:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8072 * omx/gstomxvideodec.c:
8073 omxvideodec: Use the destroy notify to free the coder_hook
8075 2011-07-09 10:57:52 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8077 * omx/gstbasevideocodec.c:
8078 * omx/gstbasevideocodec.h:
8079 * omx/gstbasevideodecoder.c:
8080 basevideo: Add destroy notify for the coder_hook to prevent memory leaks
8083 2011-07-09 10:44:16 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8086 basevideo: Fix GType names to not conflict with the public video base classes
8087 It's still not possible to include headers of both in the same file
8088 or compile/link both into the same plugin but that shouldn't be
8091 2011-07-08 15:42:56 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8093 * omx/gstomxvideodec.c:
8094 omxvideodec: Fix some minor memory leaks
8096 2011-07-08 15:25:07 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8100 * omx/gstomxvideodec.c:
8101 omx: Rework port reconfiguration
8102 We always reconfigure all ports now if the settings of one
8103 port changes to prevent lots of race conditions, dropped
8104 frames and similar issues.
8106 2011-07-08 13:16:45 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8108 * omx/gstomxvideodec.c:
8109 * omx/gstomxvideodec.h:
8110 omxvideodec: Use the frames storage of the base class instead of implementing our own
8111 They could get out of sync and we could store already destroyed frames.
8113 2011-07-07 12:51:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8116 omx: Clarify GQueue/GPtrArray element types
8118 2011-07-07 12:23:24 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8122 * omx/gstomxvideodec.c:
8123 omx: Add more checks to acquire_buffer() and return the current state additional to the buffer
8124 Also refactor the code flow in the video decoder for this. This makes
8125 the usage of acquire_buffer() easier and more atomic.
8127 2011-07-07 12:22:57 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8129 * omx/gstomxvideodec.c:
8130 omxvideodec: Also flush/unflush the input port when changing the state PAUSED<->READY
8132 2011-07-07 12:21:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8135 omx: Don't broadcast port->port_cond after allocating buffers successfully
8136 Allocating buffers must happen while no thread is waiting for the
8137 cond and especially must happen from the thread that would acquire
8138 buffers from the port.
8140 2011-07-07 11:27:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8142 * omx/gstomxvideodec.c:
8143 omxvideodec: Don't leak the codec_data after sending it
8145 2011-07-07 10:27:31 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8148 omx: Always check if the component is in an error state before waiting for a condition variable to be signalled
8149 Otherwise we might wait forever because nothing is going to signal
8150 the condition variable anymore.
8152 2011-07-07 10:22:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8155 omx: Always hold port->port_lock before signalling port->port_cond when notifying about errors
8156 Otherwise a port might be in the critical section, has checked the error state
8157 already but waits after port->port_cond is signalled, which will lead
8160 2011-07-07 10:07:43 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8162 * omx/gstomxvideodec.c:
8163 omxvideodec: Remove reconfiguration test hack
8165 2011-07-06 13:27:12 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8168 omx: Improve debug output a bit
8170 2011-07-06 13:26:51 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8173 omx: Always try to deallocate buffers, even if there's a component error
8175 2011-07-06 13:26:01 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8178 omx: Use G_USEC_PER_SEC for clarity instead of 1000000
8180 2011-07-06 13:19:15 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8182 * omx/gstomxvideodec.c:
8183 omxvideodec: Error out if the GStreamer allocated buffer is smaller than the OpenMAX output buffer
8184 Usually this must never happen but currently it happens during reconfigurations
8185 because of a race condition. Still it's better than crashing.
8187 2011-07-06 10:40:13 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8191 omx: Don't use port_def.bEnabled to check if the Enable/Disable command is finished
8192 bEnabled should be set immediately after sending the command, it's only
8193 Bellagio that waits until the command is finished before setting it.
8195 2011-07-06 10:30:11 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8197 * omx/gstomxvideodec.c:
8198 omxvideodec: Remove obsolete FIXME comment
8200 2011-07-06 10:29:54 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8204 omx: Improve error handling and reporting
8206 2011-07-06 08:48:37 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8208 * omx/gstomxmpeg4videodec.c:
8209 * omx/gstomxvideodec.c:
8210 * omx/gstomxvideodec.h:
8211 omxvideodec: Make the inport and outport index configurable by the subclass
8213 2011-06-28 08:51:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8218 * omx/gstomxmpeg4videodec.c:
8219 * omx/gstomxmpeg4videodec.h:
8220 * omx/gstomxvideodec.c:
8221 * omx/gstomxvideodec.h:
8222 omx: Add initial version of OpenMAX framework, video decoder base class and MPEG4 video decoder
8223 This currently hardcodes a lot of stuff but works at least.
8224 Also adds a generic framework for handling OpenMAX cores, components
8227 2011-06-28 11:47:25 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8229 * omx/gstbasevideocodec.c:
8230 * omx/gstbasevideocodec.h:
8231 * omx/gstbasevideodecoder.c:
8232 * omx/gstbasevideodecoder.h:
8233 basevideodecoder: Don't reorder serialized src events
8234 And allow to drop EOS by the subclass if ::finish returns
8238 2011-06-27 09:41:40 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8240 * omx/gstbasevideocodec.c:
8241 * omx/gstbasevideocodec.h:
8242 * omx/gstbasevideodecoder.c:
8243 basevideo: Add the caps to the GstVideoState and clean up caps/codec_data properly
8245 2011-06-27 09:37:03 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8247 * omx/gstbasevideocodec.c:
8248 * omx/gstbasevideocodec.h:
8249 * omx/gstbasevideodecoder.c:
8250 * omx/gstbasevideodecoder.h:
8251 * omx/gstbasevideoencoder.c:
8252 * omx/gstbasevideoencoder.h:
8253 * omx/gstbasevideoutils.c:
8254 basevideo: Add video encoder/decoder base classes from gst-plugins-bad
8256 2011-06-21 11:17:35 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
8258 * omx/openmax/OMX_Audio.h:
8259 * omx/openmax/OMX_Component.h:
8260 * omx/openmax/OMX_ComponentExt.h:
8261 * omx/openmax/OMX_ContentPipe.h:
8262 * omx/openmax/OMX_Core.h:
8263 * omx/openmax/OMX_CoreExt.h:
8264 * omx/openmax/OMX_IVCommon.h:
8265 * omx/openmax/OMX_Image.h:
8266 * omx/openmax/OMX_Index.h:
8267 * omx/openmax/OMX_IndexExt.h:
8268 * omx/openmax/OMX_Other.h:
8269 * omx/openmax/OMX_Types.h:
8270 * omx/openmax/OMX_Video.h:
8271 * omx/openmax/OMX_VideoExt.h:
8272 openmax: Add OpenMAX IL 1.1.2 headers