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
Tim-Philipp Müller
726254bdde
gst/videocrop/gstvideocrop.c: Fix cropping for packed 4:2:2 formats YUYV/YUY2 and UYVY.
...
Original commit message from CVS:
* gst/videocrop/gstvideocrop.c:
(gst_video_crop_get_image_details_from_caps),
(gst_video_crop_transform_packed_complex):
Fix cropping for packed 4:2:2 formats YUYV/YUY2 and UYVY.
* tests/icles/videocrop-test.c: (check_bus_for_errors),
(test_with_caps), (main):
Block streaming thread before changing filter caps while the
pipeline is running so that we don't get random not-negotiated
errors just because GStreamer can't handle that yet.
2007-01-28 18:28:33 +00:00
Tim-Philipp Müller
a4221727de
gst/videocrop/gstvideocrop.*: Handle packed YUV formats (UYVY, YUY2, YUYV) separately; also, fix passthrough mode; la...
...
Original commit message from CVS:
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init),
(gst_video_crop_init),
(gst_video_crop_get_image_details_from_caps),
(gst_video_crop_transform_packed_complex),
(gst_video_crop_transform_packed_simple),
(gst_video_crop_transform), (gst_video_crop_transform_caps),
(gst_video_crop_set_caps),
(gst_videocrop_clear_negotiated_caps_locked),
(gst_video_crop_set_property):
* gst/videocrop/gstvideocrop.h:
Handle packed YUV formats (UYVY, YUY2, YUYV) separately; also, fix
passthrough mode; lastly, clear negotiated basetransform caps when
the cropping changes in order to force renegotiation.
2006-10-04 22:37:07 +00:00
Tim-Philipp Müller
b6f9f141f0
configure.ac: Bump requirements of -base (videocrop test case needs this).
...
Original commit message from CVS:
* configure.ac:
Bump requirements of -base (videocrop test case needs this).
* gst/videocrop/gstvideocrop.c:
Document sloppy handling of subsampled chroma planes if
left/top cropping is an odd number.
* tests/check/elements/videocrop.c: (handoff_cb),
(videocrop_test_cropping_init_context),
(videocrop_test_cropping_deinit_context),
(videocrop_test_cropping), (check_1x1_buffer), (GST_START_TEST),
(videocrop_suite), (main):
Add another unit test that crops the input to 1x1 (and checks
that that pixel has the expected values in a number of formats).
2006-09-08 16:47:46 +00:00
Tim-Philipp Müller
4b0fe48287
gst/videocrop/: Some quick tests indicate that it doesn't make a great deal of sense to use liboil here, at least not...
...
Original commit message from CVS:
* gst/videocrop/Makefile.am:
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init),
(gst_video_crop_transform_packed),
(gst_video_crop_transform_planar):
Some quick tests indicate that it doesn't make a great deal
of sense to use liboil here, at least not for the memcpy()s
we do, so remove liboil usage until there is clear evidence
it actually makes a positive difference somewhere.
2006-09-08 11:04:24 +00:00
Tim-Philipp Müller
02560091bf
docs/plugins/: Add videocrop to docs.
...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
Add videocrop to docs.
* gst/videocrop/Makefile.am:
* gst/videocrop/gstvideocrop.c:
* gst/videocrop/gstvideocrop.h:
Move boilerplate stuff and structures into a header file.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/videocrop.c: (video_crop_get_test_caps),
(test_unit_sizes), (videocrop_test_cropping_init_context),
(videocrop_test_cropping_deinit_context),
(videocrop_test_cropping), (test_cropping), (videocrop_suite):
Add unit tests for videocrop.
2006-09-02 18:49:01 +00:00
Tim-Philipp Müller
18917b8ab6
Port/rewrite videocrop from scratch for GStreamer-0.10, and make it support all formats videoscale supports ( #345653 ).
...
Original commit message from CVS:
* configure.ac:
* gst/videocrop/Makefile.am:
* gst/videocrop/gstvideocrop.c: (gst_video_crop_base_init),
(gst_video_crop_class_init), (gst_video_crop_init),
(gst_video_crop_get_image_details_from_caps),
(gst_video_crop_get_unit_size), (gst_video_crop_transform_packed),
(gst_video_crop_transform_planar), (gst_video_crop_transform),
(gst_video_crop_transform_dimension),
(gst_video_crop_transform_dimension_value),
(gst_video_crop_transform_caps), (gst_video_crop_set_caps),
(gst_video_crop_set_property), (gst_video_crop_get_property),
(plugin_init):
Port/rewrite videocrop from scratch for GStreamer-0.10, and make
it support all formats videoscale supports (#345653 ).
2006-09-02 15:30:45 +00:00
Stefan Kost
0835d42268
Define GstElementDetails as const and also static (when defined as global)
...
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c:
* ext/bz2/gstbz2enc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/swfdec/gstswfdec.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/colorspace/gstcolorspace.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/librfb/gstrfbsrc.c:
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/smoothwave/gstsmoothwave.c:
* gst/spectrum/gstspectrum.c:
* gst/speed/gstspeed.c:
* gst/stereo/gststereo.c:
* gst/switch/gstswitch.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/vbidec/gstvbidec.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
* sys/cdrom/gstcdplayer.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/glsink/glimagesink.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l2/gstv4l2src.c:
* sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
* sys/ximagesrc/ximagesrc.c:
Define GstElementDetails as const and also static (when defined as
global)
2006-04-25 21:56:38 +00:00
Stefan Kost
687ccc01c7
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
...
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_class_init):
* ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_class_init):
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_class_init):
* ext/arts/gst_arts.c: (gst_arts_class_init):
* ext/artsd/gstartsdsink.c: (gst_artsdsink_class_init):
* ext/audiofile/gstafsink.c: (gst_afsink_class_init):
* ext/audiofile/gstafsrc.c: (gst_afsrc_class_init):
* ext/audioresample/gstaudioresample.c:
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init):
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_class_init):
* ext/divx/gstdivxdec.c: (gst_divxdec_class_init):
* ext/hermes/gsthermescolorspace.c:
(gst_hermes_colorspace_class_init):
* ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_class_init):
* ext/jack/gstjack.c: (gst_jack_class_init):
* ext/jack/gstjackbin.c: (gst_jack_bin_class_init):
* ext/lcs/gstcolorspace.c: (gst_colorspace_class_init):
* ext/libfame/gstlibfame.c: (gst_fameenc_class_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init):
* ext/nas/nassink.c: (gst_nassink_class_init):
* ext/shout/gstshout.c: (gst_icecastsend_class_init):
* ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init):
* ext/sndfile/gstsf.c: (gst_sf_class_init):
* ext/swfdec/gstswfdec.c: (gst_swfdecbuffer_class_init),
(gst_swfdec_class_init):
* ext/tarkin/gsttarkindec.c: (gst_tarkindec_class_init):
* ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_class_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_class_init):
* gst/chart/gstchart.c: (gst_chart_class_init):
* gst/colorspace/gstcolorspace.c: (gst_colorspace_class_init):
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init):
* gst/festival/gstfestival.c: (gst_festival_class_init):
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
* gst/filter/gstiir.c: (gst_iir_class_init):
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
* gst/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init):
* gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_class_init):
* gst/mpeg1sys/gstmpeg1systemencode.c:
(gst_system_encode_class_init):
* gst/mpeg1videoparse/gstmp1videoparse.c:
(gst_mp1videoparse_class_init):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_class_init):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init):
* gst/overlay/gstoverlay.c: (gst_overlay_class_init):
* gst/passthrough/gstpassthrough.c: (passthrough_class_init):
* gst/playondemand/gstplayondemand.c: (play_on_demand_class_init):
* gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_class_init):
* gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_class_init):
* gst/smooth/gstsmooth.c: (gst_smooth_class_init):
* gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init):
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init):
* gst/stereo/gststereo.c: (gst_stereo_class_init):
* gst/switch/gstswitch.c: (gst_switch_class_init):
* gst/tta/gstttadec.c: (gst_tta_dec_class_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_class_init):
* gst/vbidec/gstvbidec.c: (gst_vbidec_class_init):
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init):
* gst/virtualdub/gstxsharpen.c: (gst_xsharpen_class_init):
* gst/y4m/gsty4mencode.c: (gst_y4mencode_class_init):
* sys/cdrom/gstcdplayer.c: (cdplayer_class_init):
* sys/directsound/gstdirectsoundsink.c:
(gst_directsoundsink_class_init):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_class_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_class_init):
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_class_init):
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_channel_class_init):
* sys/v4l2/gstv4l2tuner.c: (gst_v4l2_tuner_channel_class_init),
(gst_v4l2_tuner_norm_class_init):
* sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-08 21:48:01 +00:00