Commit graph

8472 commits

Author SHA1 Message Date
Thiago Santos
213277cc02 waterripple: Adds new waterripple element to geometrictransofmr
Adds an water ripple distortion element to geometrictransform
2010-06-04 15:31:22 -03:00
Thiago Santos
ed7461b589 sphere: Adds new 'sphere' element to geometrictransform
Adds a new element to do 'sphere' effect into geometrictransform
plugin
2010-06-04 15:31:22 -03:00
Thiago Santos
a00614064b geometrictransform: adds some properties to base class
Adds a property to select what to do with pixels that are mapped out of
edges: ignore, clamp or wrap.
2010-06-04 15:31:22 -03:00
Thiago Santos
179e234361 circle: Adds circle element to geometrictransform plugin
Adds the new 'circle' element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
8eab2c8a30 kaleidoscope: Adds new element 'kaleidoscope'
Adds new kaleidoscope element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
53d40802d2 gsttwirl: Adds new element twirl
Adds a new element to geometrictransform plugin: twirl
2010-06-04 15:31:21 -03:00
Thiago Santos
2f9a630a62 geometrictransform: Adds a intermediary baseclass circlegeometrictransform
Adds an intermediary baseclass named gstcirclegeometrictransform
to keep common properties code for filters that operate on
a circular area.
2010-06-04 15:31:20 -03:00
Thiago Santos
dcda4b606c pinch: Some optimization using the prepare func
Small optimization by precalculating the center of the effect,
also use newly added _CAST macro.
2010-06-04 15:31:20 -03:00
Thiago Santos
8c5360a559 geometrictransform: Adds prepare function and cleanup
Adds a prepare function to make subclasses precalculate values
that will be used throughout the mapping functions.

Also adds a missing cleanup to fix a memleak
2010-06-04 15:31:19 -03:00
Thiago Santos
6560248be9 geometrictransform: Precalculate mapping array
Precalculate when setting caps the warping map to avoid
recalculating it every buffer
2010-06-04 15:31:19 -03:00
Thiago Santos
1250a7406d geometrictransform: Accept any rgb or gray
Using gstvideo functions geometrictransform can handle
rgb or gray, put that on template caps
2010-06-04 15:31:19 -03:00
Thiago Santos
525aae23dc geometrictransform: Rename some variables for clarity
Renames some variables and adds a minimum doc to the
mapping function for a little clarity.

Also uses gstvideo functions for the row and pixel strides
instead of hardcoded values
2010-06-04 15:31:18 -03:00
Thiago Santos
b7660b122c geometrictransform: New plugin for geometric transforms
Adds a new plugin that has elements that perform geometric
transformations to images. By geometric transformations I mean
that the operations are functions that given the output pixel
position, get the pixel position in the input image. This pixel
is then copied from input to output.

The gstgeometrictransform baseclass makes it easy to write
such elements. It boils down to write the mapping function
and exposing properties

