Commit graph

335 commits

Author SHA1 Message Date
Luis de Bethencourt
a77d61edc5 textoverlay: remove unused variable
Memory is reserved for this variable but never used. Removing it.
2015-08-28 12:26:45 +01:00
Vanessa Chipirrás Navalón
ad0d035150 faceblur: remove unused variable.
Memory is reserved for this variable and then released without making any
use of it.

https://bugzilla.gnome.org/show_bug.cgi?id=753994
2015-08-28 12:26:45 +01:00
Vanessa Chipirrás Navalón
02d8a4f4e8 faceblur: need to migrate to C++.
The cascade classifier changes its structure on new version of OpenCV 2.4.11.
It is need to migrate to C++ to utilize the new load method of OpenCV which
allows to load the old and new classifiers.

https://bugzilla.gnome.org/show_bug.cgi?id=753994
2015-08-28 12:26:45 +01:00
Vanessa Chipirrás Navalón
acdcfedde2 faceblur: Check CvHaarClassifierCascade is release before being modified.
For PROP_PROFILE case that exist inside gst_face_blur_set_property
function loads the new XML file in the CvHaarClassifierCascade property
without first checking that it is released because maybe there is an XML
file previously loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=753994
2015-08-28 12:26:45 +01:00
Vanessa Chipirrás Navalón
bbd16144ca faceblur: Code refactoring of gst_face_blur_load_profile.
Changes inside the gst_face_blur_load_profile function, the number of
input parameters and in lines where it is used due to it cannot be used
generically.

https://bugzilla.gnome.org/show_bug.cgi?id=753994
2015-08-28 12:26:45 +01:00
Vanessa Chipirrás Navalón
6193f52f2d faceblur: Change gstfaceblur to C++.
Change the gstfaceblur.c file to cpp and add it into Makefile.
It is necessary to migrate the faceblur plugin to C++,
in order to load new and old classifiers, to make faceblur work
with newer versions of Opencv.

https://bugzilla.gnome.org/show_bug.cgi?id=753994
2015-08-28 12:26:45 +01:00
Vanessa Chipirrás Navalón
aa58ff3e46 facedetect: remove unnecessary variable.
Memory is reserved for this variable and then released without making any
use of it.

https://bugzilla.gnome.org/show_bug.cgi?id=748377
2015-08-21 09:28:15 +01:00
Vanessa Chipirrás Navalón
7dd86c26b2 handdetect: remove unnecessary variable.
Memory is reserved for this variable and then released without making any
use of it.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-08-18 13:52:10 +01:00
Vanessa Chipirrás Navalón
fc03a17430 handdetect: check CvHaarClassifierCascade is release before being modified.
Make sure a previous cascade, if it exists, is released before loading a
new XML file onto it.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-08-18 13:32:54 +01:00
Vanessa Chipirrás Navalón
00a55d1a69 handdetect: code refactoring of gst_handdetect_load_profile.
Change gst_handdetect_load_profile() so it can be used generically.

https://bugzilla.gnome.org/show_bug.cgi?id=752528
2015-08-18 12:24:21 +01:00
Luis de Bethencourt
07ee52db5d opencv: support alternative path convention
Some distributions store OpenCV files in /usr/share/opencv and some others
(and default when building from source) install them in
/usr/share/OpenCV. Support both to find cascade files.

https://bugzilla.gnome.org/show_bug.cgi?id=753651
2015-08-17 18:05:50 +01:00
Vanessa Chipirrás Navalón
7a2f5d6b03 facedetect: Refactor the code
Some lines of code are repeated several times, therefore
this lines are simplified with a inline function, that this is
proper style of C++.
2015-08-14 18:28:43 +01:00
Vanessa Chipi
32942c99d8 facedetect: wrong form to write the delete operator
The delete operator is written this way: delete (cascade). This way is
misspelled, it is an operator, not a function. Delete the parentheses.
2015-08-11 11:26:17 +01:00
vanechipi
28f9ff1312 facedetect: simplify repeated code.
Store the value of r.height / 2 instead of repeating the operation line
three times.
2015-08-11 11:18:50 +01:00
vanechipi
73bc2cf7b0 facedetect: Redundancy exists in code.
Checking the vector is not empty and checking the vector size is greater
than zero are the same thing, this is a redundancy in the code. Only
checking the vector is not empty is sufficient, therefore removing the
other check.
2015-08-11 11:13:23 +01:00
Luis de Bethencourt
3a765e0805 facedetect: fix profile loading check
Since the profile gchar depends on DEFAULT_FACE_PROFILE, it should never be
NULL. Furthermore CascadeClassifier accepts any input, even
an empty one, but if the profile fails to load it returns an empty cascade.
Check for this instead, and inform the user if there was an Error.
2015-08-07 15:51:40 +01:00
Luis de Bethencourt
316657a2f8 configure: update OpenCV requirements to 2.3.0
With facedetect ported to C++ the minimum version of OpenCV
supported is 2.3.0

https://bugzilla.gnome.org/show_bug.cgi?id=748377
2015-08-07 13:14:11 +01:00
Luis de Bethencourt
0113029fb9 opencv: facedetect: free IplImage with cvReleaseImage
Using delete() with IplImage will fail to free some of the structure's
contents. cvReleaseImage() is the proper way of freeing the memory.
2015-08-05 11:56:37 +01:00
Luis de Bethencourt
cc8af753b9 opencv: facedetect: check pointer before using it
Check if profile is NULL before dereferencing it with new. Also, new will
never return NULL; if allocation fails, a std::bad_alloc exception will be
thrown instead. Remove check for a NULL return.

