summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_xshm.c
AgeCommit message (Collapse)Author
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
2008-04-19Replace xine_xcalloc usage with calloc, for the revisions transplanted from ↵Diego 'Flameeyes' Pettenò
1.2 series.
2007-04-14Use xine_xcalloc instead of xine_xmalloc when mutiplying the number of ↵Diego 'Flameeyes' Pettenò
elements by the size of the single element. (transplanted from 512894f517c423fed0cadeca0d46c6d909403106) --HG-- extra : transplant_source : Q%28%94%F5%17%C4%23%FE%D0%CA%DE%CA%0DF%C6%D9%09%401%06
2007-10-08Revert cheating invalid frame sizes after fixed frame allocation (continued).Reinhard Nißl
These cheats where hiding a frame allocation bug in FFmpeg decoder which was previously fixed. (transplanted from c7cc5ff1e184791683ba13bdc54c53b5887e6587) --HG-- extra : transplant_source : %C7%CC_%F1%E1%84y%16%83%BA%13%BD%C5LS%B5%88%7Ee%87
2007-12-27[Subtitles] SSA-tags patchDubois Nicolas
I watch a lot of movies with subtitles and I need "vobsub subtitles" work in xine, then I decide to write this patch. It may support SSA tags for all text subtiles (ssa, ass, srt, ...) This patch : 1. Remove all SSA tags from stream (they are ugly : {\a6}) 2. Handle some of them (b, i, a, an, pos). The other ones control colours, shadow, animation, ... I can't make them work in an easy way. 3. Correct wrap algorithm which have minors bugs (we can see them only with SSA patch...) Modified files : libsputext/demux_sputext.c just remove unneeded code (which remove some of SSA-tags) libsputext/xine_sputext_decoder.c the main modified file. video_out/video_out_xshm.c video_out/video_out_xv.c xine-engine/video_out.h get video output (position and size). See below. 1. Removing SSA tags is done in ogm_render_line_internal() like for html-like tags. (this was done in the previous version of xine) 2. b(bold) and i(italic) are implemented like html-ones, in ogm_render_line_internal(). The other tags this patch support are : aX : alignment in SSA-code anX : alignment in numpad code pos(X,Y) : position, depend on alignment For those ones, I need in first a full-screen OSD, not a five lines one. Then, I need to remember where the last subtitle was drawn, in order to erase it. At last, I need a translation function to convert subtitle coordinates in screen coordinates. For this last point, I first write a full-screen translation (don't care about blacks borders), but it's not really good: the 'pos' tag is sometime used to point out something in the video. (Moreover, ASS spec say we have to draw subtitle on the video) For doing this, I need the real video output size and position, which are only know by the video output driver! Then I had 4 VO properties (in xine-engine/video_out.h) for video driver could give us those informations. I implement it only in xshm and xv drivers (I can't test other ones). If video driver can't give us those informations, the patch fallback in a full-screen translation. 3. there was 3 problem with the wrap algorithm : 1. It was in double: exactly the same, twice. Look like a merge problem. I remove one and all work fine. 2. It want to cut string in equivalent display length but it cut it in equivalent byte length. In most cases, this is the same, but if we have UTF-8 chars or long SSA-tags (which will not be displayed) the result is strange. 3. If we have a too-long part (in bytes) of the string without spaces (bad subtitle file or long SSA-code), the algorithm don't know what to do. (this case is not handled) I re-write the wrap algorithm to correct those problems. Note that my version is slower than previous one : working with bytes is really faster than computing text-length. Maybe I should had to propose an other patch for this part...
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-03-25Create at least a 1×1 shared image when the first frame is skipped (and ↵Diego 'Flameeyes' Pettenò
thus reported as 0×0), to avoid disabling shared memory for all others. Patch by Reinhard Nissl. CVS patchset: 8748 CVS date: 2007/03/25 23:13:53
2007-02-15Commit the XCB output plugins by Christoph Pfister after testing on Gentoo ↵Diego 'Flameeyes' Pettenò
packages for about ten days. CVS patchset: 8595 CVS date: 2007/02/15 15:19:32
2006-10-28Christoph Pfister's patch to support XINE_VISUAL_TYPE_X11_2 with XVMiguel Freitas
CVS patchset: 8351 CVS date: 2006/10/28 18:51:08
2006-10-28new visual type XINE_VISUAL_TYPE_X11_2 with configurable X11 locking.Miguel Freitas
allow developers to use special locking support of their plataform (like QT library mutex). note: only xshm has been ported. based on Christoph Pfister's patch. CVS patchset: 8350 CVS date: 2006/10/28 17:02:51
2006-07-10Implement visibility support, available on GCC 4.0 and later and on some 3.4 ↵Diego 'Flameeyes' Pettenò
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway. CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
2006-06-20Fix generic warnings.Diego 'Flameeyes' Pettenò
CVS patchset: 8064 CVS date: 2006/06/20 01:07:58
2006-06-02Various static/const fixes from Gentoo.Darren Salt
CVS patchset: 8009 CVS date: 2006/06/02 22:18:56
2006-05-03Make various arrays and structures (mainly xine_plugin_info) const.Darren Salt
(Diego Pettenò) CVS patchset: 7985 CVS date: 2006/05/03 19:46:06
2005-09-25move alphablend to coreMiguel Freitas
CVS patchset: 7745 CVS date: 2005/09/25 00:44:04
2005-09-24- rename all clip_top, clip_left, clip_color... to hili_xxxx. thatMiguel Freitas
"clip" thing has caused too much confusion already since these variables define a highlight area. - add overlay offset support to video_out.c/alphablend/vo drivers - use overlay offset to implement proper croping of frames when vo driver doesn't support it - add clipping checks to alphablend to avoid buffer overflow, buffer "underflow" and wrapping. - increase vo api number - note: dxr3 support is incomplete about overlay offset CVS patchset: 7739 CVS date: 2005/09/24 19:08:26
2005-09-05Fixing broken build. Sorry.Matthias Hopf
CVS patchset: 7718 CVS date: 2005/09/05 15:13:13
2005-09-05Unified behavior of yuv2rgb brightness/contrast/saturation.Matthias Hopf
Nuked getting default value from additional config. CVS patchset: 7717 CVS date: 2005/09/05 14:56:31
2004-12-12huge patch ahead: reorganizing config entries with automatic conversionMichael Roitzsch
and backwards compatible translation Sorry, I got a litte tired proof-reading the patch, so their might be bugs lurking around. I will give it some further examination and (as necessary) fixing tomorrow. CVS patchset: 7233 CVS date: 2004/12/12 22:00:47
2004-11-24patch to further improve overlay blending and to elimiate static variablesMichael Roitzsch
in alphablend.c; XShm subtitles work now, Xv works as well, other output plugins untested CVS patchset: 7156 CVS date: 2004/11/24 16:11:02
2004-10-08* moved image scaling config entry from XShm to vo_scale helperMichael Roitzsch
(closes feature request #987635) * added help texts for horizontal and vertical position config entries CVS patchset: 7023 CVS date: 2004/10/08 20:54:36
2004-09-22- added cropping capability (thanks James Stembridge)Miguel Freitas
- some vo drivers support cropping natively. (only xv and xvmc have been tested) - add software crop fallback to video_out.c - skip yuv2rgb processing at xshm for not yet cropped frames (these frames are never shown) - libmpeg2 and ffmpeg now may use crop support - bump vo api. (changes to xvmc/xxmc will follow) CVS patchset: 6991 CVS date: 2004/09/22 20:29:13
2004-09-22xshm "chicken egg" problemMiguel Freitas
http://article.gmane.org/gmane.comp.video.xine.devel/10525 CVS patchset: 6989 CVS date: 2004/09/22 20:16:11
2004-06-27calling XInitThreads() is definitely the frontend's job, because it hasMichael Roitzsch
to call Xlib functions before xine to properly fill x11_visual_t CVS patchset: 6755 CVS date: 2004/06/27 11:16:20
2004-05-09some more colorkey fixes and cleanupsMiguel Freitas
CVS patchset: 6506 CVS date: 2004/05/09 21:05:34
2004-05-06implement proper x11osd resize support. that should fix problems with rc4Miguel Freitas
where parts of the image were not shown under certain circunstances. XV_AUTOPAINT_COLORKEY is now disabled by default. that will permit using colorkey overlays by default with more cards (eg. nvidia). CVS patchset: 6491 CVS date: 2004/05/06 03:09:32
2004-04-26help strings added for all remaining config entries (so I hope)Michael Roitzsch
please everybody watch out for spelling (and other) errors CVS patchset: 6442 CVS date: 2004/04/26 17:50:06
2004-04-10colorkey unscaled overlay support by Yann VernierMiguel Freitas
CVS patchset: 6381 CVS date: 2004/04/10 15:31:10
2004-04-10somebody complained about a segfault here. it shouldn't hurt.Miguel Freitas
CVS patchset: 6371 CVS date: 2004/04/10 03:34:37
2004-03-07Fix the jittering problem.Thibaut Mattern
CVS patchset: 6228 CVS date: 2004/03/07 13:27:10
2003-12-14API version bounceSiggi Langauf
CVS patchset: 5912 CVS date: 2003/12/14 22:13:22
2003-12-13fix few memleaksDaniel Caujolle-Bert
CVS patchset: 5898 CVS date: 2003/12/13 00:55:11
2003-12-05cleanup phase II. use xprintf when it's relevant, use xine_xmalloc when it's ↵Daniel Caujolle-Bert
relevant too. Small other little fix (can't remember). Change few internal function prototype because it xine_t pointer need to be used if some xine's internal sections. NOTE: libdvd{nav,read} is still too noisy, i will take a look to made it quit, without invasive changes. To be continued... CVS patchset: 5844 CVS date: 2003/12/05 15:54:56
2003-11-26xprintf clean pass. xprintf now log into new XINE_LOG_TRACE log buffer. ↵Daniel Caujolle-Bert
scratch buffer enhancement (thanks Thibaut for the malloc tips), enlarge log buffer from 25 lines (very useless), to 150 (better). CVS patchset: 5801 CVS date: 2003/11/26 23:44:08
2003-11-26lprintf cleanup, pass I.Daniel Caujolle-Bert
CVS patchset: 5796 CVS date: 2003/11/26 19:43:26
2003-11-26fix x11osd bugs with fullscreen changingMiguel Freitas
CVS patchset: 5789 CVS date: 2003/11/26 18:36:34
2003-11-26* new unscaled overlay feature (using XShape extension)Miguel Freitas
text subtitles may now be rendered at full screen resolution * load xine fonts on demand - faster startup note: support added to xv, xshm and vidix CVS patchset: 5780 CVS date: 2003/11/26 01:03:31
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-24fix network lockupDaniel Caujolle-Bert
CVS patchset: 5588 CVS date: 2003/10/24 22:34:50
2003-10-23cleanup in video_out.hMichael Roitzsch
* some obsolete VO_CAP_* constants removed * VO_ZOOM_* constants replaced by their XINE_VO_ZOOM_* equivalents from xine.h * moved some bits around * proc_frame() needs only one parameter: the frame * renamed copy_called to proc_called * changed logic in video_out.c to call proc_* functions a bit (call proc_frame() first, then call proc_slice() if proc_frame() has not set proc_called, this allows video out plugins to have both hooks called) CVS patchset: 5576 CVS date: 2003/10/23 15:17:06
2003-10-22Replace copy member in vo_frame_t with proc_frame and proc_slice. Increase ↵Robin KAY
video_out API version to 18. CVS patchset: 5574 CVS date: 2003/10/22 20:38:09
2003-10-18Re-add COMPLETION gui_data_exchange() support, removed by //error//.Daniel Caujolle-Bert
CVS patchset: 5539 CVS date: 2003/10/18 23:01:21
2003-10-18cleanups, xlock fixesDaniel Caujolle-Bert
CVS patchset: 5537 CVS date: 2003/10/18 20:40:25
2003-10-06- add XvMC supportMiguel Freitas
- bump vo and post interface versions obs: video_out_xvmc.c needs some more work, see todo. CVS patchset: 5459 CVS date: 2003/10/06 21:52:42
2003-08-04support for arbitrary aspect ratiosMiguel Freitas
patch by Philip Jgenstedt CVS patchset: 5243 CVS date: 2003/08/04 03:47:09
2003-05-31update video out api to allow better frame management (explicit locking)Miguel Freitas
img->displayed is obsolete now, drivers should use img->free. CVS patchset: 4994 CVS date: 2003/05/31 18:33:28
2003-05-26- quieter adpcm plugin and xshm oneBastien Nocera
CVS patchset: 4942 CVS date: 2003/05/26 11:33:01
2003-04-16die completion events, die die dieMiguel Freitas
i fell stupid: how didn't i realized before that handling completion events was not needed? the only trick is to call XSync after drawing! this not only improves smoothness and schedulability issues but also moves the frame dropping to video_out.c were they can be accounted properly. not to mention it makes frontend programming a lot easier. CVS patchset: 4621 CVS date: 2003/04/16 11:30:13
2003-03-06steps toward muting xine's console output by defaultGuenter Bartsch
CVS patchset: 4345 CVS date: 2003/03/06 16:49:30