summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-04-18Alphablending optimizations:Petri Hintukainen
- validate palette alpha values in overlay manager (one check / overlay / palette index) instead of checking every alpha value twice for every blended pixel in every frame - remove unneeded calculations - approximiate expensive integer divisions with multiplication and shift
2007-04-17Merge from 1.1 (and update the debian/changelog datestamp for 1.2.0~hg).Darren Salt
2007-04-17Fix DVD playback (was hanging when either the AC3 or DTS demuxers were probed).Darren Salt
This may have side-effects wrt other streams; CDDA is fine, though.
2007-04-16Simplify handling of internal/external libmpcdec, most of the work is done ↵Diego 'Flameeyes' Pettenò
at configure time.
2007-04-16Fix ffmpeg_config.h build, so that make distchecks works.Diego 'Flameeyes' Pettenò
2007-04-15Avoid sending BUF_FLAG_FRAME_END before the first frame.Reinhard Nißl
When BUF_FLAG_FRAME_END is sent before the first frame, decoding fails as there is no data and a "bad" frame of size 0x0 will be allocated, which is really bad as such as frame is simply invalid.
2007-04-15Initialize image size in bmiheader with data from AVCodecContext, if still ↵Reinhard Nißl
uninitalized.
2007-04-15The X11 visual doesn't seem to actually work at all with X11 xine-ui, so use ↵Diego 'Flameeyes' Pettenò
the Framebuffer output only with fbxine.
2007-04-15Change file documentation to Doxygen format; cleanup comment; change the ↵Diego 'Flameeyes' Pettenò
outputs to not encode the video out name on it, to simplify i18n.
2007-04-15Only declare ffmpeg_config.h as built source when using internal FFmpeg.Diego 'Flameeyes' Pettenò
2007-04-14Compile fixes.Darren Salt
2007-04-14The other half of the dependencies fix.Darren Salt
2007-04-14Fix dependencies so that ffmpeg_config.h is built before trying to build ↵Diego 'Flameeyes' Pettenò
xineplug_decode_ff.la/
2007-04-14Use memset instead of loops to initialise arrays to zero.Diego 'Flameeyes' Pettenò
2007-04-14Merge changes.Diego 'Flameeyes' Pettenò
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.
2007-04-14Merge changes.Darren Salt
2007-04-14Look in the user XDG config dir for channels.conf.Darren Salt
2007-04-14Mark string arrays as arrays of constant pointers, and do the same for ↵Diego 'Flameeyes' Pettenò
memcpy structures. When array of constant pointers are used for register enum configurations, this creates more warnings because of pointer mismatches; I'd consider casting them, but not yet. In the memcpy_method array, mark the parts that are constant at build time as const so to try reducing the overhead.
2007-04-14Fix typo injected at savetime.Diego 'Flameeyes' Pettenò
2007-04-14Check for __malloc__ attribute during configure stage, avoid conditional in ↵Diego 'Flameeyes' Pettenò
xineutils.h for it, instead use XINE_MALLOC.
2007-04-14Add a xine_xcalloc function to wrap around calloc(), to improve security ↵Diego 'Flameeyes' Pettenò
from now on.
2007-04-14Merge changes from 1.1.Darren Salt
2007-04-14Oops. Silly mistake with fstat.Darren Salt
2007-04-14Define XINE_PACKED also in attributes.h for frontends.Diego 'Flameeyes' Pettenò
2007-04-14Don't save the fake win32 registry in ~/.xine hardcoded, use XDG_CACHE_HOME.Diego 'Flameeyes' Pettenò
2007-04-14Don't read channels.conf if it isn't a normal file or a link to a normal file.Darren Salt
2007-04-14Reworked the channels.conf file handling in the DVB plugin.Darren Salt
Previously, with junk content, the plugin could potentially consume lots of memory (possibly causing a local DoS). Also, a few small memory leaks have been eliminated.
2007-04-14Don't add a special setting for DVDCSS_CACHE, as it's handled by libdvdcss.Diego 'Flameeyes' Pettenò
Users might be using DVDCSS_CACHE by theirselves to change the location of libdvdcss keys cache; if xine resets the environment variable, it might create an unexpected behaviour to the user.
2007-04-14Remove #ifdef wrappers from the Xv & XcbXv plugins. Allows XcbXv to be built.Darren Salt
2007-04-14Search also in user's XDG_DATA_HOME.Diego 'Flameeyes' Pettenò
2007-04-14Remove now-unused _cdda_cddb_get_default_location.Diego 'Flameeyes' Pettenò
2007-04-13Use the stream's audio_fifo as it hasn't been reported on the demuxer's ↵Diego 'Flameeyes' Pettenò
instance yet.
2007-04-13Use the stream's audio_fifo as it hasn't been reported on the demuxer's ↵Diego 'Flameeyes' Pettenò
instance yet.
2007-04-13CDDB cache placement is no more a configuration option, and uses instead ↵Diego 'Flameeyes' Pettenò
XDG_CACHE_HOME as a place where to put the data.
2007-04-13Simplify handling of internal/external libxdg-basedir, as it's going to be ↵Diego 'Flameeyes' Pettenò
used in a few more cases.
2007-04-13Avoid strlen on a literal, use a sizeof.Diego 'Flameeyes' Pettenò
2007-04-13Check inside the fonts/ directory inside the package's XDG_DATA_DIR, rather ↵Diego 'Flameeyes' Pettenò
than in the root of it.
2007-04-13Also preload bitmap fonts on XDG directories.Diego 'Flameeyes' Pettenò
With this commit, also fix the previous mistakes in the iteration.
2007-04-13Search for fonts to render with FreeType2 on XDG Data directories.Diego 'Flameeyes' Pettenò
With this change, when rendering a font through FreeType2 (and not using FontConfig) the directories looked up are the ones defined in XDG_DATA_DIRS, right after XDG_DATA_HOME; this way the user can decide to have fonts data in a different place than its home directory. This also splits up the lookup for fontconfig and non-fontconfig cases in two different functions, to avoid gotos and labels.
2007-04-13Remove alloca.h inclusion, no more needed with libxdg-basedir.Diego 'Flameeyes' Pettenò
2007-04-13Use libxdg-basedir to discover the cache directory to use, rather than doing ↵Diego 'Flameeyes' Pettenò
the check manually.
2007-04-13Add a global handle for libxdg-basedir library to xine_s.Diego 'Flameeyes' Pettenò
This handle can then be used by all plugins and other parts of the xine engine without having to duplicate it.
2007-04-13Save plugins' cache in the defined cache home directory as per XDG Base ↵Diego 'Flameeyes' Pettenò
Directory Specification. With this change, xine-lib starts abiding to the XDG Base Directory Specification, allowing the user to define a different path to save its cache data (by setting XDG_CACHE_HOME environment variable).
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-12Merge some code for still frame detection.Reinhard Nißl
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.