CID #1315258
2015-08-05 11:39:03 +01:00
Tim-Philipp Müller
0e70f8c94f opencv: facedetect: fix crashes in finalize
Fixes gst-inspect-1.0 -a crashing.
2015-08-04 14:30:17 +01:00
Jan Schmidt
bd30d516a8 opencv: Fix 32-bit build / format strings.
Use G_GSIZE_FORMAT for format strings where relevant
2015-08-04 00:20:27 +10:00
Thiago Santos
2df67f9da0 templatematch: revert rename of property
The property doesn't need to have its name changed because of C++,
just the instance variables.
2015-08-01 11:52:12 -03:00
Luis de Bethencourt
2111f50a6f templatematch: rename conflicting variable
With the switch of gstopencv.c to C++, all OpenCV elements are built with
g++. The template variable clashes with C++'s feature of the same name.
Rename template to templ to avoid any clash.
2015-07-31 16:49:35 +01:00
Vanessa Chipirrás
78d0c5f01e facedetect: need to migrate to C++
The cascade classifier changes its structure on new version of OpenCV.
The need to migrate to C++ to utilize the new load method of OpenCV which
allows to load the new classifiers.

https://bugzilla.gnome.org/show_bug.cgi?id=748377
2015-07-31 16:49:17 +01:00
Luis de Bethencourt
bf2f4f5c8c docs: decodebin2 -> decodebin 2015-06-25 11:02:45 +01:00
Nicolas Dufresne
55a5c5f7df motioncells: Port to g_get_current_time
This is more portable.

https://bugzilla.gnome.org/show_bug.cgi?id=751221
2015-06-22 15:48:51 -04:00
Luis de Bethencourt
9c729ef678 opencv: 'for' loop initial declaration
'for' loop initial declarations are not allowed in C89, moving the declarations
to before the 'for' loops.
2015-05-27 13:10:35 +01:00
Vineeth T M
6b43d7f770 cvsmooth: rename properties
The properties are named as param1 to param4, which makes very little sense
hence renamed the properties according to what it is doing.

https://bugzilla.gnome.org/show_bug.cgi?id=749523
2015-05-18 10:50:23 +03:00
Vineeth T M
1fa8e75f44 cvsmooth: Wrong assignment of prop leads to crash
when setting param2 property, it is wrongly being assigned to param1.
This leads to wrong behavior and a crash when param2 is set as 0.

https://bugzilla.gnome.org/show_bug.cgi?id=749523
2015-05-18 10:48:49 +03:00
Vineeth T M
8df641016e pyramidsegment: wrong value of level property
The property level has a minimum value of 0. But when we set the level as 0,
it gets an assertion error. The function icvPyrSegmentation8uC3R returns false
if level is set as 0, since the minimum level cant be 0 and thus results in error.
Hence changing the minimum value to 1.

https://bugzilla.gnome.org/show_bug.cgi?id=749525
2015-05-18 10:47:45 +03:00
Edward Hervey
1ce65e2f74 handdetect: remove unneeded check
Variable hands is already checked to contain a value previously at the beginning
of the current block. There is no need to check again. This is logically dead code.

CID 1197693
2015-04-20 14:31:42 +02:00
Руслан Ижбулатов
589407a077 opencv: Change opencv plugin to use opencv2-style includes
If old opencv1-style legacy include directory is available,
this change becomes purely cosmetic (maybe will compile a bit faster).
It becomes an FTBFS fix when opencv1-style include directory is missing
(possibly because opencv package maintainer decided not to pack it).

https://bugzilla.gnome.org/show_bug.cgi?id=747705
2015-04-17 18:34:22 +02:00
Luis de Bethencourt
290508932e motioncells: protect against not found id
If searchIdx() doesn't find the id it returns -1, which breaks
motioncelssvector.at (idx). Check for it and return if not found.

Changing a few other lines for style consistency.
2015-03-05 15:56:44 +00:00
Luis de Bethencourt
632854eba3 opencv: remove always-true check
filter->cvImage has just been used/dereferenced, there would be an error
there if the pointer was NULL. No need to check since it will always be true.
2015-03-05 15:34:32 +00:00
Luis de Bethencourt
3656e0248a motioncells: initialize class variables
Some variables are not initialized in the constructor. It is highly unlikely
they are used before being set, but it is safer to initialize them.

CID #1197704
2015-02-04 11:52:26 +00:00
Luis de Bethencourt
1e287b6fd7 handdetect: remove unneeded check
Variable hands is already checked to contain a value previously at the beginning
of the current block (in line 504). There is no need to check again. This is
logically dead code.

CID 1197693
2015-01-07 16:32:49 +00:00
Nicola Murino
3a0a4a8d70 facedetect: Add new property min-stddev
face detection will be performed only if image standard deviation is
greater that min-stddev. Default min-stddev is 0 for backward
compatibility. This property will avoid to perform face detection on
images with little changes improving cpu usage and reducing false
positives

https://bugzilla.gnome.org/show_bug.cgi?id=730510
2014-09-05 10:38:32 +03:00
Valentin PONS
03b70aecec facedetect: Use NULL to disable eyes/nose/mouth
Without printing a warning about it

