vpx/vp8/common/x86
Deb Mukherjee 18e90d744e Supporting high precision 1/8-pel motion vectors
This is the initial patch for supporting 1/8th pel
motion. Currently if we configure with enable-high-precision-mv,
all motion vectors would default to 1/8 pel. Encode and
decode syncs fine with the current code. In the next phase
the code will be refactored so that we can choose the 1/8
pel mode adaptively at a frame/segment/mb level.

Derf results:
http://www.corp.google.com/~debargha/vp8_results/enhinterp_hpmv.html
(about 0.83% better than 8-tap interpoaltion)

Patch 3: Rebased. Also adding 1/16th pel interpolation for U and V

Patch 4: HD results.
http://www.corp.google.com/~debargha/vp8_results/enhinterp_hd_hpmv.html
Seems impressive (unless I am doing something wrong).

Patch 5: Added mmx/sse for bilateral filtering, as well as enforced
use of c-versions of subpel filters with 8-taps and 1/16th pel;
Also redesigned the 8-tap filters to reduce the cut-off in order to
introduce a denoising effect. There is a new configure option
sixteenth-subpel-uv which will use 1/16 th pel interpolation for
uv, if the motion vectors have 1/8 pel accuracy.

With the fixes the results are promising on the derf set. The enhanced
interpolation option with 8-taps alone gives 3% improvement over thei
derf set:
http://www.corp.google.com/~debargha/vp8_results/enhinterpn.html

Results on high precision mv and on the hd set are to follow.

Patch 6: Adding a missing condition for CONFIG_SIXTEENTH_SUBPEL_UV in
vp8/common/x86/x86_systemdependent.c

Patch 7: Cleaning up various debug messages.

Patch 8: Merge conflict

Change-Id: I5b1d844457aefd7414a9e4e0e06c6ed38fd8cc04
2012-02-23 09:25:21 -08:00
..
idct_x86.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
idctllm_mmx.asm Fix documentation typos 2011-04-30 09:34:59 +02:00
idctllm_sse2.asm Fix naming of sse2 idct functions. 2011-08-24 10:25:32 -07:00
iwalsh_mmx.asm nasm: match instruction length (movd/movq) to parameters 2010-10-04 23:36:29 +02:00
iwalsh_sse2.asm modify SAVE_XMM for potential 64bit use 2011-04-19 10:42:45 -04:00
loopfilter_mmx.asm Use local labels for jumps/loops in x86 assembly. 2011-08-23 09:05:29 -07:00
loopfilter_sse2.asm Fix data accesses for simple loopfilters 2011-08-23 20:42:45 -04:00
loopfilter_x86.c update x86 asm for loopfilter 2011-07-08 09:23:38 -04:00
loopfilter_x86.h update x86 asm for loopfilter 2011-07-08 09:23:38 -04:00
mask_sse3.asm changes to start experimenting with color segmentation prediction modes. 2010-11-16 14:38:40 -05:00
postproc_mmx.asm Use local labels for jumps/loops in x86 assembly. 2011-08-23 09:05:29 -07:00
postproc_sse2.asm Use local labels for jumps/loops in x86 assembly. 2011-08-23 09:05:29 -07:00
postproc_x86.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
recon_mmx.asm Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
recon_sse2.asm Use local labels for jumps/loops in x86 assembly. 2011-08-23 09:05:29 -07:00
recon_wrapper_sse2.c Make hor UV predict ~2x faster (73 vs 132 cycles) using SSSE3. 2011-04-29 11:52:09 -07:00
recon_x86.h SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}(). 2011-04-27 11:31:27 -07:00
subpixel_mmx.asm Use local labels for jumps/loops in x86 assembly. 2011-08-23 09:05:29 -07:00
subpixel_sse2.asm Use local labels for jumps/loops in x86 assembly. 2011-08-23 09:05:29 -07:00
subpixel_ssse3.asm Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
subpixel_x86.h Merge branch 'master' of git://review.webmproject.org/libvpx 2010-09-09 08:54:21 -07:00
vp8_asm_stubs.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
x86_systemdependent.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00