summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-01-011.1.20.1.1.1.20.1Darren Salt
--HG-- branch : point-release
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-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-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-11-25Updated ChangeLogPetri Hintukainen
--HG-- branch : point-release
2011-11-25demux_ts: report only known audio/spu tracks to uiPetri Hintukainen
--HG-- branch : point-release
2011-11-25Changelog update.Darren Salt
--HG-- branch : point-release
2011-11-25demux_ts: check if input plugin supports track languages when track language ↵Petri Hintukainen
is unknown in demuxer --HG-- branch : point-release
2011-11-25demux_ts: fixed DEMUX_OPTIONAL_DATA_SPULANG when language is unknownPetri Hintukainen
--HG-- branch : point-release
2011-11-25demux_ts: fixed DEMUX_OPTIONAL_DATA_AUDIOLANG when language is unknownPetri Hintukainen
--HG-- branch : point-release
2011-11-25demux_ts: Fixed incorrect check. Pointer to struct member is always non-NULL.Petri Hintukainen
--HG-- branch : point-release
2011-11-25Added FOURCC codes for EAC3Petri Hintukainen
--HG-- branch : point-release
2011-11-24Don't check for and include a52_internal.h: it's not actually used.Kevin Kofler
--HG-- branch : point-release extra : rebase_source : 3cc7f85e6e39b1af46b7da40edcdebda000ef8ff
2011-11-24Fixed aliasingPetri Hintukainen
--HG-- branch : point-release
2011-11-24Check fwrite return valuePetri Hintukainen
--HG-- branch : point-release
2011-11-24Fixed leaks in input pluginsPetri Hintukainen
--HG-- branch : point-release
2011-11-23Remove our internal videodev2.h - no longer needed.Darren Salt
--HG-- branch : point-release
2011-11-23Have the PVR input plugin built if V4L2, not V4L1, is present.Darren Salt
--HG-- branch : point-release extra : rebase_source : 182453d8d03dbac55d0264944566e8430ac7d601
2011-11-23Fix libavcodec version checks for AAC LATM/MPEG parser codeBrad Smith
--HG-- branch : point-release
2011-11-22Fix up ImageMagick API selection in the presence of GraphicsMagick; changelog.Darren Salt
--HG-- branch : point-release
2011-11-22Use current ImageMagick APIPetri Hintukainen
--HG-- branch : point-release extra : transplant_source : %3F%D8u%A8%97%F1R%3FtU%27%CB%EA%F5%26%18%EC-%C6%9E
2011-11-20fix system libdvdnav support to also link libdvdreadKevin Kofler
--HG-- branch : point-release
2011-11-18Changelog update.Darren Salt
--HG-- branch : point-release
2011-11-18Enhance and move the "internal ffmpeg" warning.Darren Salt
--HG-- branch : point-release
2011-11-18Fixed building with internal ffmpegPetri Hintukainen
2011-11-13fake missing definitions for WIN32Mark Brand
--- src/audio_out/audio_file_out.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
2011-11-13Need sys/stat.h for file audio output code to build on OpenBSDBrad Smith
2011-11-13Added tag 1.1.20 for changeset 342128b2fcf5Darren Salt
2011-11-13Sync translation files (line nos. etc.).1.1.20Darren Salt
2011-11-13xine-lib 1.1.20.Darren Salt
2011-11-04Fix order of header to avoid build failure due to conflicting definitions of ↵M.A. Brand
INT32 [Note: name assumed. - DS] --HG-- extra : rebase_source : 70c19c8d941ab5c8ad25b1a62c023849af8f9ab1
2011-11-04xine_faad_decoder: fixed pts type (int64_t, not int)Petri Hintukainen
2011-11-04video_decoder: handle BUF_CONTROL_RESET_TRACK_MAP (reset SPU track map)Petri Hintukainen
2011-11-02ff_audio_decoder: Use parser for AAC LATM and MPEG. Fixes streams with ↵Petri Hintukainen
multiple audio packets in single PES packet and audio packets splitted to multiple PES packets.
2011-11-02ff_audio_decoder: do not queue any data if opening audio output failsPetri Hintukainen
2011-11-02ff_audio_decoder: If codec parameters can't be read from first audio packet, ↵Petri Hintukainen
try next. Fixes detecting parameters when there are multiple audio packets in single PES packet.
2011-11-02ff_audio_decoder: open audio out after decoding the dataPetri Hintukainen
- Fixes detecting audio parameters when audio packet is splitted to multiple buffers - Simplifies the code (decode function is called only once for each audio frame)
2011-11-02demux_ts: removed write-only variable (content) from demux_ts_mediaPetri Hintukainen