https://bugzilla.gnome.org/show_bug.cgi?id=734623
2014-08-13 12:31:17 -03:00
Robert Jobbagy
bd3cefeecc faceblur: facedetect: add properties to faceblur
Makes faceblur have the same properties as facedetect. Also improves
the standard defaults and makes them the same in the 2 elements
2014-07-30 16:43:10 -03:00
Robert Jobbagy
43a4498569 faceblur: post message when profile loading fails 2014-07-30 16:43:10 -03:00
Robert Jobbagy
555d29681b facedetect: faceblur: update launch line examples
Reflect 1.0 and more useful examples
2014-07-30 16:43:10 -03:00
David Rothlisberger
f5992a6cdd opencv templatematch: Set caps to BGR order
templatematch operates on BGR data. In fact, OpenCV's IplImage always
stores color image data in BGR order -- this isn't documented at all in
the OpenCV source code, but there are hints around the web (see for
example
http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00041000000000000000
and http://www.comp.leeds.ac.uk/vision/opencv/iplimage.html ).

gst_templatematch_load_template loads the template (the image to find)
from disk using OpenCV's cvLoadImage, so it is stored in an IplImage in
BGR order. But in gst_templatematch_chain, no OpenCV conversion
functions are used: the imageData pointer of the IplImage for the video
frame (the image to search in) is just set to point to the raw buffer
data. Without this fix, that raw data is in RGB order, so the call to
cvMatchTemplate ends up comparing the template's Blue channel against
the frame's Red channel, producing very poor results.
2014-07-28 14:22:27 -03:00
Thiago Santos
aa5e25820b templatematch: mark pads as proxy caps
Allows negotiation to happen properly
2014-07-28 14:18:02 -03:00
William Manley
1b5483eef9 templatematch: Produce a warning message if we can't load a template image 2014-07-28 14:18:02 -03:00
William Manley
88cb33a1dc templatematch: Match rectangle grows redder with increased match certainty
This is useful for debugging your matches as it indicates how certain the
match was in addition to its position.
2014-07-28 14:18:02 -03:00
William Manley
b608767288 templatematch: Allow changing template property on the fly
Previously changing the template property resulted in an exception
thrown from cvMatchTemplate, because "dist_image" (the intermediate
match-certainty-distribution) was the wrong size (because the
template image size had changed).

Locking has also been added to allow changing the properties (e.g. the
pattern to match) while the pipeline is playing.

 * gst_element_post_message is moved outside of the lock, because it will
   call into arbitrary user code (otherwise, if that user code calls into
   gst_templatematch_set_property on this same thread it would deadlock).

 * gst_template_match_load_template: If we fail to load the new template
   we still unload the previous template, so this element becomes a no-op
   in the pipeline. The alternative would be to keep the previous template;
   I believe unloading the previous template is a better choice, because it
   is consistent with the state this element would be in if it fails to
   load the very first template at start-up.

Thanks to Will Manley for the bulk of this work; any errors are probably
mine.
2014-07-28 14:18:01 -03:00
David Rothlisberger
c77808055d templatematch: Pass video through when nothing to match against
The early return was bypassing the call to gst_pad_push. With no
filter->template (and thus no filter->cvTemplateImage) the rest of this
function is essentially a no-op (except for the call to gst_pad_push).

This (plus the previous commit) allows templatematch to be
enabled/disabled without removing it entirely from the pipeline, by
setting/unsetting the template property.
2014-07-28 14:17:28 -03:00
William Manley
056d652b92 templatematch: Remove no-op call to gst_templatematch_load_template
We have just set filter->template to NULL, so
gst_templatematch_load_template did nothing.
2014-07-28 11:26:13 -03:00
Nicola Murino
bd4ae18938 facedetect: improve enum GstFaceDetectUpdates descriptions
https://bugzilla.gnome.org/show_bug.cgi?id=730509
2014-07-22 06:39:21 -03:00
Nicola Murino
3896dd8413 facedetect: make updates on_change works as expected
https://bugzilla.gnome.org/show_bug.cgi?id=730509
2014-07-22 06:39:21 -03:00
Sebastian Dröge
0ea13d7a65 motioncells: Use no network API if not required 2014-07-11 13:25:18 +02:00
Alexey Pavlov
365d0cfb32 ext: Include winsock.h on Windows when required
https://bugzilla.gnome.org/show_bug.cgi?id=733052
2014-07-11 13:21:21 +02:00
Nicolas Dufresne
25c289f6c4 facedetect: Make cascades dir a little more portable 2014-07-04 21:13:49 -04:00
Nicolas Dufresne
09fc19b83f handdetect: Use already mapped image
No need to map again the image, it's already handled by the base class.
2014-07-04 21:13:49 -04:00
Nicolas Dufresne
efde572cec handdetect: Move size warning in set_caps so it's called once 2014-07-04 21:13:49 -04:00
Nicolas Dufresne
34e23c2e21 faceblur: Port to OpencvVideoFilter base class
This fixes issue whit black frames when special memory, like GlMemory is
in used.

https://bugzilla.gnome.org/show_bug.cgi?id=732756
2014-07-04 21:13:49 -04:00
Nicolas Dufresne
42a83d2c64 cvvideofilter: Don't try to make buffer writable
First this is handle by base transform, hence this is a no-op, and if it wasn't it
would lead to a buffer copy being leaked, and then an unreffed buffer being
pushed downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=732756
2014-07-04 21:13:11 -04:00
Nicolas Dufresne
2acdb2ecf2 cvvideofilter: Check buffer_map return value
Check the resturn value and cleanly fail if we could not mapped the buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=732756
2014-07-04 21:12:38 -04:00
Thiago Santos
f2400d7f16 faceblur: release the haar cascade 2014-06-30 11:54:41 -03:00
Sebastian Dröge
e77a93f6a8 segmentation: Release memory storage in finalize 2014-06-30 00:22:22 +02:00
Sebastian Dröge
d5e7c7bffe textoverlay: Release memory storage and resize image when caps change 2014-06-30 00:18:20 +02:00
Sebastian Dröge
2683c87863 templatematch: Release cvImages when reloading templates are changing caps 2014-06-30 00:15:38 +02:00
Sebastian Dröge
7e0503ca89 pyramidsegment: Release image when changing caps or reusing the element 2014-06-30 00:12:26 +02:00
Sebastian Dröge
e1366c29be handdetect: Release memory storage 2014-06-30 00:09:28 +02:00
Sebastian Dröge
ae1027297c faceblur: Release memory storage
And also release cvImages and memory storage when changing caps or reusing the
element.
2014-06-30 00:07:22 +02:00
Sebastian Dröge
48e95f3d6f edgedetect: Don't leak cvImages when caps are changing or the element is reused 2014-06-30 00:05:53 +02:00
Sebastian Dröge
45ac4ba663 pyramidsegment: Release memory storage when finalizing 2014-06-29 23:43:07 +02:00
Sebastian Dröge
dcccabfe22 textoverlay: Free text buffer in finalize 2014-06-29 22:30:56 +02:00
Nicola Murino
845d33098a motioncells: improve logging
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Nicola Murino
f48358636b motioncells: make framedrop work at 30 fps too
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Nicola Murino
b5cefffb9f motioncells: use standard macro for boolean
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Nicola Murino
bd34e62872 motioncells: fix memleak
Check gst_buffer_map return and remember to unmap and free memory before
returning

https://bugzilla.gnome.org/show_bug.cgi?id=730133
2014-05-14 20:15:05 -03:00
Sebastian Dröge
43e73bc3e9 motioncells: Remove unused private fields 2014-02-08 19:29:33 +01:00
Sebastian Dröge
50321b1ccd segmentation: Fix integer underflow check
error: comparison of unsigned expression < 0 is
always false [-Werror,-Wtautological-compare]
2014-02-08 19:28:26 +01:00
Sebastian Dröge
e8d569f54d faceblur: set maximum feature size to 0x0
Previously faces would only be detected if they were at least 30x30 pixels
large and at most 32x32 pixels. We keep the minimum setting (maybe needs
a property as in facedetect) but disable the maximum feature size.

See https://bugzilla.gnome.org/show_bug.cgi?id=722158
2014-01-14 10:38:37 +01:00
Kipp Cannon
b33b1390cc facedetect: set maximum feature size to 0x0
This disables the "max feature size" feature. The current configuration
is totally busted: The max feature size is hard-coded to 2 pixels more
than the user-supplied min feature size which pretty much means you need
to guess the size of the person's face to within a few pixels to get the
code to find it.

https://bugzilla.gnome.org/show_bug.cgi?id=722158
2014-01-14 10:37:41 +01:00
Tim-Philipp Müller
2d29f22338 opencv: don't unref NULL caps in finalize
Fixes gst-inspect-1.0 -a and generic states unit test.
2013-09-29 23:43:23 +01:00
Nicola Murino
e481ecbf22 facedetect: new property to control bus messages updates
https://bugzilla.gnome.org/show_bug.cgi?id=655622
2013-08-23 13:12:28 +02:00
Sebastian Dröge
21ea46568b opencv: Fix indention 2013-08-23 12:01:32 +02:00
Sebastian Dröge
5e25d41b84 opencv: Port to non-deprecated GMutex/GCond API 2013-08-23 12:01:07 +02:00
Miguel Casas-Sanchez
fbb5dd38c7 opencv: Add disparity-map calculation element
https://bugzilla.gnome.org/show_bug.cgi?id=704760
2013-08-23 11:58:21 +02:00
Miguel Casas-Sanchez
7c2177b19f grabcut: Add GrabCut segmentation element
https://bugzilla.gnome.org/show_bug.cgi?id=702722
2013-07-17 11:28:28 +02:00
Tim-Philipp Müller
67e71d7931 opencv: fix CFLAGS order and add plugins base libs includes to CXXFLAGS
https://bugzilla.gnome.org/show_bug.cgi?id=702297
2013-06-18 12:47:34 +01:00
Alban Browaeys
90b51562ab opencv: fixes build by moving the c++ header to gstsegmentation.cpp
Fixes:
In file included from gstsegmentation.h:51:0,
                 from gstopencv.c:42:
/usr/include/opencv2/video/background_segm.hpp:47:16: fatal error: list:
No such file or directory
 #include <list>
                ^
compilation terminated.

https://bugzilla.gnome.org/show_bug.cgi?id=702297
2013-06-18 13:37:26 +02:00
Miguel Casas-Sanchez
c313e1d3b8 opencv: add foreground/background segmentation element
Add an element to the opencv plugin for foregroung/background image
sequence segmentation, using one out of 3 algorithms.

https://bugzilla.gnome.org/show_bug.cgi?id=701421
2013-06-11 14:32:43 +02:00
Miguel Casas-Sanchez
407f3e1856 opencv: Add colour image enhancement element based on Retinex algorithm
Add colour image enhancement element based on Retinex algorithm. Two types
exist, namely basic and multiscale; both are described in this article:

Rahman, Zia-ur, Daniel J. Jobson, and Glenn A. Woodell. "Multi-scale retinex
for color image enhancement." Image Processing, 1996. Proceedings.,
International Conference on. Vol. 3. IEEE, 1996

Visually speaking the result looks a bit funny, but is pretty invariable to
lightning changes, which is good for some applications, like image
segmentation.

https://bugzilla.gnome.org/show_bug.cgi?id=700977
2013-05-27 11:27:20 +02:00
Miguel Casas-Sanchez
ac4efd2914 opencv: Add skin color detection element
https://bugzilla.gnome.org/show_bug.cgi?id=700654
2013-05-23 11:05:28 +02:00
Sebastian Dröge
e51cd4fe2f gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
Todd Agulnick
71743d13c4 handdetect: fix build on OS/X
gsthanddetect.h:84: error: expected specifier-qualifier-list before 'uint'

https://bugzilla.gnome.org/show_bug.cgi?id=697305
2013-04-05 09:41:26 +01:00
Tim-Philipp Müller
dec865b2ff opencv: use pkgdatadir locally to construct path for custom haar cascades
https://bugzilla.gnome.org/show_bug.cgi?id=685655
2013-03-01 00:14:54 +00:00
Sreerenj Balachandran
757e7c25bf opencv: port handdetect element to 1.0 and add to build
https://bugzilla.gnome.org/show_bug.cgi?id=685655
2013-03-01 00:14:54 +00:00
Andol Li
7faa44057e opencv: add handdetect plugin, initial implementation
The handdetect plugin is for detecting hand gestures using
opencv.

It was created in the course of the Google Summer of Code.

https://bugzilla.gnome.org/show_bug.cgi?id=685655
2013-03-01 00:14:54 +00:00
Tim-Philipp Müller
9e1b75fda3 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
fa20fba1a2 opencv: fix warnings and build against opencv 2.4.x
gstpyramidsegment.c: In function 'gst_pyramid_segment_chain':
gstpyramidsegment.c:307:3: error: implicit declaration of function
'cvPyrSegmentation' [-Werror=implicit-function-declaration]
gstpyramidsegment.c:307:3: error: nested extern declaration of
'cvPyrSegmentation' [-Werror=nested-externs]

https://bugzilla.gnome.org/show_bug.cgi?id=687237
2012-11-03 13:52:08 +00:00
Tim-Philipp Müller
32ba17cd0f Use gst_element_class_set_static_metadata()
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-10-17 17:46:34 +01:00
Mark Nauwelaerts
578861abea replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:27:49 +02:00
Wim Taymans
b8f913555d ffmpegcolorspace is no more 2012-09-14 16:45:34 +02:00
Wim Taymans
0d8f8a5134 rename some caps and elements in examples 2012-09-14 16:29:23 +02:00
Tim-Philipp Müller
1ef529601b opencv: disable motioncells "date" property for now
Shouldn't be of type long. Not sure it's useful at all, so
just disable it for now to see if someone misses it.
2012-09-09 23:52:41 +01:00
Tim-Philipp Müller
41a39d93bf celt, opencv, wayland, dvbsub, festival, hls: printf format fixes 2012-07-15 12:27:12 +01:00
Sreerenj Balachandran
45ca8876b2 opencv: port to 0.11
Basic port to 0.11 API.

https://bugzilla.gnome.org/show_bug.cgi?id=679164
2012-07-14 13:37:55 +01:00
Sebastian Dröge
cda192b3b7 gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 18:02:56 +02:00
Sebastian Dröge
1318a97e0a gst: Update versioning 2012-04-04 14:44:34 +02:00
Sebastian Dröge
860ccd414d Merge remote-tracking branch 'origin/0.10'
Conflicts:
	NEWS
	RELEASE
	common
	configure.ac
	docs/libs/gst-plugins-bad-libs-sections.txt
	docs/plugins/gst-plugins-bad-plugins.args
	docs/plugins/gst-plugins-bad-plugins.hierarchy
	docs/plugins/gst-plugins-bad-plugins.interfaces
	docs/plugins/inspect/plugin-adpcmdec.xml
	docs/plugins/inspect/plugin-adpcmenc.xml
	docs/plugins/inspect/plugin-assrender.xml
	docs/plugins/inspect/plugin-audiovisualizers.xml
	docs/plugins/inspect/plugin-autoconvert.xml
	docs/plugins/inspect/plugin-bayer.xml
	docs/plugins/inspect/plugin-bz2.xml
	docs/plugins/inspect/plugin-camerabin2.xml
	docs/plugins/inspect/plugin-celt.xml
	docs/plugins/inspect/plugin-dataurisrc.xml
	docs/plugins/inspect/plugin-debugutilsbad.xml
	docs/plugins/inspect/plugin-dtmf.xml
	docs/plugins/inspect/plugin-dtsdec.xml
	docs/plugins/inspect/plugin-dvbsuboverlay.xml
	docs/plugins/inspect/plugin-dvdspu.xml
	docs/plugins/inspect/plugin-faac.xml
	docs/plugins/inspect/plugin-faad.xml
	docs/plugins/inspect/plugin-gsm.xml
	docs/plugins/inspect/plugin-h264parse.xml
	docs/plugins/inspect/plugin-mms.xml
	docs/plugins/inspect/plugin-modplug.xml
	docs/plugins/inspect/plugin-mpeg2enc.xml
	docs/plugins/inspect/plugin-mpegdemux2.xml
	docs/plugins/inspect/plugin-mpegtsdemux.xml
	docs/plugins/inspect/plugin-mpegvideoparse.xml
	docs/plugins/inspect/plugin-mplex.xml
	docs/plugins/inspect/plugin-pcapparse.xml
	docs/plugins/inspect/plugin-rawparse.xml
	docs/plugins/inspect/plugin-rtpmux.xml
	docs/plugins/inspect/plugin-rtpvp8.xml
	docs/plugins/inspect/plugin-scaletempo.xml
	docs/plugins/inspect/plugin-schro.xml
	docs/plugins/inspect/plugin-sdp.xml
	docs/plugins/inspect/plugin-segmentclip.xml
	docs/plugins/inspect/plugin-shm.xml
	docs/plugins/inspect/plugin-videomaxrate.xml
	docs/plugins/inspect/plugin-videoparsersbad.xml
	docs/plugins/inspect/plugin-vp8.xml
	docs/plugins/inspect/plugin-y4mdec.xml
	ext/celt/gstceltdec.c
	ext/dts/gstdtsdec.c
	ext/modplug/gstmodplug.cc
	ext/opus/gstopusenc.c
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideodecoder.h
	gst-libs/gst/video/gstbasevideoencoder.c
	gst-libs/gst/video/gstbasevideoencoder.h
	gst/adpcmdec/Makefile.am
	gst/audiovisualizers/gstbaseaudiovisualizer.c
	gst/h264parse/gsth264parse.c
	gst/mpegdemux/mpegtsparse.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/mpegtsdemux/mpegtspacketizer.c
	gst/mpegtsdemux/mpegtsparse.c
	gst/mpegtsdemux/tsdemux.c
	gst/mpegtsdemux/tsdemux.h
	gst/mxf/mxfdemux.c
	gst/rawparse/gstaudioparse.c
	gst/videoparsers/gsth263parse.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	sys/decklink/gstdecklinksink.cpp
	sys/dvb/gstdvbsrc.c
	sys/shm/gstshmsrc.c
	sys/vdpau/h264/gstvdph264dec.c
	sys/vdpau/mpeg/gstvdpmpegdec.c
	tests/examples/opencv/gst_element_print_properties.c
	win32/common/config.h
2012-03-29 17:41:53 +02:00
Nicola Murino
362727b9f4 facedetect: fix structure leak
https://bugzilla.gnome.org/show_bug.cgi?id=672294
2012-03-18 00:52:25 +00:00
Nicola Murino
0fad58c123 opencv: fix memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=672295
2012-03-18 00:40:33 +00:00
Tim-Philipp Müller
692bf9ba63 opencv: fix configure check and build with opencv 2.1
AC_CHECK_HEADERS() calls action-if-not-found also if just one of
the headers checked for is missing, which is not what we wanted.
Also, check for highgui_c.h instead of highgui.hpp.

https://bugzilla.gnome.org/show_bug.cgi?id=672226
2012-03-17 14:53:50 +00:00
Stefan Sauer
486ddd38cf facedetect: initialize some arbitrary variable that gcc-4.6 can track properly
The access to them is clearly guarded by the booleans though.
2012-03-16 17:07:46 +01:00
Stefan Sauer
99fb8e941a opencv: cosmetic code changes
Check for the availability of the detectors in the processing function to avoid
setting up the ROIs. Use the booleans for have_xxx more.
2012-03-16 13:14:48 +01:00
Stefan Sauer
d4509a2fda opencv: use opencv prefix from pkgconfig to lookup datafiles
Don't hardconde /usr to lookup datafiles (such as haar cascades).
2012-03-16 12:58:56 +01:00
Stefan Sauer
2311a0ac0e facedetect: skip detection for unavailable detectors 2012-03-16 12:04:11 +01:00
Stefan Sauer
6fde848ada facedetect: move the detector to an own method to hide the ugly ifdefs
This improves the readability in the actual processing function.
2012-03-15 23:17:55 +01:00
Stefan Sauer
fbcee587f4 facedetect: always send facedetect message
The application might like to know, when we don't see the face anymore.
2012-03-15 23:08:40 +01:00
Stefan Sauer
3d7c8aad70 facedetect: don't skip faces
Skipping faces at this point makes us lie about the num-ber of faces and also
causes leaks.
2012-03-15 22:34:45 +01:00
Tim-Philipp Müller
61ca28696f opencv: make build with opencv 2.3.1 as in debian sid
Where highgui.h doesn't exist any more, but only opencv2/highgui/highgui.hpp.
Also, not quite sure why we're checking for cvaux.h, it's not used anywhere.
2012-03-15 00:05:41 +00:00
Sebastian Dröge
a2a4300241 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	ext/kate/gstkateenc.c
	gst/colorspace/colorspace.c
	gst/mpegvideoparse/mpegvideoparse.c
2012-01-25 13:22:43 +01:00
Vincent Penquerc'h
1dfbb14be5 opencv: fix missing finalize chaining to parent class
Not compiled, I do not have the necessary dependencies.
2012-01-16 17:10:30 +00:00
Edward Hervey
f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Nicola Murino
b5ebf76d32 replace propset_mutex with GST_OBJECT_LOCK 2011-11-30 15:11:50 +01:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +00:00
Stefan Sauer
181be8d52b opencv: port baseclass to 0.11 2011-11-25 23:11:32 +01:00
Stefan Sauer
b7cb6ecedb opencv: use caps constants more 2011-11-18 20:57:31 +01:00
Stefan Sauer
4f69b60ac0 opencv: fixup doc blobs 2011-11-18 20:57:31 +01:00
Stefan Sauer
c613904c68 opencv: fixup gobject naming conventions 2011-11-18 20:57:31 +01:00
Stefan Sauer
ee91057526 opencv: remove empty finalize implementations 2011-11-18 08:30:37 +01:00
Stefan Sauer
fefa1df8b9 facedetect: detect face features
Also detect mouth, nose and eyes. Drop faces that don't have them. Fixes leaking the
cascades. Adds more docs.
2011-11-16 21:03:36 +01:00
Stefan Sauer
a857c90590 facedetect: Gstfacedetect -> GstFacedetect 2011-11-16 21:03:36 +01:00
Stefan Sauer
94534a0b83 facedetect: code maintenance
Update example to be useful. Draw colored ellipses instead of unicolor circles.
Reflow code for more local variables. Improve parameter descriptions.
2011-11-16 21:03:36 +01:00
Mart Raudsepp
61cc352902 mimic, opencv, vp8, acmmp3dec, linsys: Don't build static plugins
Pass --tag=disable-static to libtool everywhere where it's been forgotten

https://bugzilla.gnome.org/show_bug.cgi?id=663768
2011-11-11 11:54:15 +00:00
Nicola Murino
436620fff9 fix valgrind warning about Conditional jump or move depends on uninitialised value(s) 2011-08-26 15:54:19 +02:00
Nicola Murino
71a2a1be8e Move m_pprevFrame free just before the clone of the latest frame for readability 2011-08-26 15:54:19 +02:00
Stefan Sauer
f241dafe5c motioncells: turn two global vars into static variables
Move 2 variable to motioncells_warpper and make them static.
2011-08-04 13:36:05 +02:00
Tim-Philipp Müller
7e49dad23b Fix some more variable-set-but-not-used compiler warnings 2011-08-02 22:57:15 +01:00
Robert Jobbagy
4723a5d90c motioncells: new element to detect areas of motion 2011-07-28 10:28:50 +02:00
Sreerenj Balachandran
c0f9c74ca6 facedetect: Remove dead code and some minor doc changes. 2011-05-14 12:08:39 +02:00
Sreerenj Balachandran
3320a03e20 edgedetect: Remove dead code and some minor doc changes 2011-05-14 12:08:39 +02:00
Fabrizio Milo
7e5c7048d6 opencv: make work with openCV 2.2
https://bugzilla.gnome.org/show_bug.cgi?id=641796
2011-04-22 09:38:15 +01:00
Sreerenj Balachandran
d6a1eebf37 opencv text overlay: rename and docuemnt
Rename the element textwrite to opencvtextoverlay. Add proper structuring to
opencv textoverlay element.

Fixes: #640561
2011-03-28 20:31:35 +03:00
Edward Hervey
4067ef886d opencv: Remove dead assignments
... and fix indentation
2010-11-25 18:43:05 +01:00
Josh Doe
6e43f75df3 opencv: fix caps issues and extend supported caps for some elements
Some elements had vague caps, such as "video/x-raw-rgb", which caused problems
at least with textwrite. For other elements, the underlying OpenCV functions
support more than just one image type, so I increased the number of supported
caps.

I created a utility function "gst_opencv_caps_from_cv_image_type", so each
element creates caps directly from OpenCV image types, such as CV_8UC1 for
8-bit grayscale. This function uses gstvideo to create uniform caps.

https://bugzilla.gnome.org/show_bug.cgi?id=635304
2010-11-22 22:25:18 -03:00
Stefan Kost
0387a89cad various (ext): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2010-10-19 17:13:26 +03:00
Tim-Philipp Müller
960ccc118f opencv: define CV_NO_BACKWARD_COMPATIBILITY to suppress warnings caused by compat header
Compile with -DCV_NO_BACKWARD_COMPATIBILITY for now, so that the compat header
doesn't get included, which causes compiler warnings that (it seems) can't be
switched off easily. As a result, we also specify a max. version in configure,
so the build doesn't break if our code doesn't compile against newer opencv
versions any more with that flag.
2010-09-09 15:29:31 +01:00
Tim-Philipp Müller
41b9b76fa5 opencv: avoid 'unused' compiler warnings with inline functions in opencv headers
Override CV_INLINE to avoid 'unused' gcc warnings. GLib will take care of defining
'inline' sufficiently and OpenCV's define isn't good enough to avoid 'unused'
compiler warnings (at least in version 2.1.0).
2010-09-09 15:29:31 +01:00
Tim-Philipp Müller
e2b45f5155 opencv: update plugin source package name and origin 2010-09-09 15:29:31 +01:00
Thiago Santos
19ba4c8d19 facedetect: Add more parameters
Expose the parameters of cvHaarDetectObjects in facedetect
element.
2010-09-08 23:59:38 -03:00
Thiago Santos
27fedbb352 opencv: Refactor files structure
Remove internal folders and put all code inside the main plugin
folder. Also fixes some building warnings.
2010-09-08 17:15:51 -03:00
Thiago Santos
cf86df2d00 opencv: Adds new plugin opencv
Moves opencv plugin from http://github.com/Elleo/gst-opencv
into -bad module.
2010-09-08 17:15:51 -03:00
Thiago Santos
0c61434945 facedetect: Post an useful message
Add a message to be post when faces are found on a frame that
contains all faces on a single message and also has
timestamp/running/segment times for that buffer so it
can be identified.

This message is called 'facedetect' and has a 'faces' list
of structures with all faces.

The old 'face' message is still posted for each face found, but
it is not really useful as it doesn't have any reference to the
buffer that generated it.
2010-09-08 17:15:51 -03:00
Thiago Santos
77fe3e6a07 facedetect: Use GstOpencvVideoFilter as the base class
Port facedetect to use GstOpencvVideoFilter as the base class
to inherit all the goodness that GstBaseTransform/GstVideoFilter
already handles.
2010-09-08 17:15:51 -03:00
Thiago Santos
dcb97354bf opencvbasetrans: Use GstVideoFilter as the base class
Port from GstBaseTransform to GstVideoFilter as the base class.
2010-09-08 17:15:50 -03:00
Thiago Santos
4c03c980ce cvlaplace: adds new cvlaplace element
Adds new cvlaplace element.

Also adds a new opencvbasetransform function to be overriden
by children classes: the cv_set_caps, it allows children classes
to know what are they going to handle and prepare properly.
2010-09-08 17:15:50 -03:00
Thiago Santos
e17b555efd Adds new element cvsobel 2010-09-08 17:15:50 -03:00
Thiago Santos
8f5b32f764 Adds new element cvequalizehist 2010-09-08 17:15:50 -03:00
Thiago Santos
f38911209d Adds new elements cvdilate and cverode
Adds 2 similar elements (so similar they have their own baseclass),
cvdilate and cverode.
2010-09-08 17:15:50 -03:00
Thiago Santos
128091a1cc cvsmooth: Improve parameters docs 2010-09-08 17:15:50 -03:00
Thiago Santos
f770de8a8b cvsmooth: Deactivating blur-no-scale
Deactivate blur-no-scale because basetransform doesn't provide a way
to override getcaps for pads, always using templatecaps independent
of properties.
2010-09-08 17:15:50 -03:00
Thiago Santos
971fe3ae0c cvsmooth: Add support for video/x-raw-gray 2010-09-08 17:15:50 -03:00
Thiago Santos
824d69d5ad Adding gstopencvutils
Adds a file to keep utilitary functions together
2010-09-08 17:15:50 -03:00
Thiago Santos
f47c4d3905 cvsmooth: Adds new element cvsmooth
Adds new cvsmooth element
2010-09-08 17:15:50 -03:00
Thiago Santos
6fd5cb9b62 gstopencvbasetrans: Adds this new base class
Adds GstOpencvBaseTransform as base class for simple 1:1
opencv filters
2010-09-08 17:15:49 -03:00
Thiago Santos
b8b0c39a63 pyramidsegment: Allocate a new buffer for output
Use a newly allocated buffer for output, and release the intermediary
image used.

Also add a TODO for performance improvement
2010-09-08 17:15:49 -03:00
Thiago Santos
5a9d9a8ae0 faceblur: facedetect: templatematch: textwrite: Set buffer to writable
These elements operates in place, set buffer to writable before
operating.
2010-09-08 17:15:49 -03:00
Thiago Santos
42984056db edgedetect: Fix chain buffer handling
Allocate a new output buffer instead of using the input buffer
pointing to the internal cvCEdge opencv's IplImage data, which
might change, consequently changing the buffer.
2010-09-08 17:15:49 -03:00
Thiago Santos
069c1369a2 configure: enable -Werror to improve code
-Werror on git version is useful to keep code clean.
2010-09-08 17:15:49 -03:00
Sreerenj Balachandran
a33e117af7 Added the property for setting the RGB colours.
modified:   ext/opencv/textwrite/gsttextwrite.c
	modified:   ext/opencv/textwrite/gsttextwrite.h
2010-09-08 17:15:49 -03:00
Sreerenj Balachandran
6d4f9ceeb5 Added the property for setting the "thickness" of font
modified:   ext/opencv/textwrite/gsttextwrite.c
	modified:   ext/opencv/textwrite/gsttextwrite.h
2010-09-08 17:15:49 -03:00
Sreerenj Balachandran
ce5eb639cd Added the property for setting x and y co-ordinates
modified:   ext/opencv/textwrite/gsttextwrite.c
	modified:   ext/opencv/textwrite/gsttextwrite.h
2010-09-08 17:15:49 -03:00
Sreerenj Balachandran
d962551fb7 added the propery for setting x and y co-ordinates
modified:   ext/opencv/textwrite/gsttextwrite.c
	modified:   ext/opencv/textwrite/gsttextwrite.h
2010-09-08 17:15:49 -03:00
Mike Sheldon
96a769dc28 Apply Stefan's faceblur fixes to facedetect 2010-09-08 17:15:48 -03:00
Sreerenj Balachandran
fa8210fe94 Add simple text overlay plugin 2010-09-08 17:15:48 -03:00
Stefan Kost
af83f0afd7 faceblur: fix handling of profile property.
Dup and free the string. Fixes leaking new values and avoids crashing
gst-inspect.
2010-09-08 17:15:48 -03:00
Mike Sheldon
f35f701996 Fix includes in template matching element 2010-09-08 17:15:48 -03:00
Mike Sheldon
babe97ca50 Bring code in to line with general Gstreamer standards 2010-09-08 17:15:48 -03:00
Mike Sheldon
0961dbefd4 Fix segfault in template match element if no template has been set
Add template matching python example
Add autotool, libtool and pkgconfig dependencies to debian control file
2010-09-08 17:15:48 -03:00
Mike Sheldon
f8a49aeabd Add a plugin for automatically blurring faces in videos and images 2010-09-08 17:15:48 -03:00
Noam
6bb2bbd9c3 Added control for changing method 2010-09-08 17:15:48 -03:00
Noam
2195e2b123 Added templatematch element 2010-09-08 17:15:48 -03:00
kapil
cf9d13bb4c Registering all elements under opencv plugin 2010-09-08 17:15:48 -03:00
Mike Sheldon
2f77a06d23 Fix the profile parameter in the facedetect element to accept a string correctly 2010-09-08 17:15:47 -03:00
Mike Sheldon
4b9ae0088b Release OpenCV images when finalizing elements 2010-09-08 17:15:47 -03:00
kapil
046ca445b8 Fixed compile errors 2010-09-08 17:15:47 -03:00
Mike Sheldon
aae2576679 Make face detect send a bus message when a face is detected
Write a simple python example for face detection
2010-09-08 17:15:47 -03:00
Mike Sheldon
7408e5393e Add face detection element
Clean up some generated files
Update a few old comments
2010-09-08 17:15:47 -03:00
Mike Sheldon
b96c01f29a * Remove some autotools generated files 2010-09-08 17:15:47 -03:00
Mike Sheldon
1af8fa1066 * Make it possible to set threshold2 at runtime
* Implement pyramid segmentation element
* Make masking optional on edgedetect
* Clean up edgedetect, add element details
* Implemented edge detect element
2010-09-08 17:15:47 -03:00