vpx/vp9/encoder
John Koleszar 7a07eea13f Convert subpixel filters to use convolve framework
Update the code to call the new convolution functions to do subpixel
prediction rather than the existing functions. Remove the old C and
assembly code, since it is unused. This causes a 50% performance
reduction on the decoder, but that will be resolved when the asm for
the new functions is available.

There is no consensus for whether 6-tap or 2-tap predictors will be
supported in the final codec, so these filters are implemented in
terms of the 8-tap code, so that quality testing of these modes
can continue. Implementing the lower complexity algorithms is a
simple exercise, should it be necessary.

This code produces slightly better results in the EIGHTTAP_SMOOTH
case, since the filter is now applied in only one direction when
the subpel motion is only in one direction. Like the previous code,
the filtering is skipped entirely on full-pel MVs. This combination
seems to give the best quality gains, but this may be indicative of a
bug in the encoder's filter selection, since the encoder could
achieve the result of skipping the filtering on full-pel by selecting
one of the other filters. This should be revisited.

Quality gains on derf positive on almost all clips. The only clip
that seemed to be hurt at all datarates was football
(-0.115% PSNR average, -0.587% min). Overall averages 0.375% PSNR,
0.347% SSIM.

Change-Id: I7d469716091b1d89b4b08adde5863999319d69ff
2013-02-05 14:23:17 -08:00
..
ppc Add vp9_ prefix to all vp9 files 2012-11-27 14:12:30 -08:00
x86 fix a number issues that cause failures 2013-01-14 18:32:32 -08:00
vp9_asm_enc_offsets.c Remove unused symbols from vp9 asm offsets C files. 2012-12-07 15:38:40 -08:00
vp9_bitstream.c Merge "Adding a frame parallel decoding mode" into experimental 2013-01-30 12:03:45 -08:00
vp9_bitstream.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_block.h Remove eob_max_offset markers. 2013-01-29 13:39:34 +00:00
vp9_boolhuff.c fixed includes to be fully specified 2012-11-28 10:53:17 -08:00
vp9_boolhuff.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_dct.c Fix compiler warnings 2013-01-14 13:56:52 -08:00
vp9_encodeframe.c Merge "Segment Skip Flag" into experimental 2013-01-29 09:29:26 -08:00
vp9_encodeframe.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_encodeintra.c Remove compound intra-intra experiment. 2013-01-14 15:47:25 -08:00
vp9_encodeintra.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_encodemb.c Merge tx32x32 experiment. 2013-01-10 08:23:59 -08:00
vp9_encodemb.h Merge tx32x32 experiment. 2013-01-10 08:23:59 -08:00
vp9_encodemv.c more unused variables. 2012-11-29 08:54:59 -08:00
vp9_encodemv.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_firstpass.c Start to anonymize reference frames 2013-01-16 14:06:23 -08:00
vp9_firstpass.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_lookahead.c fixed includes to be fully specified 2012-11-28 10:53:17 -08:00
vp9_lookahead.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_mbgraph.c Start to anonymize reference frames 2013-01-16 14:06:23 -08:00
vp9_mbgraph.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_mcomp.c Merge superblocks (32x32) experiment. 2013-01-08 12:54:45 -08:00
vp9_mcomp.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_modecosts.c fixed includes to be fully specified 2012-11-28 10:53:17 -08:00
vp9_modecosts.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_onyx_if.c Convert subpixel filters to use convolve framework 2013-02-05 14:23:17 -08:00
vp9_onyx_int.h Merge "Simplify Zero bin and zero bin run code." into experimental 2013-01-28 08:35:36 -08:00
vp9_picklpf.c Merge vp9-preview changes into experimental branch 2013-01-08 10:19:59 -08:00
vp9_picklpf.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_psnr.c Add vp9_ prefix to all vp9 files 2012-11-27 14:12:30 -08:00
vp9_psnr.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_quantize.c Remove eob_max_offset markers. 2013-01-29 13:39:34 +00:00
vp9_quantize.h Merge tx32x32 experiment. 2013-01-10 08:23:59 -08:00
vp9_ratectrl.c Adds an error-resilient mode with test 2013-01-23 21:56:15 -08:00
vp9_ratectrl.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_rdopt.c Convert subpixel filters to use convolve framework 2013-02-05 14:23:17 -08:00
vp9_rdopt.h 64x64 blocksize support. 2013-01-05 18:20:25 -08:00
vp9_sad_c.c Merge vp9-preview changes into experimental branch 2013-01-08 10:19:59 -08:00
vp9_satd_c.c Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_segmentation.c don't code the branch for the predicted seg_id if that flag is false. 2013-01-30 09:30:46 -08:00
vp9_segmentation.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_ssim.c Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_temporal_filter.c Convert subpixel filters to use convolve framework 2013-02-05 14:23:17 -08:00
vp9_temporal_filter.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_tokenize.c Segment Skip Flag 2013-01-28 17:28:04 +00:00
vp9_tokenize.h Merge tx32x32 experiment. 2013-01-10 08:23:59 -08:00
vp9_treewriter.c fixed includes to be fully specified 2012-11-28 10:53:17 -08:00
vp9_treewriter.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00
vp9_variance_c.c Convert subpixel filters to use convolve framework 2013-02-05 14:23:17 -08:00
vp9_variance.h Use standard integer types for pixel values and coefficients. 2012-12-18 15:31:19 -08:00