Commit graph

53 commits

Author SHA1 Message Date
Francisco Javier Velázquez-García
6389eef70d videotestsrc: Add SMPTE75 RP-219 color bars conformant
Implement 8-bit values of SMPTE RP 2019-1:2014.  The bar widths and
heights are the result of fractions as integers.  The remainders of
widths are distributed in a way that they match the values in Table
C.1 (a) in the specification.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063>
2021-07-01 18:03:14 +02:00
Carl Karsten
99f4899491 videotestsrc: Add options to make ball pattern based on system time, and invert each second.
This adds some extra options that affect pattern=ball mode, allowing the
animation to be synced to running time or wall-time clock for comparing
sync across different instances / pipelines / machines.

Also added is the ability to invert the rendering colours every second,
and some different ball motion patterns.

https://bugzilla.gnome.org/show_bug.cgi?id=740557
2017-01-18 09:52:50 +11:00
Wim Taymans
9bbfc3c848 videotestsrc: add all colors mode 2015-03-10 12:27:03 +01:00
Wim Taymans
042b25542c videotestsrc: add gradient pattern
Makes a gradient between background and foreground color.
2014-10-08 11:36:33 +02:00
David Schleef
0c4beda8f0 videotestsrc: Add pinwheel and spokes patterns 2013-07-31 11:37:33 -07:00
Wim Taymans
e5bc2b0d05 videotestsrc: subsample chroma before packing
Run the chroma subsampler before packing.
2013-05-27 11:05:08 +02:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Wim Taymans
7a3830c40a videotestsrc: Remove more redundant code
Use the video library to do the setup instead of keeping a separate incomplete
list.
2012-06-06 11:18:56 +02:00
Wim Taymans
0290e116eb videotestsrc: use generic packing code
Use the pack functions of the video library to construct the target
image.
Remove redundant functions.
2012-05-29 17:52:07 +02:00
Wim Taymans
27d4061c6c videotestsrc: add support for I420_10 format
Add support for the I420_10 formats
Use the video frame api to get pixels and strides instead of our own
custom versions. Fixes the YVU9 format and probably some others.
2012-05-28 16:16:24 +02:00
Wim Taymans
2732300adc videotestsrc: port to video helpers
Port videotestsrc to use the video helper functions to parse caps and handle
video frames.
Enable GstMetaVideo to make us handle strided video.
2011-06-21 17:36:21 +02:00
Wim Taymans
d06f599193 -base: port elements to new video caps 2011-06-16 12:52:13 +02:00
Thijs Vermeir
956a075fc4 videotestsrc: Fix indentation 2010-09-16 17:25:00 +02:00
Thijs Vermeir
8d14994bb5 videotestsrc: add bar pattern
Simple bar with foreground color on the background color
2010-09-16 17:14:20 +02:00
David Schleef
08be25ce62 videotestsrc: Various improvements
Replace moving-color-bars pattern with smpte100, and change
moving-speed to horizontal-speed.  Default is now 0.  Add
a rotation stage to pattern building.
Allocate a temporary scanline for building images.  Remove
unused code.  Disable several patterns that we're unable to
test and probably never used.  Add other variants of bayer
sampling.  Convert some patterns to use videotestsrc_blend_line.
2010-09-14 13:21:54 -07:00
David Schleef
8e60eca315 videotestsrc: clean up blink pattern 2010-09-14 13:21:54 -07:00
David Schleef
bb80df3a33 videotestsrc: Convert to intermediate AYUV/ARGB
Scanlines are generated into AYUV/ARGB, then converted to the
various formats.
2010-09-14 13:21:54 -07:00
David Schleef
9802339481 videotestsrc: rearrange code to work on scanlines 2010-09-14 13:21:51 -07:00
Thijs Vermeir
809460c651 videotestsrc: add moving color bars pattern
This pattern is moving the color bars with a given
speed. Negative speed is inverting the moving direction.

