Commit graph

90 commits

Author SHA1 Message Date
Víctor Manuel Jáquez Leal
d1cd310e42 videocrop: Fix icles tests.
Internally videcrop can call gst_video_crop_set_info() with NULL as in
caps. Then critical messages are raised when the in caps are
processed.

To fix this the in caps are checked, and if they are present, its
capsfeature is extracted, otherwise, the previous raw caps detection
remains as before.

Also the videocrop-test removes the format field in the structure
because now its always passed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1056>
2021-08-17 17:19:16 +00:00
Víctor Manuel Jáquez Leal
862aa25e53 videocrop: Resurrect logging category.
Fix for a regression from commit 8f1384c9. That commit moved the debug
category definition, as static, into a gstvideocropelement.c, but that
category was used as default, in gstvideocrop.c, so it was never used
at logging, so the debug selector never showed the logs for
videocrop.

This patch move back the category definition into gstvideocrop.c and
leaving the function videocrop_element_init() as a noop.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1049>
2021-08-11 16:09:06 +02:00
Markus Ebner
7276b0f9d1 videocrop: Add support for GBR* video formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
2021-04-10 11:26:59 +00:00
Markus Ebner
e31cbce4d5 videocrop: Added support for planar pixel formats > 8bits
- Added support for planar pixel formats with depths greater than 8bits
  to transform_planar implementation
- Added a whole lot of new pixel formats to the support-list

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
2021-04-10 11:26:59 +00:00
Markus Ebner
3ba8abb056 videocrop: Move supported format list into private header
- Moved declaration of supported pixel formats to private header, which
  can be shared between videocrop and aspectvideocrop

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>
2021-04-10 11:26:59 +00:00
Stéphane Cerveau
8f1384c977 videocrop: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
2021-03-29 12:45:23 +02:00
Víctor Manuel Jáquez Leal
db382cbc3d videocrop: handle non raw caps features
Currently, videocrop, only negotiates raw caps (system memory) because
it's the type of memory it can modify. Nonetheless, it's also possible
for the element to handle non-raw caps when only adding the crop meta
is possible, in other words, when downstream buffer pools expose the
crop API.

This patch enable non-raw caps negotiation. If downstream doesn't
expose crop API and negotiated caps are featured, the negotiation
fails.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/915>
2021-03-26 10:19:03 +00:00
Xavier Claessens
6e1758d509 Fix usage of C99
It's 2020, way too early for that, let's stick to C89 for now.
2020-03-23 21:32:04 -04:00
Markus Ebner
5dcbb6b0d8 videocrop: Add support for Y41B and Y42B 2020-03-10 08:24:56 +00:00
Markus Ebner
b562235283 videocrop: Add support for Y444
- Refactored the planar transform method to support all video formats
  that are stored planar, independent of the used subsampling
- Added support for Y444
2020-03-10 08:24:56 +00:00
Markus Ebner
4a9e5bbf8b videocrop: Use G_VALUE_INIT to initialize GValues 2020-03-10 08:24:56 +00:00
Daniel Molkentin
bb1ce82e39 videocrop: allow properties to be animated by GstController 2020-01-03 15:16:02 +01:00
Nicolas Dufresne
e66a4b64b3 videocrop: Also update the coordinate when in-place
This update is needed when the output caps is not changed (e.g. we are
moving a viewport around).

Fixes #669
2019-11-12 17:28:22 -05:00
Nicolas Dufresne
98a5726eba videocrop: Don't always re-run the allocation query
When in-place, running an allocation is not useful since videocrop
is not implicated in the allocation. So only force the allocation
query for the case it was in passthrough. This is needed since the
change in the crop region will likely pull us out of this mode. For the
case we where neither in passthrough or in-place, the allocation query
is already ran by the baseclass, so nothing special is needed.

This fixes performance issues when changing the crop region per frame.
This was reproduced using videocrop2-test.
2019-11-11 16:05:24 -05:00
Nicolas Dufresne
e09b4e9cde videocrop: Cleanup spurious assignment
These are just writing the same thing a second time.
2019-11-11 14:09:47 -05:00
Aaron Boxer
46989dca96 documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
Thibault Saunier
0a6a62aa76 docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
Nicolas Dufresne
3a17f52ca3 videocrop: Add GstVideoCropMeta support
If downstream supports this meta, it will add or update it from
the GstBuffer in-place rather then copying.

