vpx/vp8/common
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
..
arm Merge "Update armv6 loopfilter to new interface" 2011-07-13 04:09:55 -07:00
generic a bit code clean-up 2012-02-16 15:15:06 -08:00
ppc remove simpler_lpf 2011-04-25 17:37:41 -04:00
x86 Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
alloccommon.c Code simplification 2012-02-16 17:21:20 +00:00
alloccommon.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
asm_com_offsets.c update extend frame borders 2011-08-02 19:26:46 -04:00
bigend.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
blockd.c a bit code clean-up 2012-02-16 15:15:06 -08:00
blockd.h Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
coefupdateprobs.h fix more merge issues 2011-07-21 09:01:53 -07:00
common_types.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
common.h Add 8x8 transform to experimental branch 2011-07-20 09:49:22 -07:00
context.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
debugmodes.c MODE_INFO size reduction 2011-05-24 13:24:52 -04:00
default_coef_probs.h Faster vp8_default_coef_probs 2011-08-16 16:21:21 -04:00
defaultcoefcounts.h add 8x8 intra prediction modes 2011-09-16 15:55:19 -07:00
dma_desc.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
duck_io.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
entropy.c Merge Extended Q experiment. 2012-02-09 17:22:34 +00:00
entropy.h Merge Extended Q experiment. 2012-02-09 17:22:34 +00:00
entropymode.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
entropymode.h Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
entropymv.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
entropymv.h Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
extend.c Copy less when active map is in use 2011-08-19 10:29:41 -04:00
extend.h Copy less when active map is in use 2011-08-19 10:29:41 -04:00
filter.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
filter.h Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
findnearmv.c Merged NEWNEAR experiment 2012-02-06 16:40:57 +00:00
findnearmv.h Merged NEWNEAR experiment 2012-02-06 16:40:57 +00:00
g_common.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
header.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
idct.h fix more merge issues 2011-07-21 09:01:53 -07:00
idctllm.c a bit code clean-up 2012-02-16 15:15:06 -08:00
implicit_segmentation.c vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
invtrans.c Removed #if CONFIG_I8X8 2011-12-07 13:48:53 -08:00
invtrans.h Add 8x8 transform to experimental branch 2011-07-20 09:49:22 -07:00
littlend.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
loopfilter_filters.c changed loop filter for MBs using 8x8 transform 2012-01-20 10:09:24 -08:00
loopfilter.c moved segment based LPF level selection under CONFIG_FEATUREUPDATES 2012-02-15 07:18:05 -08:00
loopfilter.h enabled 8x8 intra prediction modes on inter frames 2011-12-02 13:44:47 -08:00
maskingmv.c changes to start experimenting with color segmentation prediction modes. 2010-11-16 14:38:40 -05:00
mbpitch.c Increase static linkage, remove unused functions 2011-03-17 20:53:47 -04:00
modecont.c Merged NEWNEAR experiment 2012-02-06 16:40:57 +00:00
modecont.h Merged NEWNEAR experiment 2012-02-06 16:40:57 +00:00
modecontext.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
mv.h Using int_mv instead of MV 2011-05-12 11:08:16 -04:00
onyx.h cosmetics: consistently use [u]int64_t 2011-07-26 11:34:36 -07:00
onyxc_int.h Removal of threading code. 2012-02-10 16:23:59 +00:00
onyxd.h Experimental code base simplification. 2012-02-15 16:08:47 +00:00
postproc.c Fix after removal of B_MODE_INFO 2011-06-27 09:43:21 -07:00
postproc.h postproc : Re-work posproc calling to allow more flags. 2010-11-10 14:14:46 -08:00
ppflags.h postproc : Re-work posproc calling to allow more flags. 2010-11-10 14:14:46 -08:00
pragmas.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
pred_common.c Merge COMPRED 2012-02-09 16:10:46 +00:00
pred_common.h Merge COMPRED 2012-02-09 16:10:46 +00:00
predict_rotated.c vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
quant_common.c Merge Extended Q experiment. 2012-02-09 17:22:34 +00:00
quant_common.h Merge Extended Q experiment. 2012-02-09 17:22:34 +00:00
recon.c Removed #if CONFIG_I8X8 2011-12-07 13:48:53 -08:00
recon.h Merge dualpred (compound prediction) experiment. 2012-02-09 16:29:18 -08:00
reconinter.c Supporting high precision 1/8-pel motion vectors 2012-02-23 09:25:21 -08:00
reconinter.h Dual 16x16 inter prediction. 2011-12-06 11:53:02 -08:00
reconintra4x4.c Merge remote branch 'origin/master' into experimental 2011-04-28 00:05:07 -04:00
reconintra4x4.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
reconintra.c Removed #if CONFIG_I8X8 2011-12-07 13:48:53 -08:00
reconintra.h SSE2/SSSE3 optimizations for build_predictors_mbuv{,_s}(). 2011-04-27 11:31:27 -07:00
rotate2.h vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
rotate.h vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
seg_common.c vp8 - config_featureupdates 2012-02-13 12:31:12 -08:00
seg_common.h vp8 - config_featureupdates 2012-02-13 12:31:12 -08:00
setupintrarecon.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
setupintrarecon.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
subpixel.h Merge dualpred (compound prediction) experiment. 2012-02-09 16:29:18 -08:00
swapyv12buffer.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
swapyv12buffer.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
systemdependent.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
tapify.py vpn common -> implicit segmentation 2012-01-24 11:20:13 -08:00
textblit.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
treecoder.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
treecoder.h Eliminate more warnings. 2010-10-27 18:08:04 -07:00
type_aliases.h Eliminate more warnings. 2010-10-27 18:08:04 -07:00