summaryrefslogtreecommitdiff
path: root/src/post/deinterlace
AgeCommit message (Collapse)Author
2014-12-07Fix compiling greedy2frame_template_sse2.cPetri Hintukainen
Some compilers generate invalid assembler code (64-bit register prefix) when %q is used in 32-bit code. Maybe compiler bug ? ("Produces the quad word register name for an operand if the target supports quad word. Otherwise, it produces a word register name.")
2014-11-06Copyright year update by hg log.Torsten Jager
2014-11-06post: silence warnings.Torsten Jager
For historical reasons, arg #4 of xine->config->register_enum () is of type (char **). That string array will not be modified though.
2014-05-18Only compile MMX/SSE code on x86/x86_64.Thomas Klausner
The greedy2frame code uses MMX or SSE instructions. Only compile this code on architectures where they exist.
2013-10-14Copyright year update by hg log info #2.Torsten Jager
2013-10-01Fixed converting pointer to intPetri Hintukainen
2013-10-01Hide warining: 'fields[?]' may be used uninitialized in this functionPetri Hintukainen
2013-09-30Fixed warningsPetri Hintukainen
2013-09-30Fix READ_PREFETCH_2048 so that it won't be optimized out, re-ordered or ↵Petri Hintukainen
interleaved by compiler. Simplify generated code (no add).
2013-09-13Copyright year update by hg log infoTorsten Jager
script execution time: 55"
2013-07-03Fix FSF address in a bunch of filesXavier Bachelot
2012-06-15Fixed greedy2frame_template_sse2.c when only 4 registers are availableRoland Scheidegger
2012-06-10Fix building on non-x86 systemsPetri Hintukainen
2012-05-15speedy.c: added vfilter_chroma_332_packed422_scanline_sse2()Petri Hintukainen
2012-05-15speedy.c: added diff_factor_packed422_scanline_sse2()Petri Hintukainen
Tested with Atom N550 + SD video: - ~25% speedup with unaligned data - ~50% speedup aligned data (scanlines were properly aligned with all my test clips)
2012-05-25Fixed compiling DeinterlaceGreedy2Frame_SSE2() when only 5 GP registers are ↵Petri Hintukainen
available
2012-05-22Added SSE2 version of DeinterlaceGreedy2FrameRoland Scheidegger
2012-05-22Removed incorrect .alignPetri Hintukainen
2012-05-22Simplify mmx constant loadingRoland Scheidegger
2012-05-22Renamed DeinterlaceGreedy2Frame_SSE() to DeinterlaceGreedy2Frame_MMXEXT()Roland Scheidegger
2012-04-15simplify greedy2frame deinterlacer a bitRoland Scheidegger
Cuts roughly 10% of the instructions (with sse), results should be identical. Not sure why it was that complicated in the first place, the simplification is possible because the code gave a score of 1 to top and bottom comparisons, and 2 for the middle one, and weaved when all scores added together were more than 2. This is equivalent to weave when (cmp(m) AND (cmp(b) OR cmp(t))) which is a much better match for the available hw instructions. This also reduces the number of constant loads a lot, and the patch moves up some memory loads a bit which can never hurt.
2012-01-12Merge from 1.1Petri Hintukainen
--HG-- rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
2012-01-12Fixed leakPetri Hintukainen
2012-01-11Fixed pointer castsPetri Hintukainen
* * * Fixed pointer cast
2011-10-15Disable strict-aliasing where it caused compiler warningsChristian Ruppert
2011-10-11Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/post.h => include/xine/post.h rename : po/libxine1.pot => po/libxine2.pot
2011-10-10corrected typos in src/post/audio/stretch.c and ↵Chad Dunlap
src/post/deinterlace/xine_plugin.c
2011-05-17Use "quietened" build if automake 1.11 was used.Darren Salt
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-01-18Merge from 1.1.Darren Salt
--HG-- rename : src/libxineadec/gsm610/long_term.c => contrib/gsm610/long_term.c rename : src/libxineadec/gsm610/lpc.c => contrib/gsm610/lpc.c rename : src/libxineadec/gsm610/rpe.c => contrib/gsm610/rpe.c rename : src/libxineadec/gsm610/short_term.c => contrib/gsm610/short_term.c rename : src/libfaad/common.h => contrib/libfaad/common.h rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/xine-engine/refcounter.h => include/xine/refcounter.h rename : src/xine-engine/video_out.h => include/xine/video_out.h rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/libxineadec/fooaudio.c => src/audio_dec/fooaudio.c rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/audio_dec/xine_musepack_decoder.c rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/libspucc/cc_decoder.c => src/spu_dec/cc_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudec/spu.c => src/spu_dec/spudec.c rename : src/libspudec/spu.h => src/spu_dec/spudec.h rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c rename : src/libxinevdec/bitplane.c => src/video_dec/bitplane.c rename : src/libxinevdec/foovideo.c => src/video_dec/foovideo.c rename : src/libxinevdec/gdkpixbuf.c => src/video_dec/gdkpixbuf.c rename : src/libxinevdec/image.c => src/video_dec/image.c rename : src/libmpeg2/slice_xvmc_vld.c => src/video_dec/libmpeg2/slice_xvmc_vld.c rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c rename : src/libmpeg2new/include/Makefile.am => src/video_dec/libmpeg2new/include/Makefile.am rename : src/libmpeg2new/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_vis.c rename : src/libmpeg2new/xine_mpeg2new_decoder.c => src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c rename : src/libxinevdec/rgb.c => src/video_dec/rgb.c rename : src/libxinevdec/yuv.c => src/video_dec/yuv.c
2009-01-18Remove '#include "config.h"' from all public header files.Darren Salt
This requires that many other files include config.h themselves. Also convert <config.h> to "config.h".
2009-01-17Merge from 1.1.Darren Salt
--HG-- rename : src/libfaad/Makefile.am => contrib/libfaad/Makefile.am rename : src/libxineadec/Makefile.am => src/audio_dec/Makefile.am rename : src/libxinevdec/Makefile.am => src/video_dec/Makefile.am rename : src/libxinevdec/image.c => src/video_dec/image.c rename : src/libmpeg2/Makefile.am => src/video_dec/libmpeg2/Makefile.am rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am
2009-01-17Avoid libtool running ldconfig (where not needed) at install time.Darren Salt
2009-01-15Prepare for xine_mmx.h.Darren Salt
2009-01-04Merge from 1.1.Darren Salt
2009-01-02configurable parameter for tvtime pulldown sync sensitivityJason Tackaberry
Currently, once the tvtime plugin has locked onto a telecine pattern, it will wait PULLDOWN_ERROR_WAIT (a hardcoded #defined value) number of frames before switching to filmmode. This sensitivity is excessively high (i.e. the value is too low) for certain content -- the kind of content that was shot on film but edited in video mode, so telecine patterns are constantly breaking (examples like Buffy, Simpsons and Family Guy are especially egregious offenders). The attached patch turns this constant into a modifiable post plugin parameter called pulldown_error_wait. Xine helpfully emits a XINE_EVENT_POST_TVTIME_FILMMODE_CHANGE event when film mode changes (a patch I submitted some years back). With the attached patch, a front-end can monitor the frequency of these events, and dynamically adjust pulldown_error_wait in a sensible way.
2008-09-20textrel fix for xineplug_post_tvtime.so (tomsmocomp)PaX Team
2010-10-23mingw32-w64 port: '-no-undefined' partFrantišek Dvořák
- use -no-undefined flag only for building shared libraries (libxine, plugins) - plugins LDFLAGS unification - move -no-undefined into LDFLAGS_NOUNDEFINED - attributes.m4 fix
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2008-07-17Merge from 1.1.Darren Salt
--HG-- rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
2008-07-10add PTHREAD_LIBS to xineplug_post_tvtime as pthread mutex are usedMatthias Ringwald
2008-06-20Merge the avutil branch; port the "raw" video output plugin.Darren Salt
--HG-- rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c rename : src/combined/ffmpeg/ffmpeg_encoder.c => src/dxr3/ffmpeg_encoder.c
2008-05-23Merge from 1.1. VDR needs to be updated.Diego 'Flameeyes' Pettenò
--HG-- rename : src/liba52/parse.c => contrib/a52dec/parse.c rename : include/xine.h.in => include/xine.h rename : src/xine-engine/alphablend.h => include/xine/alphablend.h rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/input/input_plugin.h => include/xine/input_plugin.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/libxineadec/fooaudio.c => src/audio_dec/fooaudio.c rename : src/libxineadec/gsm610.c => src/audio_dec/gsm610.c rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/audio_dec/xine_musepack_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/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/libspucc/cc_decoder.c => src/spu_dec/cc_decoder.c rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c rename : src/libspudec/spu.c => src/spu_dec/spudec.c rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c rename : src/libxinevdec/bitplane.c => src/video_dec/bitplane.c rename : src/libxinevdec/foovideo.c => src/video_dec/foovideo.c rename : src/libxinevdec/gdkpixbuf.c => src/video_dec/gdkpixbuf.c rename : src/libxinevdec/image.c => src/video_dec/image.c rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c rename : src/libxinevdec/rgb.c => src/video_dec/rgb.c rename : src/libxinevdec/yuv.c => src/video_dec/yuv.c
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-03-04Merge from 1.1.Darren Salt
--HG-- rename : src/libffmpeg/ff_dvaudio_decoder.c => src/combined/ffmpeg/ff_dvaudio_decoder.c rename : src/libffmpeg/ff_video_decoder.c => src/combined/ffmpeg/ff_video_decoder.c rename : src/libffmpeg/ffmpeg_decoder.h => src/combined/ffmpeg/ffmpeg_decoder.h
2008-03-02Backport the MANGLE macro handling from 1.2-libavutil branch (and adapt).Diego 'Flameeyes' Pettenò
2008-02-12Avoid possible excess linkage in the tvtime plugin.Darren Salt
Its convenience lib needs $(XINE_LIB) but it gets that when it's linked into the shared lib.
2008-02-08Avoid a build failure (affects gcc 4.0 on x86_32).Darren Salt
2008-01-05Add a mangle.h file with the definition of MANGLE from FFmpeg's libavutil, ↵Diego 'Flameeyes' Pettenò
and use it.
2008-01-05Merge from 1.2.Diego 'Flameeyes' Pettenò