https://bugzilla.gnome.org/show_bug.cgi?id=791453
2017-12-17 15:39:53 -05:00
Tim-Philipp Müller
3d979d4e87 videocrop mark crop properties as mutable in playing state 2016-05-23 19:17:08 +01:00
Vineeth TM
1071309870 good: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Luis de Bethencourt
9391622579 Rename property enums from ARG_ to PROP_
Property enum items should be named PROP_ for consistency and readability.
2015-04-27 11:22:11 +01:00
Thiago Santos
0ade8b813f videocrop: print the property values when set
Instead of printing the currently used values. The log is meant
to show what the properties changed to, not what is being currently
used.
2015-04-24 13:55:51 -03:00
Nicolas Dufresne
9c468ef2da videocrop: Remove todo about caps filter
The filter is already interected.
2014-12-15 18:30:01 -05:00
Nicolas Dufresne
36f1a9bce1 videocrop: Make sure new crop is applied
Since "basetransform: Fix caps equality check" commit a7f357,
set_info() will not be called anymore if crop didn't change
the caps. This is fixed by setting "need_update" boolean when
cropping properties has been changed, and then applying these
if they where not applied before rendering the next frame. This
patch also fixed the locking, dropping un-needed custom lock,
and no holding needless lock while doing the operation as we
already hold the streaming lock.

https://bugzilla.gnome.org/show_bug.cgi?id=740787
2014-12-15 18:27:09 -05:00
Joshua M. Doe
837dcfb363 videocrop: Add support for GRAY16_LE/GRAY16_BE
https://bugzilla.gnome.org/show_bug.cgi?id=700331
2013-05-15 09:29:30 +02:00
Tim-Philipp Müller
35fafae241 videocrop: add support for YV12
We can do I420, so we can do YV12 as well.
2012-11-10 18:21:28 +00:00
Nicolas Dufresne
e111068f7b videocrop: Add NV12/NV21 support
https://bugzilla.gnome.org/show_bug.cgi?id=687964
2012-11-10 01:52:44 +01:00
Nicolas Dufresne
1ad8ebac44 videocrop: Add support for automatic cropping
This change enable automatic cropping using -1 set to left, top, right or
bottom property. In the case both side are set to automatic cropping, the
croping will be done equally on both side (in the odd case, right and
bottom cropping will be 1 pixel more).

https://bugzilla.gnome.org/show_bug.cgi?id=687761
2012-11-07 11:20:24 +01:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Wim Taymans
5ec642d0c3 videocrop: port to videofilter 2012-10-17 10:20:12 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Robert Swain
af7fee714d videocrop: Don't return NULL from _transform_caps
If _transform_caps () returns NULL, the basetransform _transform_caps
tries to call gst_caps_is_subset () with a NULL subset which hits an
assertion.
2012-07-27 11:33:12 +02:00
Wim Taymans
37df608fdc fix Y800 format 2012-06-06 13:00:58 +02:00
Wim Taymans
72b7d4884f video: remove duplicate format 2012-05-29 17:52:11 +02:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Wim Taymans
44828add73 update for basetransform change 2012-02-24 11:03:48 +01:00
Wim Taymans
7749cd3f7b update for basetransform lock removal 2012-02-23 11:20:02 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Wim Taymans
7e43e99726 videocrop: fix compilation 2011-10-16 15:32:50 +02:00
Thiago Santos
04080866aa videocrop: Port to 0.11 2011-10-13 15:37:47 -03:00
Stefan Kost
d8167e3071 various (gst): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 18:00:28 +03:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Jan Schmidt
31b2b89cfe Don't use Glib 2.16 function g_strcmp0. 2009-01-30 17:35:49 +00:00
Stefan Kost
a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Thijs Vermeir
18b7726b7b Fix link in documentation of videocrop element 2009-01-24 14:21:56 +01:00
Thijs Vermeir
c1cb1e0c5b Add aspectratiocrop element. Fixes bug #527951
Add new aspectratiocrop element that crops the video
to a specified aspect ratio using videocrop.
2009-01-23 15:52:55 +01:00
Thijs Vermeir
1b82293248 Fix navigation event forwarding while cropping. Fixes bug #567992.
Fix the navigation event forwarding while cropping by adjusting
the mouse position by the amount of cropped pixels.
2009-01-23 10:49:28 +01:00
Luotao Fu
0a89f5e50c gst/videocrop/gstvideocrop.c: Add 8bit grayscale support to videocrop plugin. Fixes #567952.
Original commit message from CVS:
Patch by: Luotao Fu <l dot fu at pengutronix dot de>
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps):
Add 8bit grayscale support to videocrop plugin. Fixes #567952.
2009-01-19 11:44:36 +00:00
Wim Taymans
6ab4698b95 gst/videocrop/gstvideocrop.*: Fix renegotiation when changing properties using the new basetransform features. Fixes ...
Original commit message from CVS:
* gst/videocrop/gstvideocrop.c: (gst_video_crop_init),
(gst_video_crop_transform), (gst_video_crop_transform_caps),
(gst_video_crop_set_caps), (gst_video_crop_set_property):
* gst/videocrop/gstvideocrop.h:
Fix renegotiation when changing properties using the new basetransform
features. Fixes #561502.
* tests/icles/Makefile.am:
* tests/icles/videocrop2-test.c: (make_pipeline), (main):
Add crazy interactive test unit for dynamically changing properties.
2008-11-25 16:06:22 +00:00