]>
granicus.if.org Git - libvpx/log
Jim Bankoski [Thu, 5 Sep 2013 01:38:41 +0000 (18:38 -0700)]
resolve clang warnings : uninitialized vars in vp9_entropy.h
This helps clear out some of the warnings
Change-Id: Ie7ccaca8fd92542386a7f1b257398e1bdf2f55dc
Jim Bankoski [Thu, 5 Sep 2013 00:20:53 +0000 (17:20 -0700)]
Merge "wrap non420 loop filter code in macro"
Paul Wilkins [Thu, 5 Sep 2013 00:19:22 +0000 (17:19 -0700)]
Merge "Attempt to fix speed 4"
Yaowu Xu [Wed, 4 Sep 2013 21:21:30 +0000 (14:21 -0700)]
Merge "Fixing problem with invalid delta_q reading."
hkuang [Wed, 4 Sep 2013 20:35:09 +0000 (13:35 -0700)]
Merge "Add neon optimize vp9_short_iht4x4_add."
hkuang [Tue, 3 Sep 2013 17:19:21 +0000 (10:19 -0700)]
Add neon optimize vp9_short_iht4x4_add.
Change-Id: I42c497b68ae1ee645b59c9968ad805db0a43e37e
Dmitry Kovalev [Thu, 29 Aug 2013 22:33:06 +0000 (15:33 -0700)]
Fixing problem with invalid delta_q reading.
This is a bitstream change but no currently produces videos should
be affected. https://code.google.com/p/webm/issues/detail?id=610
Change-Id: Ic85a6477df6c201cdf7f70f6bd84607b71f4593c
Yaowu Xu [Wed, 4 Sep 2013 17:42:12 +0000 (10:42 -0700)]
Merge "Replacing init_dequantizer() with setup_plane_dequants()."
Jim Bankoski [Wed, 4 Sep 2013 17:35:51 +0000 (10:35 -0700)]
Merge "speed up inc_mv_component"
Jim Bankoski [Wed, 4 Sep 2013 17:35:26 +0000 (10:35 -0700)]
Merge "make vp9 postproc a config option"
Yunqing Wang [Wed, 4 Sep 2013 17:26:37 +0000 (10:26 -0700)]
Merge "Use correct bit cost while static-thresh is on"
Jim Bankoski [Tue, 3 Sep 2013 02:04:37 +0000 (19:04 -0700)]
wrap non420 loop filter code in macro
Change-Id: I62bca0e7a4bffc1a78b750dbb9df9d2378e92423
Jim Bankoski [Wed, 4 Sep 2013 17:02:08 +0000 (10:02 -0700)]
make vp9 postproc a config option
Vp9 postproc is disabled for now as its not been shown to help and
may be merged with vp8.
Change-Id: I25620d6cd34c6e10331b18c7b5ef7482e39c6057
Dmitry Kovalev [Wed, 28 Aug 2013 21:49:09 +0000 (14:49 -0700)]
Replacing init_dequantizer() with setup_plane_dequants().
Change-Id: Ib67e996b4a6dcb6f481889f5a0d84811a9e3c5d1
Jim Bankoski [Tue, 3 Sep 2013 22:49:58 +0000 (15:49 -0700)]
speed up inc_mv_component
Convert mv_class if statements to look up. re order to avoid ifs...
Change-Id: I76966a21bf517bb1f9a7957c08c476c7bb3e9a63
James Zern [Tue, 3 Sep 2013 22:50:33 +0000 (15:50 -0700)]
Merge "Fix intermediate height in convolve_c"
Paul Wilkins [Fri, 30 Aug 2013 23:39:26 +0000 (00:39 +0100)]
Attempt to fix speed 4
Speed 4 fixed partition size. Use fixed size unless it does not
fit inside image, in which case use the largest size that does.
Change-Id: I250f7a80506750dd82ab355721624a1344247223
Jingning Han [Tue, 3 Sep 2013 15:58:03 +0000 (08:58 -0700)]
Merge "Fix 32x32 forward transform SSE2 version"
Scott LaVarnway [Tue, 3 Sep 2013 12:44:01 +0000 (05:44 -0700)]
Merge "Improved mb_lpf_horizontal_edge_w_sse2_8"
Jingning Han [Fri, 30 Aug 2013 17:57:23 +0000 (10:57 -0700)]
Fix 32x32 forward transform SSE2 version
This commit fixed the potential overflow issue in the SSE2
implementation of 32x32 forward DCT. It resolved the corrupted
coded frames in the border of scenes.
Change-Id: If87eef2d46209269f74ef27e7295b6707fbf56f9
Yunqing Wang [Fri, 30 Aug 2013 22:19:49 +0000 (15:19 -0700)]
Use correct bit cost while static-thresh is on
While static-thresh is on, we only need to transmit skip
flag if skip = 1. The cost of skip bit is added to the
total rate cost.
Change-Id: I64e73e482bc297eba22907026298a15fa8cc3920
Paul Wilkins [Fri, 30 Aug 2013 15:56:01 +0000 (08:56 -0700)]
Merge "Added per pixel inter rd hit count stats"
Jingning Han [Fri, 30 Aug 2013 15:53:19 +0000 (08:53 -0700)]
Merge "Refactor 16x16 unit tests"
Tero Rintaluoma [Thu, 22 Aug 2013 08:29:19 +0000 (11:29 +0300)]
Fix intermediate height in convolve_c
- Intermediate height was not correct i.e. when block size is 4 and
y_step_q4 is 6. In this case intermediate height was
(4*6) >> 4 = 1 and vertical interpolation needs two source pixels
plus 7 extra pixels for taps.
- Also if the current output block is 16x16 and we are using 4x upscaling
we need only 12 rows after horizontal filtering instead of 16.
Patch Set 2: Intermediate_height updated after CL 66723
"Fix bug in convolution functions (filter selection)"
Change-Id: I5a1a1bc2ac9d5edb3a6e0818de618bf318fdd589
Jim Bankoski [Fri, 30 Aug 2013 03:11:09 +0000 (20:11 -0700)]
Merge "rework filter_block_plane"
Jim Bankoski [Fri, 30 Aug 2013 00:00:05 +0000 (17:00 -0700)]
rework filter_block_plane
Change-Id: I55c3b60c4c0f4910d3dfb70e3edaae00cfa8dc4d
Jingning Han [Wed, 28 Aug 2013 00:03:46 +0000 (17:03 -0700)]
Refactor 16x16 unit tests
Make the new test module comply to the unit test rules.
Change-Id: Id79ff7f03f870973ffbc74f26d64edb418b75299
Jingning Han [Thu, 29 Aug 2013 23:49:04 +0000 (16:49 -0700)]
Merge "Fix overflow issue in SSSE3 32x32 quantization"
Paul Wilkins [Wed, 21 Aug 2013 11:34:14 +0000 (12:34 +0100)]
Added per pixel inter rd hit count stats
Added some code to output normalized rd hit count stats.
In effect this approximates to the average number of rd
operations/tests per pixel for the sequence.
The results are not quite accurate and I have not bothered
to account for partial SB64s at frame edges and for key frames
However they do give some idea of the number of modes /
prediction methods being tested for each pixel across the
different partition sizes. This indicates how much scope their
is for further gains either by reducing the number of partitions
examined or the modes per partition through heuristics.
Patch 3 moved place where count incremented so partial rd
tests that are aborted with INT_MAX return are also counted.
Example numbers for first 50 frames of Akiyo.
Speed 0 ~84.4 rd operations / pixel
Speed 1 ~28.8
Speed 2 ~11.9
Change-Id: Ib956e787e12f7fa8b12d3a1a2f6cda19a65a6cb8
Deb Mukherjee [Thu, 29 Aug 2013 22:54:04 +0000 (15:54 -0700)]
Merge "Adds a speed feature for fast 1-loop forw updates"
James Zern [Thu, 29 Aug 2013 22:50:56 +0000 (15:50 -0700)]
Merge changes Ib1e853f9,Ifd75c809,If3e83404
* changes:
consistently name VP9_COMMON variables #3
consistently name VP9_COMMON variables #2
consistently name VP9_COMMON variables #1
Yaowu Xu [Thu, 29 Aug 2013 22:43:26 +0000 (15:43 -0700)]
Merge "Fixed potential overflows"
James Zern [Sat, 24 Aug 2013 02:30:33 +0000 (19:30 -0700)]
consistently name VP9_COMMON variables #3
stragglers
Change-Id: Ib1e853f9a331b7b66639dc34d79568d84d1930f1
James Zern [Fri, 23 Aug 2013 03:04:24 +0000 (20:04 -0700)]
consistently name VP9_COMMON variables #2
oci -> cm
Change-Id: Ifd75c809d9cc99034d3c2fccc4653a78b3aec21f
James Zern [Fri, 23 Aug 2013 03:03:08 +0000 (20:03 -0700)]
consistently name VP9_COMMON variables #1
pc -> cm
Change-Id: If3e83404f574316fdd3b9aace2487b64efdb66f3
Dmitry Kovalev [Thu, 29 Aug 2013 19:30:18 +0000 (12:30 -0700)]
Merge "Renaming txfm_size to tx_size."
Jingning Han [Mon, 26 Aug 2013 23:12:16 +0000 (16:12 -0700)]
Fix overflow issue in SSSE3 32x32 quantization
The 32x32 quantization process can potentially have the intermediate
stacks over 16-bit range, thereby causing enc/dec mismatch. This commit
fixes this overflow issue in the SSSE3 implementation, as well as the
prototype, of 32x32 quantization.
This fixes issue 607 from webm@googlecode.
Change-Id: I85635e6ca236b90c3dcfc40d449215c7b9caa806
Yaowu Xu [Thu, 29 Aug 2013 17:26:52 +0000 (10:26 -0700)]
Fixed potential overflows
The two arrays are typically initialized to INT64_MAX, if they are not
filled with valid values before the addition, the values can overflow
and lead to wrong results.
Change-Id: I515de22cf3e8f55af4b74bdb2c8eb821a02d3059
Scott LaVarnway [Thu, 29 Aug 2013 12:30:17 +0000 (08:30 -0400)]
Improved mb_lpf_horizontal_edge_w_sse2_8
This patch is a reformatted version of optimizations done by
engineers at Intel (Erik/Tamar) who have been providing
performance feedback for VP9. For the test clips used (720p, 1080p),
up to 1.2% performance improvement was seen.
Change-Id: Ic1a7149098740079d5453b564da6fbfdd0b2f3d2
Dmitry Kovalev [Wed, 28 Aug 2013 19:57:49 +0000 (12:57 -0700)]
Merge "General code cleanup."
Dmitry Kovalev [Wed, 28 Aug 2013 19:31:08 +0000 (12:31 -0700)]
Merge "Removing unnecessary call to vp9_setup_interp_filters."
Dmitry Kovalev [Wed, 28 Aug 2013 19:22:37 +0000 (12:22 -0700)]
General code cleanup.
Switching from mi_{width, height}_log2 and b_{width, height}_log2 to
num_8x8_blocks_{wide, high} and num_4x4_blocks_{wide, high}. Removing
redundant code, adding const.
Change-Id: Iaab2207590fd24d0b76999071778d1395dc5cd5d
Deb Mukherjee [Tue, 27 Aug 2013 22:07:50 +0000 (15:07 -0700)]
Adds a speed feature for fast 1-loop forw updates
Incorporates a speed feature for fast forward updates of
coefficients. This feature takes 3 values:
0 - use standard 2-loop version
1 - use a 1-loop version
2 - use a 1-loop version with reduced updates
Results: derfraw300 +0.007% (on speed 0) at feature value = 1
-0.160% (on speed 0) at feature value = 2
There is substantial speed up at speeds 2 and above for low
resolution sequences where the entropy updates are a big part
of the overall computations.
Change-Id: Ie96fc50777088a5bd441288bca6111e43d03bcae
Dmitry Kovalev [Wed, 28 Aug 2013 02:47:53 +0000 (19:47 -0700)]
Renaming txfm_size to tx_size.
Change-Id: I752e374867d459960995b24d197301d65ad535e3
Jingning Han [Wed, 28 Aug 2013 02:03:12 +0000 (19:03 -0700)]
Merge "Fix buf alignment in sub8x8 comp inter-inter pred"
Dmitry Kovalev [Wed, 28 Aug 2013 00:02:36 +0000 (17:02 -0700)]
Merge "Adding get_entropy_context function."
Frank Galligan [Tue, 27 Aug 2013 22:39:58 +0000 (15:39 -0700)]
Merge "Fix winodws warning."
Frank Galligan [Tue, 27 Aug 2013 22:19:55 +0000 (15:19 -0700)]
Fix winodws warning.
Const is not needed on the function parameter.
Change-Id: I38c2a7317cb6f42f70bbddfde9a2cd18d65ceb1c
Dmitry Kovalev [Tue, 27 Aug 2013 21:17:53 +0000 (14:17 -0700)]
Adding get_entropy_context function.
Moving common code from encoder and decoder to this function.
Change-Id: I60fa643fb1ddf7ebbff5e83b6c4710137b0195ef
hkuang [Tue, 27 Aug 2013 20:57:32 +0000 (13:57 -0700)]
Add neon optimize vp9_short_idct16x16_1_add.
Change-Id: Ib9354c1d975d03e8081df20d50b6a77dfe2dc7e5
hkuang [Tue, 27 Aug 2013 19:10:07 +0000 (12:10 -0700)]
Merge "Add neon optimize vp9_short_idct8x8_1_add."
Dmitry Kovalev [Tue, 27 Aug 2013 18:05:08 +0000 (11:05 -0700)]
Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the encoder.
Change-Id: I62bb07c377f947cb72fac68add7a6b199e42c6b9
Dmitry Kovalev [Tue, 27 Aug 2013 17:49:36 +0000 (10:49 -0700)]
Merge "Using num_8x8_* lookup tables instead of mi_*_log2."
Dmitry Kovalev [Tue, 27 Aug 2013 17:33:34 +0000 (10:33 -0700)]
Merge "Using existing functions instead of raw expressions."
Dmitry Kovalev [Tue, 27 Aug 2013 17:17:56 +0000 (10:17 -0700)]
Merge "Cleaning up decode_block_intra function."
Dmitry Kovalev [Tue, 27 Aug 2013 17:17:10 +0000 (10:17 -0700)]
Merge "Cleaning up model_rd_for_sb_y_tx."
Dmitry Kovalev [Tue, 27 Aug 2013 17:15:21 +0000 (10:15 -0700)]
Merge "Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the common/decoder."
Dmitry Kovalev [Tue, 27 Aug 2013 17:03:57 +0000 (10:03 -0700)]
Merge "Renaming D27 to D207."
Jingning Han [Mon, 26 Aug 2013 23:52:13 +0000 (16:52 -0700)]
Fix buf alignment in sub8x8 comp inter-inter pred
This commit resolved a mis-alignment issue in compound inter-inter
prediction of sub8x8. This patch follows solution from dkovalev@.
Change-Id: I3cc0cf7e55b84110e0c42ef4b2e6ca7ac3f8f932
Yaowu Xu [Tue, 27 Aug 2013 16:09:18 +0000 (09:09 -0700)]
Merge "fixed the reading too many bytes"
Yaowu Xu [Tue, 27 Aug 2013 15:39:20 +0000 (08:39 -0700)]
fixed the reading too many bytes
In subpel_avg_variance functions, code similar to the following
punpkldq m2, [addr]
actually reads 8 bytes. For functions that are supposed to work on
buffers only have less 8 bytes a line, this caused valgrind error
of reading uninitialized memory.
Change-Id: I2a4c079dbdbc747829bd9e2ed85f0018ad2a3a34
Jim Bankoski [Tue, 27 Aug 2013 15:33:12 +0000 (08:33 -0700)]
Merge "Add a test vector that tests color space 444"
Dmitry Kovalev [Tue, 27 Aug 2013 00:25:49 +0000 (17:25 -0700)]
Removing unnecessary call to vp9_setup_interp_filters.
vp9_setup_interp_filters before each inter block decoding, it is not
necessary to call it just before the whole frame decoding.
Change-Id: Id1b0ee62f987474e27eafba0013a4896b492c400
hkuang [Mon, 26 Aug 2013 23:28:57 +0000 (16:28 -0700)]
Add neon optimize vp9_short_idct8x8_1_add.
Change-Id: I0b15d5e3b0eb97abb9ab5ec08e88b61f8723aaf4
hkuang [Mon, 26 Aug 2013 23:26:38 +0000 (16:26 -0700)]
Merge "Add neon optimize vp9_short_idct4x4_1_add."
Dmitry Kovalev [Mon, 26 Aug 2013 23:18:28 +0000 (16:18 -0700)]
Cleaning up model_rd_for_sb_y_tx.
Removing references to plane_block_width and plane_block_height (we are
going to delete the latter ones).
Change-Id: I7982da4d373aebb54d2209dc8886f6192df4d287
hkuang [Mon, 26 Aug 2013 19:39:12 +0000 (12:39 -0700)]
Add neon optimize vp9_short_idct4x4_1_add.
Change-Id: I6ecb5c4a1a472feb8e84e9f3352b536d5e28a4a5
Jim Bankoski [Mon, 26 Aug 2013 22:27:14 +0000 (15:27 -0700)]
Merge "Fix Chroma plane md5 check"
Jim Bankoski [Mon, 26 Aug 2013 22:24:35 +0000 (15:24 -0700)]
Add a test vector that tests color space 444
This adds a test vector for 444 color space.
Change-Id: I1e2ac3883211989a062cfafc0e58151b14d294b8
Dmitry Kovalev [Mon, 26 Aug 2013 22:24:12 +0000 (15:24 -0700)]
Cleaning up decode_block_intra function.
Change-Id: Ia41ea5d526d15fcbc9b56d74079593cf8b2fdf66
Jim Bankoski [Mon, 26 Aug 2013 21:26:38 +0000 (14:26 -0700)]
Fix Chroma plane md5 check
Chroma plane MD5 calculation was incorrect for 444 and 422
yuv color spaces.
Change-Id: If985396871a2f57db85108a4355172f9793d3007
Dmitry Kovalev [Mon, 26 Aug 2013 21:22:54 +0000 (14:22 -0700)]
Using num_8x8_* lookup tables instead of mi_*_log2.
Change-Id: I8a246b3d056c98be614d05a90bc261e2441ffc10
Yaowu Xu [Mon, 26 Aug 2013 21:01:50 +0000 (14:01 -0700)]
Merge "Fix the reading of too many input pixels"
Paul Wilkins [Mon, 26 Aug 2013 19:48:11 +0000 (12:48 -0700)]
Merge "Changes to adaptive inter rd thresholds."
Yaowu Xu [Mon, 26 Aug 2013 16:21:12 +0000 (09:21 -0700)]
Fix the reading of too many input pixels
in VP9_get4x4var_mmx
Change-Id: I4b4a8f45f25ebdfad281f169cc87aba5e2d6f227
Paul Wilkins [Mon, 26 Aug 2013 19:34:56 +0000 (12:34 -0700)]
Merge "Limit Key frame Intra modes checks."
Dmitry Kovalev [Mon, 26 Aug 2013 18:33:16 +0000 (11:33 -0700)]
Renaming BLOCK_SIZE_TYPE to BLOCK_SIZE in the common/decoder.
Adding temporary "typedef BLOCK_SIZE BLOCK_SIZE_TYPE" which will go away
after encoder's patch.
Change-Id: I06ec6a6f079401439843ec981d1496234fd7775c
Jingning Han [Mon, 26 Aug 2013 18:19:53 +0000 (11:19 -0700)]
Merge "Temporarily disable SSSE3 quant_32x32"
Dmitry Kovalev [Mon, 26 Aug 2013 17:48:37 +0000 (10:48 -0700)]
Merge "Removing redundant calls to clamp_mv2."
Jingning Han [Mon, 26 Aug 2013 17:45:59 +0000 (10:45 -0700)]
Temporarily disable SSSE3 quant_32x32
Make the current head working properly, while working on fixing an
issue in the SSSE3 implementation of 32x32 quantization.
Change-Id: Ic029da3fd7f1f5e58bc641341cbd226ec49a16bc
James Zern [Sun, 25 Aug 2013 01:13:41 +0000 (18:13 -0700)]
Merge "cosmetics: yv12extend add some const"
James Zern [Sat, 24 Aug 2013 02:52:33 +0000 (19:52 -0700)]
cosmetics: yv12extend add some const
Change-Id: I87f1ce2ceca80d3869dd72ba862329a98eb3e0c2
James Zern [Sat, 24 Aug 2013 02:59:16 +0000 (19:59 -0700)]
Merge "cosmetics: strip 'VP9_' from defines in vp9 only code"
James Zern [Sat, 24 Aug 2013 02:40:03 +0000 (19:40 -0700)]
Merge "yv12extend: name variables consistently"
James Zern [Fri, 23 Aug 2013 01:40:34 +0000 (18:40 -0700)]
cosmetics: strip 'VP9_' from defines in vp9 only code
Change-Id: I481d9bb2fa3ec72b6a83d5f04d545ad8013f295c
James Zern [Sat, 24 Aug 2013 01:52:10 +0000 (18:52 -0700)]
Merge "vp9: remove unnecessary wait w/threaded loopfilter"
James Zern [Fri, 23 Aug 2013 02:49:24 +0000 (19:49 -0700)]
yv12extend: name variables consistently
- s|source -> src
- dest -> dst
- use verbose names in extend_plane dropping the redundant comments
+ light cosmetics:
- join a few lines / assignments
- drop some unnecessary comments & includes
Change-Id: I6d979a85a0223a0a79a22f79a6d9c7512fd04532
Dmitry Kovalev [Sat, 24 Aug 2013 00:33:48 +0000 (17:33 -0700)]
Renaming D27 to D207.
I've already renamed d27_predictor to d207_predictor but forgot about the
corresponding constant.
Change-Id: Id312aa80fc5b5a1ab8a709a33418a029552a6857
Dmitry Kovalev [Sat, 24 Aug 2013 00:26:53 +0000 (17:26 -0700)]
Using existing functions instead of raw expressions.
Change-Id: Ifa50b04bac1a6ff2abef989073cbf1f37a89eb50
Dmitry Kovalev [Sat, 24 Aug 2013 00:09:49 +0000 (17:09 -0700)]
Merge "Cleanup in mvref_common.{h, c}."
Dmitry Kovalev [Sat, 24 Aug 2013 00:08:51 +0000 (17:08 -0700)]
Merge "Fixing display size setting problem."
Yaowu Xu [Fri, 23 Aug 2013 20:29:32 +0000 (13:29 -0700)]
Limit mv range to be based on partition size
Previous change
c4048dbd limits the mv search range assuming max block
size of 64x64, this commit change the search range using actual block
size instead.
Change-Id: Ibe07ab02b62bf64bd9f8675d2b997af20a2c7e11
Dmitry Kovalev [Fri, 23 Aug 2013 22:18:35 +0000 (15:18 -0700)]
Removing redundant calls to clamp_mv2.
We could avoid calling clamp_mv2 because it has been already called
inside vp9_find_best_ref_mvs function.
Change-Id: I08edeaf3e11e98c19e67b9711b2523ca5fb1416e
Yaowu Xu [Fri, 23 Aug 2013 21:43:58 +0000 (14:43 -0700)]
Merge "Added border extension"
Adrian Grange [Fri, 23 Aug 2013 20:41:47 +0000 (13:41 -0700)]
Merge "Fix bug in convolution functions (filter selection)"
Dmitry Kovalev [Fri, 23 Aug 2013 20:37:32 +0000 (13:37 -0700)]
Merge "Removing useless calls to setup_{pre, dst}_planes."
Dmitry Kovalev [Fri, 23 Aug 2013 20:12:46 +0000 (13:12 -0700)]
Fixing display size setting problem.
Fix of https://code.google.com/p/webm/issues/detail?id=608. We could have
used invalid display size equal to the previous frame size (not to the
current frame size).
Change-Id: I91b576be5032e47084214052a1990dc51213e2f0
Dmitry Kovalev [Fri, 23 Aug 2013 19:00:14 +0000 (12:00 -0700)]
Cleanup in mvref_common.{h, c}.
Making code more compact, adding consts, removing redundant arguments,
adding do/while(0) for macros.
Change-Id: Ic9ec0bc58cee0910a5450b7fb8cfbf35fa9d0d16
Yaowu Xu [Thu, 22 Aug 2013 17:37:28 +0000 (10:37 -0700)]
Added border extension
To the source buffer to be encoded as an alt ref frame. This is to fix
the problem of using uninitialized memory in encoder.
See https://code.google.com/p/webm/issues/detail?id=605
Change-Id: I97618a2fc207e08abcf5301b734aa9e3ad695e2c
Adrian Grange [Thu, 22 Aug 2013 23:02:18 +0000 (16:02 -0700)]
Fix bug in convolution functions (filter selection)
(In response to Issue 604:
https://code.google.com/p/webm/issues/detail?id=604)
There were bugs in the convolution code for two cases:
1. Where the filter table was assumed to be aligned to a
256 byte boundary. The offset of the pixel in the
source buffer was computed incorrectly.
2. Where no such alignment assumption was made. An
incorrect address for the filter table base was used.
To fix both problems, I now assume that the filter table is
256-byte aligned and modify the pixel offset calculation to
match.
A later patch should remove the restriction that the filter
table is aligned to a 256-byte boundary.
There was also a bug in the ConvolveTest unit test
(convolve_test.cc).
(Bug & initial fix suggestion submitted by Tero Rintaluoma
and Sami Pietilä).
Change-Id: I71985551e62846e55e40de9e7e3959d4805baa82