[gst-devel] Simple example of a video filter

Brian Michalk michalk at awpi.com
Thu Feb 3 00:09:35 CET 2011



On 02/02/2011 12:58 AM, Aki Suihkonen wrote:
> Hi,
>
> The effectv filters in gst-plugins good may form the starting
> point you need; Even though they don't implement anything
> particularly advanced, such as dealing with different
> input/output rates, different input/output formats or frame sizes,
> they still contain a rather big amount of interfaces and glue
> to the gstreamer infrastructure.
>
> You would basically have to locate the function
> xxxx_transform( GstBaseTransform *trans, GstBuffer *in, GstBuffer *out)
> {
>    GST_OBJECT_LOCK(object)
>
>    GST_OBJECT_UNLOCK(object)
> }
>
> and write your transform function inbetween the LOCK/UNLOCK statements.
> such as
> for (i=0;i<number_of_y_pixels;i++) *dst++=*src++ + 1;
>
> (or + 0x40 to actually see a difference)
>
> The extra stuff is basically there to parse the caps / mimetypes
> and get the necessary formats/widths/heights in order to know
> how many bytes to process.
>
Thanks.  That helped a lot.

Now, I am having problems with unresolved symbols.

I am referencing some functions in video.c, but when I run gst-launch, 
it says those symbols are missing.  I can comment out the functions, and 
my element behaves just fine.




More information about the gstreamer-devel mailing list