gstreamer/ext
Lubosz Sarnecki 80d77aa0a5 gltransformation: implement pivot point for rotation and scale
https://bugzilla.gnome.org/show_bug.cgi?id=744763

Add a pivot vector for setting the origin of rotations and scales.

With the pivot point the rotation and scale operations can have
different origins. This adds the ability to rotate around different points.
Currently the default (0, 0) pivot point is possible,
a rotation around the center, and zooming into and out of the center.

With an pivot point this is optional.
I defined the following image coordinates for the pivot point:

	 (-1,1) ------------------------- (1,1)
		|			|
		|			|
		|			|
		|	  (0,0)		|
		|			|
		|			|
		|			|
	(-1,-1) ------------------------- (1,-1)

Example:

	Rotate the video at the bottom left corner

	gst-launch-1.0 videotestsrc \
			! gltransformation \
		 		scale-x=0.5 \
				scale-y=0.5 \
				rotation-z=25.0 \
				pivot-x=-1.0 \
				pivot-y=-1.0 \
			! glimagesink

The pivot-z option defines the pivot point in 3D space.
This only affects rotation, since we have no Z data to scale.
With this option a video can be rotated around a point in 3D space.

Example:

	Rotate around point behind the video:

    	gst-launch-1.0 videotestsrc \
			! gltransformation \
				rotation-x=10.0 \
				pivot-z=-4.0 \
			! glimagesink
2015-08-08 16:32:53 -04:00
..
apexsink apexsink: Fix buffer overflow, in case anyone ever ports it. 2015-04-16 22:45:31 +10:00
assrender assrender: remove code that can't be reached 2014-08-29 19:26:40 +01:00
audiofile Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
bs2b Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
bz2 bz2: Initialize variables 2014-04-08 09:55:15 +02:00
chromaprint gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
curl curlsshsink: remove redundant else statement 2015-07-06 15:25:16 +01:00
daala docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-27 00:36:32 +01:00
dash dashdemux: Fix leak in gst_dash_demux_stream_update_fragment_info() 2015-08-06 01:24:28 +03:00
dc1394 Remove a bunch of silly ';;' typos at the end of lines 2015-03-12 01:33:03 +11:00
directfb dfbvideosink: remove ignored assignments 2015-06-05 14:49:38 +01:00
dtls dtlsdec: Fix critical warning "got data flow before stream-start event" 2015-06-03 17:12:49 +02:00
dts dtsdec: fix taglist leak 2015-07-31 10:00:13 +01:00
faac Remove obsolete Android build cruft 2015-04-26 18:59:32 +01:00
faad Remove obsolete Android build cruft 2015-04-26 18:59:32 +01:00
flite flite: fix off by one in channel mask building 2014-04-08 17:35:37 +01:00
fluidsynth fluiddec: don't leak incoming caps event 2014-10-10 13:05:49 +01:00
gl gltransformation: implement pivot point for rotation and scale 2015-08-08 16:32:53 -04:00
gme gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
gsettings gsettings: Fix typo in description 2014-09-23 23:15:38 +03:00
gsm gstgsmenc: Unref caps object after usage 2014-08-10 11:26:51 +01:00
gtk gstglwidget: use gst_gl_display_create_context 2015-07-21 15:06:34 +01:00
hls hlsdemux: don't warn about duration if it is not known 2015-08-07 11:24:52 -03:00
kate katedec: handle segment event earlier 2014-07-21 12:36:19 -03:00
ladspa ladspa: fix up broken patch merge 2014-08-10 12:29:04 +01:00
libde265 libde265dec: fix up plugin name and decoder description 2015-06-04 12:53:57 +01:00
libfame gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
libmms gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
libvisual [838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE 2014-03-15 18:37:03 +01:00
lv2 gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
mimic mimdec: Print invalid fourcc in error message in hex 2014-07-04 17:48:14 +01:00
modplug modplug: remove unused variable 2015-02-24 14:01:18 +00:00
mpeg2enc mpeg2enc: break statement unnecessary 2014-09-25 15:45:57 +01:00
mpg123 Remove obsolete Android build cruft 2015-04-26 18:59:32 +01:00
mplex mplex: break statement unnecessary 2014-09-24 14:45:20 +01:00
musepack gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
nas gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
neon neonhttpsrc: add support for SCHEDULING query 2013-05-12 18:52:56 +01:00
ofa ofa: port to 1.0 2013-05-12 23:42:06 +01:00
openal openal: Unref pad template caps after usage 2014-08-10 12:38:57 +01:00
opencv facedetect: fix profile loading check 2015-08-07 15:51:40 +01:00
openexr openexrdec: Don't start scanning for the header from the start again each time 2014-01-18 13:56:28 +01:00
openh264 openh264dec: Unref video frames and codec state in all cases 2015-07-02 18:51:44 +02:00
openjpeg Remove a bunch of silly ';;' typos at the end of lines 2015-03-12 01:33:03 +11:00
openni2 openni2src: do not leak pool 2014-09-16 12:48:25 +03:00
opus opuscommon: Use GString instead of snprintf for concating 2015-07-27 15:24:19 +01:00
qt qml: implement the required multiple GL context synchonisation 2015-08-08 17:30:42 +02:00
resindvd resindvd: remove unused value 2015-05-27 12:03:45 +01:00
rsvg rsvg: Don't leak a GstVideoCodecState 2015-08-04 19:14:43 -04:00
rtmp rtmpsink: Initialize GstMapInfo 2015-06-01 13:56:03 +02:00
sbc sbcenc: Unref output caps in error cases 2014-08-11 15:32:28 +03:00
schroedinger schrodec: optimize parse logic 2014-10-10 13:06:40 +01:00
sdl rectangle: clear rectangle struct before use 2014-12-16 13:35:14 +01:00
smoothstreaming Remove obsolete Android build cruft 2015-04-26 18:59:32 +01:00
snapshot gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
sndfile sndfile: don't decode formats that are better handled by other elements 2014-08-25 12:22:44 +01:00
sndio Use gst_element_class_set_static_metadata() 2012-10-17 17:46:34 +01:00
soundtouch soundtouch: Add missing break in switch 2014-04-08 11:23:50 +02:00
spandsp spandsp: Don't use the private field 'missing_samples' 2015-04-27 10:02:38 -04:00
spc gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
srtp srtpenc: do not check input buffers 2015-07-24 09:28:01 +01:00
teletextdec gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
timidity wildmidi: fix possible uninitialized variables 2014-04-03 11:54:41 +02:00
voaacenc voaacenc: fix output caps for stream-format=ADTS 2015-07-20 12:43:36 +01:00
voamrwbenc Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
wayland waylandsink: g_mkstemp is safer than mkstep 2015-03-03 16:53:32 +00:00
webp Add some missing G_END_DECLS 2014-10-28 21:42:31 +00:00
x265 x265enc: remove dead code 2015-08-05 11:14:51 +01:00
xvid gst: Add better support for static plugins 2013-04-15 15:59:22 +02:00
zbar zbar: don't ignore zbar_scan_image() errors 2015-06-02 12:27:10 -03:00
Makefile.am new qt5 qml GL video sink 2015-07-10 15:25:26 +10:00