Commit graph

62 commits

Author SHA1 Message Date
Wim Taymans 1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Vincent Penquerc'h 8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Wim Taymans 21073e98cf port to new memory API 2012-01-25 14:51:25 +01:00
Wim Taymans 27ee60a27b port to new gthread API 2012-01-19 11:34:26 +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
Matej Knopp 9d0bdcf6d7 Fix printf format compiler warnings on OS X / 64 bit
https://bugzilla.gnome.org/show_bug.cgi?id=662618
2011-11-23 23:43:15 +00:00
Wim Taymans 940de5b195 add parent to pad functions 2011-11-17 15:53:42 +01:00
Wim Taymans 6d92ecac75 add parent to query function 2011-11-16 17:30:38 +01:00
Wim Taymans 5231ae7252 _peer_get_caps() -> _peer_query_caps() 2011-11-15 17:24:07 +01:00
Wim Taymans 03713e5045 change getcaps to query 2011-11-15 16:34:13 +01:00
Wim Taymans 5de9be0fdd dvbsuboverlay: port to 0.11 2011-10-10 10:15:05 +02:00
Tim-Philipp Müller cc9e490313 dvbsuboverlay: fix up copyrights 2011-08-03 13:54:21 +01:00
Thibault Saunier 17fd7ebcb4 android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:27:11 +02:00
Sebastian Dröge bdf51f12d2 dvbsuboverlay: Remove some unused variables in the I420 blending function 2011-03-18 09:33:26 +01:00
Raimo Järvi 9e7d1ba888 dvbsuboverlay: Fix using alpha values in blitting.
Use each pixel's own alpha value instead of average alpha value when
calculating color components. Fixes bug #639763.
2011-03-18 09:27:08 +01:00
Tim-Philipp Müller ed8e27b237 dvbsuboverlay: some more minor clean-ups 2011-01-05 13:44:04 +00:00
Janne Grunau 43bfb0009a dvbsuboverlay: fix leak of "clear screen" DVBSubtitles structs 2011-01-04 15:06:17 +00:00
Janne Grunau 9f02f693de dvbsuboverlay: fix two minor deinitialization memory leaks 2011-01-04 13:51:55 +00:00
Janne Grunau 994156c1b8 dvbsuboverlay: remove unnecessary RGB -> YUV conversion by using YUV palettes
the default CLUTs still use RGB -> YUV conversions since the standard defines
them as RGBA values.
2011-01-03 20:23:24 +00:00
Alessandro Decina 143efa727e dvbsuboverlay: fix compiler warnings 2010-12-27 13:20:28 +01:00
Tim-Philipp Müller 7a21a19499 dvbsuboverlay: clean-up: allocate flat array of rectangles
instead of an array of pointers to individually-allocated rectangles.
2010-12-27 11:10:53 +00:00
Tim-Philipp Müller e35a3ddbf9 dvbsuboverlay: clean-up: merge private data struct into main struct 2010-12-25 16:31:00 +00:00
Tim-Philipp Müller f8dc80a8b7 dvbsuboverlay: clean-up: dvb sub parser helper doesn't need to be a GObject 2010-12-25 16:30:50 +00:00
Tim-Philipp Müller 767c29cc2f dvbsuboverlay: use GST_LOG etc. for logging
The dvbsub routines were originally designed as a mini lib with a
log callback (which from the looks of it in our case would always
be called and always assemble the string even with debug output
disabled). Some of these debug statements can probably be removed
or cleaned up some more.
2010-12-17 10:50:56 +00:00
Tim-Philipp Müller c64df2ebc2 dvbsuboverlay: remove some unused defines 2010-12-17 10:50:47 +00:00
Tim-Philipp Müller d9f83ad938 dvbsuboverlay: fix atomic access 2010-12-17 10:50:36 +00:00
Janne Grunau b73ae45460 dvbsuboverlay: fix rendering artefacts
Initialize source x position for odd height special case.
2010-12-16 15:33:59 +00:00
Edward Hervey b191fb2b05 dvbsuboverlay: The enable property is a boolean and not an integer 2010-12-16 11:29:07 +01:00
Sebastian Dröge a99e13cd5a dvbsuboverlay: Rename DVB subtitling media type to subpicture/x-dvb 2010-12-15 21:11:29 +01:00
Sebastian Dröge a71c3f7e48 dvbsuboverlay: Don't draw anything on the video if the enable property is set to FALSE 2010-12-15 20:54:35 +01:00
Sebastian Dröge 65598884d2 dvbsuboverlay: Add #defines for the property default values 2010-12-15 20:53:21 +01:00
Sebastian Dröge e9fa2fcd8b dvbsuboverlay: Use g_atomic_int_get() for reading the max_page_timeout field 2010-12-15 20:51:12 +01:00
Janne Grunau 9b3b1aedea dvbsuboverlay: use atomic instructions to set/get enable property 2010-12-15 20:47:25 +01:00
Janne Grunau 533453186e dvbsuboverlay: add property to limit page_time_out to a setable maximum 2010-12-15 20:47:25 +01:00
Janne Grunau 36b101cfb8 dvbsuboverlay: implement display definition segment subtitle windows
simplifies subtitle scaling in blit_i420()
2010-12-15 20:47:25 +01:00
Janne Grunau 4d8220b033 dvbsuboverlay: scale subtitles according to the display size
Display size is either transmitted in the display definition segment or
implicitly defined to 720x576. The subtitle window information also present in
the display definition segment is not yet used.
2010-12-15 20:47:25 +01:00
Janne Grunau 83a84ba230 dvbsuboverlay: implement display definition segment parsing 2010-12-15 20:47:25 +01:00
Janne Grunau 2f6f78caa3 dvbsuboverlay: fix luma stride for scaled subtitles (display width != width) 2010-12-15 20:47:24 +01:00
Alessandro Decina 5c097c447b dvbsuboverlay: fix compiler warnings on OSX. 2010-12-08 19:36:48 +01:00
Sebastian Dröge 04eb581480 dvbsuboverlay: Implement nearest neighbour scaling for the subpictures
This becomes necessary when SDTV subtitles are used for HDTV videos.
2010-12-08 16:30:12 +01:00
Sebastian Dröge 8974371914 dvbsuboverlay: Revert some parts of last commit that shouldn't be committed 2010-12-08 16:30:11 +01:00
Sebastian Dröge 68b8fca047 dvbsuboverlay: Really choose the latest possible subpictures
And not the first subpictures that are still valid according to the
page timeout.
2010-12-08 16:30:11 +01:00
Sebastian Dröge e25a1dc0cc dvbsuboverlay: Refactor blending function and take average of all chroma values 2010-12-08 16:30:11 +01:00
Sebastian Dröge 2282a08890 dvbsuboverlay: Improve selection of current to be displayed subpictures
Drop all subpictures that are too old anyway and clear the currently
displayed subpictures if num_rects==0 happens.
2010-12-08 16:30:11 +01:00
Sebastian Dröge 01cf79ae59 dvbsuboverlay: Implement clipping of video buffers
Also don't clip subpicture buffers, they have no duration and
clipping them doesn't make much sense here.
2010-12-08 16:30:11 +01:00
Sebastian Dröge 672cb276be dvbsuboverlay: Clean up locking some more 2010-12-08 16:30:10 +01:00
Sebastian Dröge 92109fdfbc dvbsuboverlay: Flush subtitles and all internal state when needed 2010-12-08 16:30:10 +01:00
Sebastian Dröge 472cace08b dvbsuboverlay: Set the global library log function exactly once
And don't use one of the possibly many renderer instances, this is only
calling for crashes.
2010-12-08 16:30:10 +01:00
Sebastian Dröge 2a976ae133 dvbsuboverlay: Remove lots of commented out and unused code and clean up locking 2010-12-08 16:30:10 +01:00
Mart Raudsepp a203ad1aab dvbsuboverlay: Fix more of the blending, so it looks quite good now
* libdvbsub gives us alpha channel already, not transparency level, so
don't do another "alpha = 255 - alpha", this is done by libdvbsub.
* Fix alpha channel handling in interpolation - assrender had an additional
1bpp alpha bitmap as a possible mask, we don't. So don't use the palette
index array as alpha values; bug from quick code porting long ago to
changing pixel colors (assrender has a single pixel color for whole
regions or something, unlike dvbsub, which has indexed colors).
* Don't forget to reassign our YUV and other local pixel color variables
after shifting to work on the bottom part of a 2x2 subsample block, or
it's obviously very blocky.

Remaining issues in blending:

* Should probably be interpolating or doing something else useful with the
resulting U and V channels, so that most of the source pixel UV values would
actually be actually cared about, except for just one out of possibly four.

* Don't convert AYUV to ARGB in libdvbsub, and then back from ARGB to AYUV in
dvbsuboverlay for no reason

* Re-factor the whole thing to something more like textoverlay blending
* Related to that, perhaps cache the current spu in a good format for quick
blending on each frame, after which the more often called blending parts
might become more straightforward
2010-12-08 16:30:10 +01:00