https://bugzilla.gnome.org/show_bug.cgi?id=628500
2010-09-14 12:33:21 -07:00
David Schleef
131d619737 videotestsrc: Add foreground/background-color properties
Replace solid-color property with foreground-color and add
background-color.  Pull some common code out of each of the
pattern generating functions.  Fix many of the patterns to
use foreground-color/background-color instead of white/black.
Generated images are indentical to previously if foreground-color
and background-color are left as default.

API: GstVideoTestSrc::foreground-color
API: GstVideoTestSrc::background-color
2010-09-05 20:59:34 -07:00
David Schleef
f3a989319b videotestsrc: clean up code
Merge various color structures into one.
2010-08-26 17:20:55 -07:00
David Schleef
c831456188 videotestsrc: Add ball pattern 2010-08-26 17:03:13 -07:00
Mark Nauwelaerts
be6fb6e747 videotestsrc: add solid-color pattern
... which generalizes the current listing of white, black, etc.
In particular, also allow specifying alpha channel, and modify
some structures and pattern filling to cater for alpha value as well.

Fixes #624919.

API: GstVideoTestSrc:solid-color
2010-08-09 09:47:41 +02:00
Benjamin Otte
3bd4aa26ff Add -Wwrite-strings to configure
Fixes for the code included
2010-03-16 17:41:51 +01:00
Tim-Philipp Müller
0ed09fef0d videotestsrc: use C comments instead of C++-style comments 2010-03-15 13:40:47 +00:00
David Schleef
84ed474e6a videotestsrc: add chroma-zone-plate pattern
pattern=chroma-zone-plate is pattern similar to zone-plate,
but in the chroma channels instead of luma.
2010-03-15 01:35:15 -07:00
David Schleef
205ada8454 videotestsrc: add pattern with out-of-gamut colors
Adds a pattern with out-of-gamut colors in a checkerboard
pattern with in-gamut neighbors.  Useful for checking YCbCr->RGB
color matrixing.  Correct matrixing and clamping will cause the
checkerboard pattern to be invisible.
2009-10-06 19:47:01 -07:00
Sebastian Dröge
d48a5614f4 videotestsrc: Add support for 16 bit grayscale in native endianness 2009-05-26 15:26:29 +02:00
Jonathan Rosser
6026260635 gst/videotestsrc/: Add a zone plate pattern generator based on BBC R&D Report 1978/23 (yeah *that* 1978). Try 'video...
Original commit message from CVS:
Patch by: Jonathan Rosser <jonathan.rosser@rd.bbc.co.uk>
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add a zone plate pattern generator based on BBC R&D Report
1978/23 (yeah *that* 1978).  Try 'videotestsrc pattern=zone-plate
kx2=20 ky2=20 kt=1'.
2008-11-21 20:32:56 +00:00
David Schleef
b97e582c57 gst/videotestsrc/: Add "colorspec" property, specifying whether to generate BT.601 or BT.709 video. This only affect...
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add "colorspec" property, specifying whether to generate BT.601
or BT.709 video.  This only affects YCbCr values, not RGB, since
if you're generating a 709 test pattern, presumably you want
709 RGB primaries, not 601.  Also add "smpte75" pattern, which
uses 75% colors instead of 100%, since this is often more useful
for testing (and also follows the SMPTE EG-1 guideline).
2008-11-19 00:24:44 +00:00
Wim Taymans
3bac564cc0 gst/videotestsrc/videotestsrc.*: Add alpha to the color struct.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paint_hline_AYUV),
(paint_hline_str4):
* gst/videotestsrc/videotestsrc.h:
Add alpha to the color struct.
Use a default alpha value of 255 instead of 128.
2007-07-12 15:02:43 +00:00
David Schleef
c655a27ab4 gst/videotestsrc/videotestsrc.*: Add support for video/x-raw-bayer.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add support for video/x-raw-bayer.
2007-05-15 03:53:11 +00:00
David Schleef
e859791a21 gst/videotestsrc/: Add a test pattern called "circular", which has concentric rings with varying radial frequency. T...
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Add a test pattern called "circular", which has concentric
rings with varying radial frequency.  The main purpose of this
pattern is to test fidelity loss in a filter or scaler element.
Notably, this pattern is scale invariant, and is optimally viewed
with a width (and height) of 400.
2007-04-04 02:45:03 +00:00
Tim-Philipp Müller
443dfa5857 gst/videotestsrc/: Add a bunch of exciting new checkers patterns.
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_pattern_get_type),
(gst_video_test_src_set_pattern):
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c: (gst_video_test_src_checkers1),
(gst_video_test_src_checkers2), (gst_video_test_src_checkers4),
(gst_video_test_src_checkers8):
* gst/videotestsrc/videotestsrc.h:
Add a bunch of exciting new checkers patterns.
2006-10-23 12:46:41 +00:00
Tim-Philipp Müller
f306655319 gst/: A few array const-ifications.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
* gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor):
* gst/videotestsrc/videotestsrc.h:
A few array const-ifications.
2006-09-23 15:24:55 +00:00
Tim-Philipp Müller
c063f05389 gst/videotestsrc/videotestsrc.*: Add support for AYUV and the various RGBA formats. Initialise fields of paintinfo st...
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure),
(paint_get_structure), (gst_video_test_src_get_size),
(gst_video_test_src_smpte), (gst_video_test_src_snow),
(gst_video_test_src_unicolor), (paint_setup_AYUV),
(paint_hline_AYUV), (paint_setup_ARGB8888), (paint_setup_ABGR8888),
(paint_setup_RGBA8888), (paint_setup_BGRA8888), (paint_hline_str4):
* gst/videotestsrc/videotestsrc.h:
Add support for AYUV and the various RGBA formats. Initialise
fields of paintinfo structs allocated on the stack.
* tests/check/elements/videotestsrc.c: (right_shift_colour),
(fix_expected_colour), (check_rgb_buf), (got_buf_cb),
(GST_START_TEST), (videotestsrc_suite):
Add unit tests for videotestsrc's RGB output.
2006-09-02 12:59:48 +00:00
Tim-Philipp Müller
650d9ae594 gst/videotestsrc/: Add more uni-colour patterns ("white", "red", "green", and "blue").
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_pattern_get_type),
(gst_video_test_src_set_pattern):
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor),
(gst_video_test_src_black), (gst_video_test_src_white),
(gst_video_test_src_red), (gst_video_test_src_green),
(gst_video_test_src_blue):
* gst/videotestsrc/videotestsrc.h:
Add more uni-colour patterns ("white", "red", "green", and "blue").
2006-09-01 16:12:35 +00:00
Tim-Philipp Müller
0e349ed810 gst/videotestsrc/videotestsrc.h: Use GLib types here (that way we don't have to include the generated _stdint.h heade...
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.h:
Use GLib types here (that way we don't have to include the
generated _stdint.h header, which makes life easier for win32
folks that don't use autotools for the build) (#325990, patch
by: Sergey Scobich).
2006-01-10 10:06:53 +00:00
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +00:00
Thomas Vander Stichele
f39b477379 borgify further clean up docs a little
Original commit message from CVS:
borgify further
clean up docs a little
2005-12-01 01:12:55 +00:00
Tim-Philipp Müller
aaaeceaf4f gst/videotestsrc/videotestsrc.h: Use "_stdint.h" instead of <stdint.h>
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.h:
Use "_stdint.h" instead of <stdint.h>
2005-07-28 18:42:54 +00:00
Tim-Philipp Müller
d9c8b9915c gst/videotestsrc/videotestsrc.h: Use "_stdint.h" instead of <stdint.h>
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.h:
Use "_stdint.h" instead of <stdint.h>
2005-07-28 12:08:00 +00:00
Andy Wingo
09c2e02b0a gst/videotestsrc/: Cleanups.
Original commit message from CVS:
2005-07-19  Andy Wingo  <wingo@pobox.com>

* gst/videotestsrc/: Cleanups.
2005-07-19 12:01:53 +00:00
Andy Wingo
276f6fe559 ext/: ext/ogg/gstoggdemux.c (gst_ogg_demux_perform_seek) (gst_ogg_demux_read_chain, gst_ogg_demux_read_end_chain) ext...
Original commit message from CVS:
2005-05-09  Andy Wingo  <wingo@pobox.com>

* ext/alsa/gstalsasink.h:
* ext/gnomevfs/gstgnomevfssrc.c:
(gst_gnomevfssrc_get_icy_metadata):
* ext/ogg/gstoggdemux.c (gst_ogg_demux_perform_seek)
(gst_ogg_demux_read_chain, gst_ogg_demux_read_end_chain)
* ext/theora/theoradec.c (theora_dec_src_query)
(theora_dec_src_event, theora_dec_sink_event)
(theora_handle_comment_packet, theora_handle_data_packet):
* ext/theora/theoraenc.c (theora_enc_chain):
* ext/vorbis/vorbisdec.c (vorbis_dec_src_event)
(vorbis_dec_sink_event, vorbis_handle_comment_packet):
* gst/audioconvert/gstaudioconvert.c (gst_audio_convert_getcaps):
* gst/typefind/gsttypefindfunctions.c (mp3_type_find)
(qt_type_find):
* gst/videotestsrc/videotestsrc.c (paint_setup_I420)
(paint_setup_YV12, paint_setup_YUY2, paint_setup_UYVY)
(paint_setup_YVYU, paint_setup_IYU2, paint_setup_Y41B)
(paint_setup_Y42B, paint_setup_Y800, paint_setup_IMC1)
(paint_setup_IMC2, paint_setup_IMC3, paint_setup_IMC4)
(paint_setup_YVU9, paint_setup_YUV9, paint_setup_xRGB8888)
(paint_setup_xBGR8888, paint_setup_RGBx8888)
(paint_setup_BGRx8888, paint_setup_RGB888, paint_setup_BGR888)
(paint_setup_RGB565, paint_setup_xRGB1555):
* gst/videotestsrc/videotestsrc.h:
* sys/ximage/ximagesink.c (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c (gst_xvimagesink_get_xv_support)
(gst_xvimagesink_setcaps, gst_xvimagesink_buffer_alloc):
GCC4 fixes.

* ext/ogg/gstoggdemux.c (gst_ogg_demux_find_chains): Use the new
gst_pad_query_position. Fixes oggdemux.
2005-05-09 07:03:13 +00:00
David Schleef
b355a0c389 configure.ac: Require liboil.
Original commit message from CVS:
* configure.ac: Require liboil.
* gst/videotestsrc/gstvideotestsrc.c: Fix up liboil calls, add
a few more.
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
2005-05-09 01:20:55 +00:00
Thomas Vander Stichele
e4916f9cbb cleanup and commenting
Original commit message from CVS:
cleanup and commenting
2004-07-22 15:55:33 +00:00
Johan Dahlin
bf07c7cc9b *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:55 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
David Schleef
899b633288 ext/ffmpeg/gstffmpegenc.c: Fix pad_link function to handle formats that ffmpeg returns as multiple caps structures.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect):
Fix pad_link function to handle formats that ffmpeg returns
as multiple caps structures.
* gst/videofilter/gstvideofilter.c: (gst_videofilter_chain):
Only complain if source buffer is _smaller_ than expected.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_init),
(gst_videoscale_handle_src_event): Resize navigation events
when passing them upstream.
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
* gst/videotestsrc/videotestsrc.c:
* gst/videotestsrc/videotestsrc.h:
Rewrite many of the buffer painting functions to handle odd
sizes (for many formats, size%4!=0 or size%8!=0).  Most have
been verified to work with my video card.
* testsuite/gst-lint:  Add check for elements calling
gst_pad_get_caps() instead of gst_pad_get_allowed_caps().
2004-01-09 01:53:31 +00:00
David Schleef
3b60021408 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00