• James Darnley's avatar
    yadif: x86 assembly for 9 to 14-bit samples · 0a5814c9
    James Darnley authored
    These smaller samples do not need to be unpacked to double words
    allowing the code to process more pixels every iteration (still 2 in MMX
    but 6 in SSE2).  It also avoids emulating the missing double word
    instructions on older instruction sets.
    
    Like with the previous code for 16-bit samples this has been tested on
    an Athlon64 and a Core2Quad.
    
    Athlon64:
    1809275 decicycles in C,    32718 runs, 50 skips
     911675 decicycles in mmx,  32727 runs, 41 skips, 2.0x faster
     495284 decicycles in sse2, 32747 runs, 21 skips, 3.7x faster
    
    Core2Quad:
     921363 decicycles in C,     32756 runs, 12 skips
     486537 decicycles in mmx,   32764 runs,  4 skips, 1.9x faster
     293296 decicycles in sse2,  32759 runs,  9 skips, 3.1x faster
     284910 decicycles in ssse3, 32759 runs,  9 skips, 3.2x faster
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    0a5814c9
Name
Last commit
Last update
..
libmpcodecs Loading commit data...
x86 Loading commit data...
Makefile Loading commit data...
af_aconvert.c Loading commit data...
af_afade.c Loading commit data...
af_aformat.c Loading commit data...
af_amerge.c Loading commit data...
af_amix.c Loading commit data...
af_anull.c Loading commit data...
af_apad.c Loading commit data...
af_aresample.c Loading commit data...
af_asetnsamples.c Loading commit data...
af_ashowinfo.c Loading commit data...
af_astreamsync.c Loading commit data...
af_asyncts.c Loading commit data...
af_atempo.c Loading commit data...
af_biquads.c Loading commit data...
af_channelmap.c Loading commit data...
af_channelsplit.c Loading commit data...
af_earwax.c Loading commit data...
af_join.c Loading commit data...
af_pan.c Loading commit data...
af_resample.c Loading commit data...
af_silencedetect.c Loading commit data...
af_volume.c Loading commit data...
af_volume.h Loading commit data...
af_volumedetect.c Loading commit data...
all_channel_layouts.inc Loading commit data...
allfilters.c Loading commit data...
asink_anullsink.c Loading commit data...
asrc_abuffer.h Loading commit data...
asrc_aevalsrc.c Loading commit data...
asrc_anullsrc.c Loading commit data...
asrc_flite.c Loading commit data...
audio.c Loading commit data...
audio.h Loading commit data...
avcodec.c Loading commit data...
avcodec.h Loading commit data...
avf_concat.c Loading commit data...
avf_showspectrum.c Loading commit data...
avf_showwaves.c Loading commit data...
avfilter.c Loading commit data...
avfilter.h Loading commit data...
avfiltergraph.c Loading commit data...
avfiltergraph.h Loading commit data...
bbox.c Loading commit data...
bbox.h Loading commit data...
buffer.c Loading commit data...
bufferqueue.h Loading commit data...
buffersink.c Loading commit data...
buffersink.h Loading commit data...
buffersrc.c Loading commit data...
buffersrc.h Loading commit data...
drawutils.c Loading commit data...
drawutils.h Loading commit data...
f_ebur128.c Loading commit data...
f_perms.c Loading commit data...
f_select.c Loading commit data...
f_sendcmd.c Loading commit data...
f_setpts.c Loading commit data...
f_settb.c Loading commit data...
fifo.c Loading commit data...
filtfmts.c Loading commit data...
formats.c Loading commit data...
formats.h Loading commit data...
gradfun.h Loading commit data...
graphdump.c Loading commit data...
graphparser.c Loading commit data...
internal.h Loading commit data...
lavfutils.c Loading commit data...
lavfutils.h Loading commit data...
libavfilter.v Loading commit data...
lswsutils.c Loading commit data...
lswsutils.h Loading commit data...
split.c Loading commit data...
src_movie.c Loading commit data...
transform.c Loading commit data...
transform.h Loading commit data...
version.h Loading commit data...
vf_alphaextract.c Loading commit data...
vf_alphamerge.c Loading commit data...
vf_aspect.c Loading commit data...
vf_bbox.c Loading commit data...
vf_blackdetect.c Loading commit data...
vf_blackframe.c Loading commit data...
vf_blend.c Loading commit data...
vf_boxblur.c Loading commit data...
vf_colormatrix.c Loading commit data...
vf_copy.c Loading commit data...
vf_crop.c Loading commit data...
vf_cropdetect.c Loading commit data...
vf_curves.c Loading commit data...
vf_decimate.c Loading commit data...
vf_delogo.c Loading commit data...
vf_deshake.c Loading commit data...
vf_drawbox.c Loading commit data...
vf_drawtext.c Loading commit data...
vf_edgedetect.c Loading commit data...
vf_fade.c Loading commit data...
vf_field.c Loading commit data...
vf_fieldorder.c Loading commit data...
vf_format.c Loading commit data...
vf_fps.c Loading commit data...
vf_framestep.c Loading commit data...
vf_frei0r.c Loading commit data...
vf_geq.c Loading commit data...
vf_gradfun.c Loading commit data...
vf_hflip.c Loading commit data...
vf_histeq.c Loading commit data...
vf_histogram.c Loading commit data...
vf_hqdn3d.c Loading commit data...
vf_hqdn3d.h Loading commit data...
vf_hue.c Loading commit data...
vf_idet.c Loading commit data...
vf_il.c Loading commit data...
vf_kerndeint.c Loading commit data...
vf_libopencv.c Loading commit data...
vf_lut.c Loading commit data...
vf_mp.c Loading commit data...
vf_noise.c Loading commit data...
vf_null.c Loading commit data...
vf_overlay.c Loading commit data...
vf_pad.c Loading commit data...
vf_pixdesctest.c Loading commit data...
vf_pp.c Loading commit data...
vf_removelogo.c Loading commit data...
vf_scale.c Loading commit data...
vf_setfield.c Loading commit data...
vf_showinfo.c Loading commit data...
vf_smartblur.c Loading commit data...
vf_stereo3d.c Loading commit data...
vf_subtitles.c Loading commit data...
vf_super2xsai.c Loading commit data...
vf_swapuv.c Loading commit data...
vf_thumbnail.c Loading commit data...
vf_tile.c Loading commit data...
vf_tinterlace.c Loading commit data...
vf_transpose.c Loading commit data...
vf_unsharp.c Loading commit data...
vf_vflip.c Loading commit data...
vf_yadif.c Loading commit data...
video.c Loading commit data...
video.h Loading commit data...
vsink_nullsink.c Loading commit data...
vsrc_cellauto.c Loading commit data...
vsrc_life.c Loading commit data...
vsrc_mandelbrot.c Loading commit data...
vsrc_mptestsrc.c Loading commit data...
vsrc_testsrc.c Loading commit data...
yadif.h Loading commit data...