summaryrefslogtreecommitdiff
path: root/src/video_out/video_out_xxmc.c
AgeCommit message (Collapse)Author
2011-03-02Recognize changes of cropping parameters within a frame and trigger ↵Andreas Auras
recalculation of displayed window. This issue comes up when a post plugin only changes the cropping parameters of a frame without changing width, height or ratio of the frame.
2010-04-08Add support for Xv gamma adjustment.Darren Salt
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2008-12-28Report when defaulting due to the requested Xv port type not being available.Darren Salt
2008-12-28Fix up Xv textured video selection for use with drivers for nvidia gfx hw.Darren Salt
These drivers use "NV* Video Texture" instead of "* Textured Video".
2008-12-28Centralise some Xv-related static string array declarations.Darren Salt
2008-12-27Recognise XV_BICUBIC for xf86-video-ati 6.9.1.Darren Salt
2008-12-27Clean up Xv attribute-setting functions; fix a related off-by-one (xcbxv).Darren Salt
--HG-- extra : transplant_source : %A0%EE%CC%FA%D3%AF2%8B%96%1F%B1%8E%00%01%96%8E%9E%AC%93Y
2008-11-20Some warning fixes: XINE_FORMAT_SCANF, statics in headers, consts, ...František Dvořák
Add warning flags to the DEBUG_CFLAGS too.
2008-03-10Add Xv port selection by type (overlay or textured video).Darren Salt
This uses the adapter names reported by the X 2D graphics driver. (Transplanted from 8c06e053c6dbb2f31c004f6eb615ebbf3f67d667)
2008-02-25When auto-detecting Xv ports, prefer port nos. >= configured.Darren Salt
(Transplanted from f03669a2395d97a3e40615db1089af084a69d299)
2008-02-02Move more shared Xv config desc. & help strings; add new location to POTFILES.Darren Salt
(Transplanted from 574fefcee8b1b6456fd8dc9c06191cf4622f07eb)
2008-02-02Convert the XxMC plugin to use the new header file.Darren Salt
Also, a few trivial constness cleanups. (Transplanted from 3ede88232fd45bca91eb0b1cfa2d70de040cadb8)
2008-02-01Port Xv port selection to xxmc.Darren Salt
(Transplanted from ec0d80a280e90494306023b66e5917209b2c4155)
2008-05-09Fix compilation failure (capitalisation).Darren Salt
2008-05-09Avoid loop for common memory operations (zeroing, copying, moving).Diego 'Flameeyes' Pettenò
Use the proper function for common memory operations (memset() for zeroing, memcpy() for copying, memmove() for moving), instead of looping through arrays. By extension, remove loops to reset arrays when they were allocated with calloc() and thus already zeroed.
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
2007-12-27Add VO_PROP_OUTPUT_* to some other video output drivers (where trivial).Darren Salt
2007-12-24Consistently use "colour", "colour key", "colour space" in output.Darren Salt
Some instances of "key colour" remain; ffmpeg is unmodified. This change has caused two strings with two translations to collide (the strings have become identical since some instances already used "colour"). I have therefore arbitrarily dropped the first of the differing translations, the one for the string at src/video_out/video_out_directfb.c:1365.
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-10-01Revert cheating invalid frame sizes after fixed frame allocation.Reinhard Nißl
These cheats where hiding a frame allocation bug in FFmpeg decoder which was previously fixed.
2007-08-26Protect previously shown frame from immediate reuse by decoder.Reinhard Nißl
It happend that the previously shown frame was still on screen while the decoder reused it already and the result was a mixed picture on screen. Protection is easy: just keep a reference to previously shown frame and it cannot be reused by the decoder until a frame duration has passed which should be sufficient to see the current frame on screen. Such referencing has already been implemented although it was not used for deinterlacing. Therefore it had been disabled to get an additional frame for decoding in coping with dropped frames. The change reenables referencing the previously shown frame.
2007-08-26Provide options to control ondemand disabling of bob deinterlacing.Reinhard Nißl
While disabling for progressive frames was ment to improve DVD playback, it turned out that many TV broadcasters set this flag too, although their content is not progressive. Adding an option allows the user now to enable this feature when the watched streams make correct use of this flag. Another option allows to disable bob deinterlacing when a scaled OSD is on screen. As bobbing adds some noise to horizontal lines the OSD quality might be improved by enabling this option.
2007-08-26Protect drawable from beeing changed while drawing.Reinhard Nißl
When xine-ui switches to fullscreen mode or back again, it will change the drawable by sending XINE_GUI_SEND_DRAWABLE_CHANGED. This may lead to BadDrawable X Errors when the video out thread is still using the old drawable for drawing. The changes below block XINE_GUI_SEND_DRAWABLE_CHANGED from changing the drawable while it is used for drawing.
2007-07-26clip overlay against sub image when calling XvMCCompositeSubpicture()Reinhard Nißl
Blending functions like _x_blend_xx44() take care to clip the overlay against the destination bitmap. The same clipping must be applied to determine the relevant area in the destination bitmap for the call to XvMCCompositeSubpicture().
2007-05-17Convert comments (and the occasional string where it doesn't matter) to UTF-8.Darren Salt
2007-04-13Disable bob deinterlacing on a per frame decision (continued).Reinhard Nißl
One can assume that a still frame is to show when there are no more frames left to display. The changed code uses _x_query_buffer_usage() to retrieve the number of frames waiting to be displayed to integrate this information into the decision.
2007-04-12Disable bob deinterlacing on a per frame decision.Reinhard Nißl
There are some situations where bob deinterlacing doesn't make much sense, as the effect doesn't work for example for slow motion. And in fast motion mode, the sleep between displaying the two fields lowers the reachable fast motion frame rate. Another annoying effect is the reduction in vertical resolution for still images. The changed code tries to detect such issues and disables bob deinterlacing for such frames. The detection of still images is still to come.
2007-04-12Make bob deinterlacing more precisely and skip it on demand.Reinhard Nißl
Bob deinterlacing is implemented as showing the top field, sleeping for half the frame duration and showing the bottom field. Most drivers tend to synchronize displaying a field on the VBI and thus displaying a field may take up to half the frame duration in certain cases. According to the original code, the sleep took always half the frame duration and therefore the second field could get displayed too late. As a result, the driver was syncing to VBI most often, so that things got even worse. The changed code now calculates the sleep time in a way that the second field gets displayed half the frame duration after the first field. Moreover, it monitors how much time was spent to display the first field and when this time exceeds 75 % of the field time (= half the frame time), it skips displaying the second field, as usually this is an indicator that the driver has no more frame buffers left. So displaying the second field would just make things go worse.
2007-04-12Avoid keeping frames referenced which are nolonger used.Reinhard Nißl
The current implementation keeps references to VO_NUM_RECENT_FRAMES frames (for deinterlacing), but doesn't make any use of them. As many XXMC capable devices only supply 8 frames at all, keeping fewer frames referenced makes more available for decoding and thus avoids frame drops by keeping the number of frames which are ready for display more often above frame_drop_limit.
2007-04-12Let xxmc switch back to an unaccelerated context.Reinhard Nißl
The current code misses the ability to switch back to an unaccelerated context, e. g. when previously MPEG2 material was displayed which is then followed by H.264 material. As the latter is not handled as XINE_IMGFMT_XXMC there was no way to leave the accelerated context and therefore the images did not appear on screen.
2007-04-08Mark various private arrays, structs & fn parameters as static and/or const.Darren Salt
Two of the modified files are headers, but each contains definitions as well as declarations and is only ever used once.
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
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-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-06-09**BUGFIX**Thomas Hellström
Fix bug in xxmc plugin, which only checked the requested format from the decoder plugin when the flag VO_NEW_SEQUENCE was set. This flag wasn't set often enough. CVS patchset: 7619 CVS date: 2005/06/09 21:06:02
2005-05-06**BUGFIX**Thomas Hellström
improve xxmc cpu-usage for IDCT / MOCOMP acceleration through better locking [bug #1195282] CVS patchset: 7524 CVS date: 2005/05/06 07:42:20
2005-05-04**BUGFIX**Thomas Hellström
fix xxmc plugin wanting to change vld xvmc context when stream changes from non-interlaced to interlaced [bug #1194350] CVS patchset: 7518 CVS date: 2005/05/04 04:27:20
2005-04-26**BUGFIX**Thomas Hellström
Fix IDCT / Mocomp rendering errors in xxmc and xvmc modules caused by them not resetting the macroblock counter when a frame is created. Fixed libmpeg2 Mocomp XvMC forgetting to handle the signed / usigned intra flag, resulting in a purple screen on Nvidia when XvMC Mocomp only is used. CVS patchset: 7500 CVS date: 2005/04/26 09:02:55
2005-04-09Experimental bob deinterlacing support for the xxmc module.Thomas Hellström
Updated xxmc readme. CVS patchset: 7451 CVS date: 2005/04/09 11:47:27
2005-02-22XvMC update largely courtesy of Kendall Bennet, Scitechsoft:Thomas Hellström
* Fix surface flushing and syncing (xxmc / xvmc) * Fix clearing of macro block lists (xxmc / xvmc) * Remove floating point operations from mpeg demuxer. Degrades performance on non-fp capable hardware. * Remove unnecessary software MC step * Fix Quantization matrix ordering which caused bad picture quality (KB/TH) * Minor optimizations in the libmpeg2 code * Fix VLD flushing at video discontinuity (TH) CVS patchset: 7424 CVS date: 2005/02/22 18:31:33
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-11-19Fixed segfault occuring in the xxmc plugin when it had swithed to acceleratedThomas Hellström
decoding while software surfaces were still in the frame queue and sometimes needed to be duplicated. Cleaned up xxmc shape / colorkey X11OSD handling. Fixed more locking inconsistensies. CVS patchset: 7137 CVS date: 2004/11/19 08:56:30
2004-11-14Fixed some rarely exposed locking bugs in the xxmc driver.Thomas Hellström
CVS patchset: 7123 CVS date: 2004/11/14 20:38:28
2004-10-30Allowed multiple simultaneous thread access in parts of the xxmc driver,Thomas Hellström
assuming that XvMC libraries are thread-safe. CVS patchset: 7093 CVS date: 2004/10/30 15:12:48