Dmitry Kovalev [Tue, 12 Nov 2013 02:37:00 +0000 (18:37 -0800)]
Removing function pointers from inter prediction.
Removing foreach_predicted_block_visitor and calling build_inter_predictors
directly.
Change-Id: I11bb3c872b99b47c2680b01b0dbcc01c558c4a2b
Tom Finegan [Tue, 12 Nov 2013 01:01:57 +0000 (17:01 -0800)]
Merge "vpxenc: clean up; move stats code out of vpxenc.c"
Dmitry Kovalev [Tue, 12 Nov 2013 00:34:39 +0000 (16:34 -0800)]
Merge "Cleaning up joint_motion_search function."
Tom Finegan [Fri, 8 Nov 2013 05:28:45 +0000 (21:28 -0800)]
vpxenc: clean up; move stats code out of vpxenc.c
Change-Id: I6b245ef5017c49373ba33e30f8fbf3d1b97409b5
Jingning Han [Tue, 12 Nov 2013 00:09:16 +0000 (16:09 -0800)]
Merge "Decouple macroblockd_plane buffer usage"
Dmitry Kovalev [Tue, 12 Nov 2013 00:04:02 +0000 (16:04 -0800)]
Cleaning up joint_motion_search function.
Change-Id: I70a0878b23bda0ac3ff8733b4c96d5c636bc551c
Ivan Maltz [Mon, 11 Nov 2013 23:52:42 +0000 (15:52 -0800)]
Merge "Fixed memory leak with svc_test.cc"
Jingning Han [Thu, 31 Oct 2013 19:21:49 +0000 (12:21 -0700)]
Decouple macroblockd_plane buffer usage
Make the macroblockd_plane contain dynamic buffer pointers instead
static pointers to the memory space allocated therein. The decoder
uses the buffer allocated in pbi, while encoder will use a dual
buffer approach for rate-distortion optimization search.
Change-Id: Ie6f24be2dcda35df7c15b4014e5ccf236fb3f76c
Ivan Maltz [Mon, 11 Nov 2013 21:55:34 +0000 (13:55 -0800)]
Fixed memory leak with svc_test.cc
was not calling vpx_codec_destroy and delete(decoder_) in TearDown
Change-Id: Iff4fd24a260223d224b3ea3287cdf0227405492f
hkuang [Mon, 11 Nov 2013 20:49:12 +0000 (12:49 -0800)]
Fix a bug in the assembly code.
Change-Id: Ic416e3f8a11e82ee298e6f709b2119a9ddf1e2f8
Dmitry Kovalev [Mon, 11 Nov 2013 20:27:42 +0000 (12:27 -0800)]
Merge "Replacing (raster_block >> tx_size) with (block >> (tx_size << 1))."
Tom Finegan [Mon, 11 Nov 2013 19:53:33 +0000 (11:53 -0800)]
Merge "vpx[dec|enc]: Clean up target OS based IO focused preproc abuse."
Tom Finegan [Mon, 11 Nov 2013 14:48:18 +0000 (06:48 -0800)]
vpx[dec|enc]: Clean up target OS based IO focused preproc abuse.
Relocate it to tools_common.h so we can stop duping this code
everywhere.
BUG=https://code.google.com/p/webm/issues/detail?id=660
Change-Id: If8aa49b74d297273cd9fd7006b2767837055a359
Dmitry Kovalev [Mon, 11 Nov 2013 19:12:06 +0000 (11:12 -0800)]
Merge "Localizing NEARESTMV special cases in the code."
Dmitry Kovalev [Mon, 11 Nov 2013 19:02:32 +0000 (11:02 -0800)]
Merge "Cleaning up vp9_quantize_b_c() function."
Dmitry Kovalev [Mon, 11 Nov 2013 19:01:35 +0000 (11:01 -0800)]
Merge "Cleaning up read_mv_probs() function."
Dmitry Kovalev [Mon, 11 Nov 2013 19:00:51 +0000 (11:00 -0800)]
Merge "Adding read_reference_mode() function."
Tom Finegan [Mon, 11 Nov 2013 15:57:42 +0000 (07:57 -0800)]
Merge "vpxenc: Remove support for IVF input."
Yaowu Xu [Sat, 9 Nov 2013 21:59:19 +0000 (13:59 -0800)]
Merge "[BITSTREAM]Fix row tile mode_info pointer setup"
Yaowu Xu [Fri, 8 Nov 2013 21:04:08 +0000 (13:04 -0800)]
[BITSTREAM]Fix row tile mode_info pointer setup
This commit fixes the assignment of mode_info pointer per tile. It
makes recognition of tiles in both row and column formats and properly
arrange the use of mode_info.
The bug was first introduced in
I6226456dd11f275fa991e4a7a930549da6675915
https://gerrit.chromium.org/gerrit/#/c/67492/
Change-Id: Ie12cd209f53241513728c461ee3d7b9599ddb860
Yaowu Xu [Sat, 9 Nov 2013 00:17:38 +0000 (16:17 -0800)]
Merge "Correct a couple of typos"
Tom Finegan [Fri, 8 Nov 2013 19:32:23 +0000 (11:32 -0800)]
vpxenc: Remove support for IVF input.
Change-Id: Ida0e1b2df89e992b8140672b70517d8623cf9ede
Yaowu Xu [Fri, 8 Nov 2013 20:43:51 +0000 (12:43 -0800)]
Correct a couple of typos
Change-Id: Ic470c6c9ce27b615c9645b9cb0d67526417bc374
Yunqing Wang [Fri, 8 Nov 2013 20:00:36 +0000 (12:00 -0800)]
Merge "Improve vp9_idct4x4_1_add_sse2"
Yaowu Xu [Fri, 8 Nov 2013 19:11:39 +0000 (11:11 -0800)]
Merge "Disable zeroblock forcing for lossless coding mode"
Dmitry Kovalev [Fri, 8 Nov 2013 18:59:02 +0000 (10:59 -0800)]
Merge "Unifying tile decoding for both direct and inverse tile order."
Yaowu Xu [Fri, 8 Nov 2013 17:49:08 +0000 (09:49 -0800)]
Disable zeroblock forcing for lossless coding mode
This to make sure that prediction residue always get coded in lossless
mode.
This commit also fixed lossless unit test
Change-Id: I537726ee55328d4e4cf0a0196393a67e12bfcde1
Yunqing Wang [Fri, 8 Nov 2013 16:26:30 +0000 (08:26 -0800)]
Merge "Remove TEXTREL from 32bit encoder"
Paul Wilkins [Fri, 8 Nov 2013 12:24:51 +0000 (04:24 -0800)]
Merge "Removed unused rate parameter."
Dmitry Kovalev [Thu, 7 Nov 2013 02:51:01 +0000 (18:51 -0800)]
Replacing (raster_block >> tx_size) with (block >> (tx_size << 1)).
The new expression is much more logical than previous one. Surprisingly
both expressions give exactly the same set of dependent values
-- have_top, have_left, have_right -- in vp9_predict_intra_block.
Change-Id: I63eb1b592b8c37883b3a0dbb1f3daa271e446109
hkuang [Thu, 7 Nov 2013 22:42:29 +0000 (14:42 -0800)]
Merge "Add back vp9_short_idct32x32_1_add_neon which is deleted in cleanup I63df79a13cf62aa2c9360a7a26933c100f9ebda3."
Yunqing Wang [Wed, 6 Nov 2013 19:06:21 +0000 (11:06 -0800)]
Remove TEXTREL from 32bit encoder
This patch fixed the issue reported in "Issue 655: remove textrel's
from 32-bit vp9 encoder". The set of vp9_subpel_variance functions
that used x86inc.asm ABI didn't build correctly for 32bit PIC. The
fix was carefully done under the situation that there was not
enough registers.
After the change, we got
$ eu-findtextrel libvpx.so
eu-findtextrel: no text relocations reported in 'libvpx.so'
Change-Id: I1b176311dedaf48eaee0a1e777588043c97cea82
Jingning Han [Thu, 7 Nov 2013 19:39:04 +0000 (11:39 -0800)]
Merge "Fix the variable naming in encode_block"
Deb Mukherjee [Thu, 7 Nov 2013 17:40:07 +0000 (09:40 -0800)]
Merge "Miscelleneous changes in detokenize for speed"
Yaowu Xu [Thu, 7 Nov 2013 17:29:31 +0000 (09:29 -0800)]
Merge "disable avx/avx2 for old versions of MSVC"
Jingning Han [Wed, 6 Nov 2013 19:34:06 +0000 (11:34 -0800)]
Fix the variable naming in encode_block
The term x represents macroblock pointer across encode_block. Change
the two local variable names to avoid confusion.
Change-Id: Ic732e73023525d673c0a678ed2708ac1edf5a3f9
Paul Wilkins [Wed, 23 Oct 2013 14:10:59 +0000 (15:10 +0100)]
Removed unused rate parameter.
Change-Id: I6e4a266fdbad1d222eb45d45b67bbb82d091821a
Dmitry Kovalev [Thu, 7 Nov 2013 02:15:33 +0000 (18:15 -0800)]
Unifying tile decoding for both direct and inverse tile order.
Now tile decoding consists of two stages:
1. Find tile buffer start and its size, put this info into tile_buffers.
2. Decode each tile based on information from tile_buffers.
It seems that stage 1 can also be reused by multithreaded tile decoder.
Change-Id: If0cdaefdd6d10bb41c63561346c9ae4cfac081dd
Ivan Maltz [Thu, 7 Nov 2013 01:24:05 +0000 (17:24 -0800)]
Merge "Move SVC per-frame loop from sample app into libvpx proper"
Dmitry Kovalev [Thu, 7 Nov 2013 00:59:57 +0000 (16:59 -0800)]
Merge "Using pd->dqcoeff instead of pd->qcoeff in the decoder."
Dmitry Kovalev [Thu, 7 Nov 2013 00:14:45 +0000 (16:14 -0800)]
Using pd->dqcoeff instead of pd->qcoeff in the decoder.
It is more logical to use dqcoeff buffer to put there *dequantized*
transform coefficients (inside inverse_transform_block and
decode_coefs functions). Dequantization happens inside WRITE_COEF_CONTINUE
macro.
qcoeff buffer should be only used in the encoder for *quantized*
transform coefficients.
Change-Id: Ifd54bef272bbf5311ced6669c4f1079f998af5d7
Ivan Maltz [Wed, 23 Oct 2013 18:53:37 +0000 (11:53 -0700)]
Move SVC per-frame loop from sample app into libvpx proper
SVC multiple layer per frame encoding is invoked with vpx_svc_init and
vpx_svc_encode. These interfaces are designed to be invoked from ffmpeg.
Additional improvements:
- make dummy frame handling a bit more explicit
- fixed bug with single layer encodes
- track individual frame sizes and psnrs instead of averages
- parameterized quantizer, 16th scalefactors, more logging,
- enabled single layer encodes to generate baseline
- include new mode for 3 layer I frame with 5 total layers
Change-Id: I46cfa600d102e208c6af8acd6132e0cc25cda8d4
Dmitry Kovalev [Wed, 6 Nov 2013 22:18:33 +0000 (14:18 -0800)]
Merge "Replacing mi_{width,height}_log2 with num_8x8_blocks_{wide,high}_lookup."
Joshua Litt [Wed, 6 Nov 2013 21:37:19 +0000 (13:37 -0800)]
Merge "Allow test data path to be set by preprocessor symbol"
Dmitry Kovalev [Wed, 6 Nov 2013 21:34:23 +0000 (13:34 -0800)]
Replacing mi_{width,height}_log2 with num_8x8_blocks_{wide,high}_lookup.
Change-Id: I04c55daef89bca2b85cb7db0850f9b052abc5a7c
Deb Mukherjee [Wed, 6 Nov 2013 21:12:47 +0000 (13:12 -0800)]
Merge "Removes stack allocation of token_cache"
Joshua Litt [Mon, 4 Nov 2013 21:47:30 +0000 (13:47 -0800)]
Allow test data path to be set by preprocessor symbol
Change-Id: I19c482c7cba34db574b3f33178ba20aede49779e
Yaowu Xu [Wed, 6 Nov 2013 21:04:28 +0000 (13:04 -0800)]
Merge "Missing _ means no sse3 for vp9_h_predictor_32x32."
Yaowu Xu [Tue, 5 Nov 2013 22:45:55 +0000 (14:45 -0800)]
disable avx/avx2 for old versions of MSVC
Change-Id: Ifb40757c9c6b353482cfeef929af282ee0136c6c
Deb Mukherjee [Tue, 5 Nov 2013 19:19:27 +0000 (11:19 -0800)]
Removes stack allocation of token_cache
Removes stack-allocation of token_cache in the tokenize
function in the encoder.
Change-Id: Ifdbab76dc2b23384da0080d2e9390533e489db8c
Tom Finegan [Wed, 6 Nov 2013 18:02:31 +0000 (10:02 -0800)]
webmenc: Clean up the truly egregious style issues.
I'm sure I could do more, but I don't know how long this code has to
live. I think this at least makes the code a little easier to read and
understand.
Change-Id: I6ca76357f89468d4851a3d1826e7aefa498e51d1
Tom Finegan [Wed, 6 Nov 2013 19:30:25 +0000 (11:30 -0800)]
Merge "Move WebM writing support out of vpxenc.c."
Yaowu Xu [Wed, 6 Nov 2013 18:25:52 +0000 (10:25 -0800)]
Merge "optimize decode_bool operation"
Tom Finegan [Tue, 5 Nov 2013 18:02:18 +0000 (10:02 -0800)]
Move WebM writing support out of vpxenc.c.
This is mainly a clean up patchset. It moves the WebM writing support
out of vpxenc and into its own source file. Changes to tools_common and
vpxdec result from relocation of shared bits of code.
Change-Id: Iee55d3285f56e0a548f791094fb14c5ac5346a26
Paul Wilkins [Wed, 6 Nov 2013 13:57:55 +0000 (13:57 +0000)]
Missing _ means no sse3 for vp9_h_predictor_32x32.
Error in script means vp9_h_predictor_32x32 sse3 version
is not enabled.
Change-Id: Ia43672740da1ecdfb7fcd420490ef424b04accc4
Dmitry Kovalev [Wed, 6 Nov 2013 01:41:56 +0000 (17:41 -0800)]
Cleaning up vp9_quantize_b_c() function.
Change-Id: I42c75530a8c9cff68480657f074131e6b60d9fca
Yaowu Xu [Wed, 6 Nov 2013 01:13:00 +0000 (17:13 -0800)]
Simply a macro
Change-Id: I1c0c1b92aab33b1e4321b8e584a934fe58e0b324
hkuang [Thu, 31 Oct 2013 17:06:23 +0000 (10:06 -0700)]
Add back vp9_short_idct32x32_1_add_neon which is deleted in
cleanup I63df79a13cf62aa2c9360a7a26933c100f9ebda3.
Change-Id: I034848cf05031618818f7df2e7f9c35102686948
Dmitry Kovalev [Tue, 5 Nov 2013 22:57:05 +0000 (14:57 -0800)]
Adding read_reference_mode() function.
Change-Id: I517ad7e1a48910f0d2e95feacd23f143d28b42d6
Dmitry Kovalev [Tue, 5 Nov 2013 22:43:35 +0000 (14:43 -0800)]
Cleaning up read_mv_probs() function.
Change-Id: I7a1e88b5977076e22736c0d6af1d4dcc19d39a6a
Dmitry Kovalev [Tue, 5 Nov 2013 22:28:43 +0000 (14:28 -0800)]
Merge "Removing old code."
Dmitry Kovalev [Tue, 5 Nov 2013 19:58:57 +0000 (11:58 -0800)]
Localizing NEARESTMV special cases in the code.
Removing special case handling from vp9_tree_probs_from_distribution(),
tree_merge_probs(), and vp9_tokens_from_tree_offset() functions. Replacing
inter_mode_offset() function with macro INTER_OFFSET which is used now for
vp9_inter_mode_tree definition.
Change-Id: Iff75a1499d460beb949ece543389c8754deaf178
Marco Paniconi [Tue, 5 Nov 2013 19:09:08 +0000 (11:09 -0800)]
Merge "Fixes to buffer update for temporal layers."
Dmitry Kovalev [Tue, 5 Nov 2013 18:59:04 +0000 (10:59 -0800)]
Merge "Unified approach for backward probability update."
Deb Mukherjee [Fri, 1 Nov 2013 23:01:52 +0000 (16:01 -0700)]
Miscelleneous changes in detokenize for speed
Changes to reduce branching in detokenization in order
to improve decode speed.
Change-Id: I23a74d072cc14d99f6fc054c1e6a72021e777903
Deb Mukherjee [Tue, 5 Nov 2013 00:34:18 +0000 (16:34 -0800)]
token_cache changes in decoder
Removes stack-alocation of token_cache in decode_coefs function
Seems to achieve about 1% decode speed improvement as tested on
25 480p videos.
Change-Id: I8e7eb3361fa09d9654dfad0677a6d606701fdc6e
Deb Mukherjee [Tue, 5 Nov 2013 17:29:31 +0000 (09:29 -0800)]
Merge "Remove one shot q experiment"
Jingning Han [Tue, 5 Nov 2013 17:27:05 +0000 (09:27 -0800)]
Merge "Fix the use case of plane_block_idx in sub8x8 RD"
Jingning Han [Tue, 5 Nov 2013 17:01:05 +0000 (09:01 -0800)]
Merge "Avoid mv cost check for invalid mv values"
Adrian Grange [Tue, 5 Nov 2013 15:45:03 +0000 (07:45 -0800)]
Merge "Remove unused members from VP9_COMP"
Jingning Han [Tue, 5 Nov 2013 02:45:45 +0000 (18:45 -0800)]
Avoid mv cost check for invalid mv values
The compound inter prediction could potentially run with initial
motion vectors of invalid value and check the mv_cost, which triggers
overheap read. This commit resolves this issue by forcing a motion
vector value check for compound inter modes of both superblock and
sub8x8 block sizes.
Change-Id: I4f4fc19ce83c8272782bc382f12c82a3f03212fc
Yaowu Xu [Mon, 4 Nov 2013 22:56:37 +0000 (14:56 -0800)]
optimize decode_bool operation
Change-Id: I7fe44633d29046ddd38c88c00e8520d27ac748bf
Dmitry Kovalev [Tue, 5 Nov 2013 00:38:15 +0000 (16:38 -0800)]
Removing old code.
Change-Id: Ie05cc5e2d8ce12eacdf482a8b75e5a6ce6f59f57
Dmitry Kovalev [Tue, 5 Nov 2013 00:12:29 +0000 (16:12 -0800)]
Unified approach for backward probability update.
Replacing update_mode_probs() and adapt_probs() with tree_merge_probs().
Change-Id: I50b2c968d67c9265f5216c700cbeba25fb014654
Dmitry Kovalev [Sat, 2 Nov 2013 01:23:06 +0000 (18:23 -0700)]
Splitting partition_probs array into two arrays.
We only update partition_probs for inter frames but they are constant
for key frames. It is not necessary to have constants inside frame
context and copy them every time. This change reduces FRAME_CONTEXT size
by at least 48 bytes.
Change-Id: If70a53be51043f37fe7d113853217937710932a7
Adrian Grange [Mon, 4 Nov 2013 20:17:54 +0000 (12:17 -0800)]
Remove unused members from VP9_COMP
Removed:
goldfreq, avg_encode_time, avg_pick_mode_time,
cpu_freq, interquantizer
member variables from VP9_COMP since they are no longer
used in the code.
Change-Id: I010a82c217d0da03c3f53d1858d3462190c12dcf
Adrian Grange [Mon, 4 Nov 2013 19:39:23 +0000 (11:39 -0800)]
Merge "Remove unused member variables from VP9_COMP"
Dmitry Kovalev [Mon, 4 Nov 2013 19:14:58 +0000 (11:14 -0800)]
Merge "Removing 'new' probability calculation from convert_distribution()."
Adrian Grange [Mon, 4 Nov 2013 19:01:43 +0000 (11:01 -0800)]
Remove unused member variables from VP9_COMP
Removed three members from the VP9_COMP data structure:
inter_zz_count, gf_bad_count, gf_update_recommended.
These were part of the VP8 real-time mode implementation
that was removed from the initial VP9 codecbase.
Change-Id: I866b083b88ef02c74837277d50ce532ca88492f3
Jingning Han [Sun, 3 Nov 2013 23:17:08 +0000 (15:17 -0800)]
Merge "Add second ref frame check back in rdcost hist"
Jingning Han [Sun, 3 Nov 2013 19:16:38 +0000 (11:16 -0800)]
Fix the use case of plane_block_idx in sub8x8 RD
This commit fixes the use case of plane_block_idx, which determines
the plane (Y/U/V) index based on block index. When block idx >= 4 in
sub8x8 block loop, it should be of chroma components.
Change-Id: I072705aa7b35445524ac607089ca8ce54b7ba478
Jingning Han [Sun, 3 Nov 2013 17:14:46 +0000 (09:14 -0800)]
Add second ref frame check back in rdcost hist
Update best_inter_rd and best_inter_ref_frame only in single ref
frame case.
Change-Id: Id56825b231a62d6852bd83811410c05a7569f715
James Zern [Sat, 2 Nov 2013 19:25:47 +0000 (12:25 -0700)]
Merge "vp9 ssse3 d207_predictor_32x32: add missing GLOBAL()"
James Zern [Sat, 2 Nov 2013 03:33:22 +0000 (20:33 -0700)]
vp9 ssse3 d207_predictor_32x32: add missing GLOBAL()
removes a textrel for sh_b23456789abcdefff
Change-Id: I80cb9dfd8e49a0fe884c8ff76472275b3a00cb57
Dmitry Kovalev [Fri, 1 Nov 2013 22:09:43 +0000 (15:09 -0700)]
Removing 'new' probability calculation from convert_distribution().
We don't have to calculate 'new' probability in convert_distribution()
because it is enough to calculate only 'new' counters which could be used
to calculate probability if necessary. That's why removing a lot of unused
temporary probability arrays and reducing number of get_binary_prob()
calls.
Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
Yaowu Xu [Fri, 1 Nov 2013 20:43:09 +0000 (13:43 -0700)]
Merge "Convert filter kernel choice to lookup"
Yaowu Xu [Fri, 1 Nov 2013 16:40:20 +0000 (09:40 -0700)]
Convert filter kernel choice to lookup
Also removed unused declaration related 6 tap filter
Change-Id: Ic17f516141d885157918505f4204081e4c951fad
Marco Paniconi [Fri, 1 Nov 2013 18:03:03 +0000 (11:03 -0700)]
Fixes to buffer update for temporal layers.
When a frame is dropped due to |buffer_level| < 0 for a given temporal layer,
the buffer level for the upper temporal layers was not updated (in calc_pframe_target_size()).
This change fixes that.
Also, use the layer per-frame-bandwidth for updating the buffer level
of the higher layers when a frame is dropped.
Change-Id: I660c23f3229b47e9d124a950b480314b4307c5a8
Dmitry Kovalev [Fri, 1 Nov 2013 17:57:03 +0000 (10:57 -0700)]
Merge "Cleanup. Adding const to function pointer arguments."
Dmitry Kovalev [Fri, 1 Nov 2013 17:56:55 +0000 (10:56 -0700)]
Merge "Cleaning up read_skip_coeff() function."
Yaowu Xu [Fri, 1 Nov 2013 14:24:07 +0000 (07:24 -0700)]
Two optimizations:
1. Reduced the size memset based on eob for 32x32 transform. The reset
of non-zero coefficient should probably go into where they are read in
inverse transform functions. (TODO)
2. Removed a redundant level of indirection.
vp9_iht4x4_add() checks transform type and call vp9_iht4x4_16_add()
for tranforms other than DCT_DCT. In this case, the DCT_DCT case
has been already handled here.
Change-Id: Iacbc77da761f0b308df5acea0f20c9add9f33d20
Yaowu Xu [Fri, 1 Nov 2013 13:59:17 +0000 (06:59 -0700)]
Merge "simplify read_coef_prob()"
Dmitry Kovalev [Fri, 1 Nov 2013 01:06:53 +0000 (18:06 -0700)]
Merge "Removing is_intra_mode() function."
Yaowu Xu [Thu, 31 Oct 2013 01:06:42 +0000 (18:06 -0700)]
simplify read_coef_prob()
Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
Dmitry Kovalev [Thu, 31 Oct 2013 21:53:18 +0000 (14:53 -0700)]
Cleaning up read_skip_coeff() function.
Making code easier to read and avoiding calculation of skip context twice.
Change-Id: I42c376b1a1811bc842bf6420bf81d2de7a1bf980
Dmitry Kovalev [Thu, 31 Oct 2013 21:34:47 +0000 (14:34 -0700)]
Merge "Reducing the number of foreach_transformed_block() calls."
Dmitry Kovalev [Thu, 31 Oct 2013 21:34:21 +0000 (14:34 -0700)]
Cleanup. Adding const to function pointer arguments.
Change-Id: I12c67c8c0fa1aa7fb3f7d6cc2ef65be29c4ea292
Dmitry Kovalev [Thu, 31 Oct 2013 20:52:08 +0000 (13:52 -0700)]
Reducing the number of foreach_transformed_block() calls.
The change doesn't affect the bitstream. It changes the order or function
calls and affects how we reconstruct intra- and inter-blocks. Speed up is
about 1...1.5%.
For intra-blocks:
Before:
for each transform block read tokens
for each transform block do prediction
for each transform block do inverse transform
Now:
for each transform block
read tokens
do prediction
do inverse transform
For inter-blocks:
Before:
for each transform block read tokens
for each transform block do inverse transform
Now:
for each transform block
read tokens
do inverse transform
Change-Id: I12a79bf1aa5a18c351b8010369bd3ff1deae1570
Yaowu Xu [Thu, 31 Oct 2013 17:43:57 +0000 (10:43 -0700)]
Merge "mb_lpf_horizontal_edge AVX2 optimization"
Yunqing Wang [Thu, 31 Oct 2013 16:47:54 +0000 (09:47 -0700)]
Merge "Fix x_offset_q4/y_offset_q4 calculation"