summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-01-02FTBFS on hurd-i386: not compiled pluginsPino Toscano
The problem is that there are some audio and video plugins that are not enabled (while they could be).
2012-01-01Oops. Omitted headers.1.2.0Darren Salt
2012-01-01xine-lib 1.2.0, and about time too!Darren Salt
2012-01-01Merge from 1.1.Darren Salt
2012-01-01Update version no.Darren Salt
2012-01-01Merge.Darren Salt
2012-01-01Added tag 1.1.20.1 for changeset dde68fe11b97Darren Salt
--HG-- branch : point-release
2012-01-011.1.20.1.1.1.20.1Darren Salt
--HG-- branch : point-release
2011-12-31Merge from 1.1.Darren Salt
2011-12-31Kill a few trivial compiler warnings.Darren Salt
2011-12-31A new vdpau h264 decoder that has proven to work better than the previous one.Christophe Thommeret
2011-12-31Merge.Darren Salt
2011-12-27Fixes nasty mpeg2 on ts A/V lag when using ff."Torsten Jager"
--HG-- branch : point-release extra : rebase_source : 6e059c732a63d40b65b09f4ef725ec5ca45c4c1c
2011-12-22Use proper chroma upsampling for yv12 to yuy2 conversionRoland Scheidegger
The old code did some "averaging" which, while cheap, lead to serious chroma shift because the weighting factors turned out to be pretty random (arguably no averaging likely would have been given more correct results). It also in fact lead to chroma ghosts. To see why this was wrong read the following and then do the math. http://www.hometheaterhifi.com/the-dvd-benchmark/179-the-chroma-upsampling-error-and-the-420-interlaced-chroma-problem.html http://avisynth.org/mediawiki/Sampling As an example, let's look what happens at line 4 for interlaced content (where the code would have averaged chroma from chroma line 2 and 4): Chroma line 2 contains chroma values for line 2 (25%) and 4 (75%) while chroma line 4 contains chroma values for line 6 (25%) and 8 (75%) of the original (prior to subsampling) frame. Average these together and you get something quite wrong. Most importantly the center of these weights will be at 5.5 instead of 4 (hence chroma shift). For odd lines it is different (better but still wrong). So, fix this by using the correct weights for reconstruction of the chroma values (which is averaging for the progressive case for all pixels since the samples are defined to be between the lines, and use different weighting factors for odd/even/"upper"/"lower" lines). This runs more than twice the instructions (for the mmx case), but I measured only a performance impact of roughly 5% (on a Athlon64 X2) - seriously bound by memory access (by comparison the sort-of-pointless post-deinterlace chroma filter is nearly twice as slow hence if you don't need it because the values are correct this will be a lot faster). Note: this is only correct for codecs which use the same chroma positions as mpeg2 (dv is definitely different, mpeg1 is also different but only for horizontal positioning, which doesn't matter here). "yv12" as such seems underspecified wrt chroma positioning. On another note, while this algorithm may be correct, it is inherently suboptimal doing this pre-deinterlace (and a post-deinterlace chroma filter is not going to help much neither except it can blur the mess). This NEEDS to be part of deinterlace (which btw would also be quite a bit faster when handling planar directly due to saving one pass of going through all memory). The reason is while line 4 will now use the correct weighting factors, the fact remains it will use chroma values originating from lines 2, 4, 6 and 8 of the original image. However, if the deinterlacer decides to weave because there is no motion, it CAN and most likely wants to use chroma values from the other field (hence values originating from line 2, 3, 4, 5 in this case when using a very simple filter, with appropriate weighting). --HG-- branch : point-release extra : rebase_source : 808bb5785ca398970324bea6b391a9e24c576d2f
2011-12-21Merge from 1.1.Darren Salt
--HG-- rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c
2011-12-16MergePetri Hintukainen
2011-12-16flac decoder: int -> size_tPetri Hintukainen
--HG-- branch : point-release
2011-12-16Fixed flac_read_callback() signature for flac 1.1.3+ (when sizeof(size_t) != ↵Petri Hintukainen
sizeof(unsigned)) --HG-- branch : point-release
2011-12-16Hide aliasing problems in xcb pluginsPetri Hintukainen
--HG-- branch : point-release
2011-12-16Silenced warningPetri Hintukainen
--HG-- branch : point-release
2011-12-16MergePetri Hintukainen
2011-12-16Removed write-only variablesPetri Hintukainen
--HG-- branch : point-release
2011-12-16Fixed osd_hide() return valuePetri Hintukainen
--HG-- branch : point-release
2011-12-16Fixed using uninitialized dataPetri Hintukainen
--HG-- branch : point-release
2011-12-16define _XOPEN_SOURCE before including any system headersPetri Hintukainen
--HG-- branch : point-release
2011-12-16Fixed pointer typePetri Hintukainen
--HG-- branch : point-release
2011-12-16Added missing constPetri Hintukainen
--HG-- branch : point-release
2011-12-15Fixed printf formatPetri Hintukainen
--HG-- branch : point-release
2011-12-15xvmc: Fixed using uninitialized data and resource leak (from 9456)Petri Hintukainen
--HG-- branch : point-release
2011-12-15Fixed printf formatPetri Hintukainen
--HG-- branch : point-release
2011-12-15Merge from 1.1Petri Hintukainen
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h
2011-12-15Marked xine_get_autoplay_mrls() and get_autoplay_list()'s return value constPetri Hintukainen
2011-12-15Marked _x_is_fourcc() arguments constPetri Hintukainen
2011-12-15Merge from 1.1Petri Hintukainen
2011-12-15Merge from 1.1Petri Hintukainen
--HG-- rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
2011-12-15Added BluRay input pluginPetri Hintukainen
2011-12-14demux_ts: make sure old pts is not passed to metronom after seek / changed pidsPetri Hintukainen
2011-12-14demux_ts: Retry read few times after failure. Allow handling events and ↵Petri Hintukainen
checking for demux_action_pending flag before retry. Input can return -1 with errno set to EAGAIN or EINTR.
2011-12-14demux:ts: flush buffers at EOF. Allows decoding of last video frame.Petri Hintukainen
2011-12-14demux_ts: set corrupted_pes flag when pid is flushedPetri Hintukainen
2011-12-13Silenced warningsPetri Hintukainen
2011-12-13demux_ts: do not count skipped PS1 substream header in PES packet sizePetri Hintukainen
2011-12-13hdmv_decoder: log unknown segment typePetri Hintukainen
2011-12-13demux_ts: free pending buffers when handling XINE_EVENT_PIDS_CHANGEPetri Hintukainen
2011-12-13demux_ts_dynamic_pmt_clear(): set spu_media to 0Petri Hintukainen
2011-12-10Merge from 1.1.Darren Salt
--HG-- rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libxinevdec/image.c => src/video_dec/image.c
2011-12-09demux_ts: Fill buffers up to buf->max_size.Torsten Jager
Saves lot of memory.
2011-11-30demux_ts: fixed buffer leakPetri Hintukainen
2011-11-25MergePetri Hintukainen
2011-11-25Updated ChangeLogPetri Hintukainen
--HG-- branch : point-release