Already added the first of the elements, 'pinch'. It's a common
effect in image editors, like gimp (distort -> pinch)
2010-06-04 15:31:18 -03:00
David Schleef
fbbb708e9f tools: flesh out element-maker templates 2010-06-03 23:57:46 -07:00
David Schleef
90a2cd5cc5 bayer2rgb: handle other bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
2db6d968d8 rgb2bayer: handle multiple bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
5c1eb82b8a bayer: Add rgb2bayer element
Mostly for testing/completeness.
2010-06-03 23:57:45 -07:00
Tim-Philipp Müller
26e9df08b8 shm: fix debug messages
Misc. printf format fixes and missing arguments.
2010-06-03 20:51:57 +01:00
Olivier Crête
4556222718 shmsink: Make static function static 2010-06-03 15:27:43 -04:00
Olivier Crête
457b5d8ab7 shm: Use gst_element_class_set_details_simple 2010-06-03 15:27:43 -04:00
Olivier Crête
21686e3077 shm: Move to sys/ since it doesn't exist on windows 2010-06-03 15:27:43 -04:00
Olivier Crête
536e79befd shmsrc: Fix indentation 2010-06-03 15:27:43 -04:00
Olivier Crête
f26d799676 shmsink: Print errors if fchmod fails 2010-06-03 15:27:43 -04:00
Olivier Crête
b9decbb056 shmpipe: Fix crash when sp_close_shm is called with self == NULL.
If sp_open_shm errors out trying to open a shm area, it would crash
when trying to free the area. The RETURN_ERROR macro calls
sp_shm_area_dec with self == NULL. sp_shm_area_dec calls
sp_shm_close, with self == NULL, which it then tries to access a
parameter of without checking. This patch checks to make sure
self != NULL before accessing that parameter.
2010-06-03 15:27:43 -04:00
Olivier Crête
e8b4310aa6 shmpipe: Update code standard 2010-06-03 15:27:43 -04:00
Olivier Crête
c60ef5e81f shmsrc: Add socket path to error message 2010-06-03 15:27:43 -04:00
Olivier Crête
f366356fdf shmpipe: Remove wrong test inversion 2010-06-03 15:27:42 -04:00
Olivier Crête
1d893f8157 shmpipe: Verify that accept succeeds 2010-06-03 15:27:42 -04:00
Olivier Crête
d2731d689d shmpipe: Fix one byte overflow 2010-06-03 15:27:42 -04:00
Olivier Crête
2c02d0c0e4 shmsrc: Improve debug prints 2010-06-03 15:27:42 -04:00
Olivier Crête
5c7a160de5 shmsink: Get potentially modified after opening shmpipe 2010-06-03 15:27:42 -04:00
Olivier Crête
7e8eae9f2a shm: Try alternate paths for the socket 2010-06-03 15:27:42 -04:00
Olivier Crête
73fa2f9b76 shmpipe: Don't pretend the path is random 2010-06-03 15:27:42 -04:00
Olivier Crête
7c2a445a72 shmpipe: Create shm area exclusively 2010-06-03 15:27:42 -04:00
Olivier Crête
807da2165a shmalloc: Make it build in non-glib world 2010-06-03 15:27:42 -04:00
Olivier Crête
c8eb511a9d shmsrc: Make the shmpipe life independant of the element states 2010-06-03 15:27:42 -04:00
Olivier Crête
8f8b50a88e shmpipe: Simplify handling of random paths 2010-06-03 15:27:42 -04:00
Olivier Crête
23414310a6 shmpipe: Remove useless attrib 2010-06-03 15:27:42 -04:00
Olivier Crête
007a26ac08 shmpipe: Ref client shmarea when a buffer is received in it 2010-06-03 15:27:42 -04:00
Olivier Crête
68c9ed6e5c shmpipe: Don't dec old shm area when new one is added
Its ref will be dropped when the "close" message arrives
2010-06-03 15:27:41 -04:00
Olivier Crête
4f4ba5981b shmsrc: Lock uses of shmpipe 2010-06-03 15:27:41 -04:00
Olivier Crête
92dccdd170 shmsrc: Add is-live property 2010-06-03 15:27:41 -04:00
Olivier Crête
43de02d25a shm: Print details on errors 2010-06-03 15:27:41 -04:00
Olivier Crête
f97d02375b shm: Make valgrind happy 2010-06-03 15:27:41 -04:00
Olivier Crête
663a8eac54 shmsink: Don't block on EOS in non-blocking mode 2010-06-03 15:27:41 -04:00
Olivier Crête
c5797b06ca shm: Block if required 2010-06-03 15:27:41 -04:00
Olivier Crête
67785f331a shmsink: Port to ShmPipe 2010-06-03 15:27:41 -04:00
Olivier Crête
b6bc52f961 shmsrc: Port to ShmPipe 2010-06-03 15:27:41 -04:00
Olivier Crête
7e90514747 shm: Add shmpipe implementation 2010-06-03 15:27:41 -04:00
Olivier Crête
e87cd0a29a shm: Add shm based sink and src
These two elements (shmsink and shmsrc) communicate buffers using POSIX
shared memory. They also communicate the caps. The source currently acts as
a live source and ignores the timestamps coming from the sink. It also does
not transfer the tags.
2010-06-03 15:27:41 -04:00