Commit Graph

7127 Commits

Author SHA1 Message Date
Joshua Litt
ab9160de90 Allow test data path to be set by preprocessor symbol
Change-Id: I19c482c7cba34db574b3f33178ba20aede49779e
2013-11-06 13:08:59 -08:00
Yaowu Xu
2f4bade348 Merge "Missing _ means no sse3 for vp9_h_predictor_32x32." 2013-11-06 13:04:28 -08:00
Yaowu Xu
9b744922dd disable avx/avx2 for old versions of MSVC
Change-Id: Ifb40757c9c6b353482cfeef929af282ee0136c6c
2013-11-06 12:29:48 -08:00
Deb Mukherjee
8810db303c Removes stack allocation of token_cache
Removes stack-allocation of token_cache in the tokenize
function in the encoder.

Change-Id: Ifdbab76dc2b23384da0080d2e9390533e489db8c
2013-11-06 11:50:27 -08:00
Tom Finegan
1f0c2e72c4 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
2013-11-06 11:38:05 -08:00
Tom Finegan
4722654851 Merge "Move WebM writing support out of vpxenc.c." 2013-11-06 11:30:25 -08:00
Yaowu Xu
103c4603d2 Merge "optimize decode_bool operation" 2013-11-06 10:25:52 -08:00
Tom Finegan
03848f5ca7 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
2013-11-06 06:49:55 -08:00
Paul Wilkins
0c39318a8b 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
2013-11-06 13:57:55 +00:00
Dmitry Kovalev
d54ff9dc3d Cleaning up vp9_quantize_b_c() function.
Change-Id: I42c75530a8c9cff68480657f074131e6b60d9fca
2013-11-05 17:41:56 -08:00
Yaowu Xu
278856319b Simply a macro
Change-Id: I1c0c1b92aab33b1e4321b8e584a934fe58e0b324
2013-11-05 17:13:00 -08:00
hkuang
6b16f63332 Add back vp9_short_idct32x32_1_add_neon which is deleted in
cleanup I63df79a13cf62aa2c9360a7a26933c100f9ebda3.

Change-Id: I034848cf05031618818f7df2e7f9c35102686948
2013-11-05 14:57:32 -08:00
Dmitry Kovalev
6c217d97df Adding read_reference_mode() function.
Change-Id: I517ad7e1a48910f0d2e95feacd23f143d28b42d6
2013-11-05 14:57:05 -08:00
Dmitry Kovalev
d172201403 Cleaning up read_mv_probs() function.
Change-Id: I7a1e88b5977076e22736c0d6af1d4dcc19d39a6a
2013-11-05 14:43:35 -08:00
Dmitry Kovalev
648e30bca6 Merge "Removing old code." 2013-11-05 14:28:43 -08:00
Dmitry Kovalev
815189613b 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
2013-11-05 11:58:57 -08:00
Marco Paniconi
4f30cc2708 Merge "Fixes to buffer update for temporal layers." 2013-11-05 11:09:08 -08:00
Dmitry Kovalev
69cb7dc839 Merge "Unified approach for backward probability update." 2013-11-05 10:59:04 -08:00
Deb Mukherjee
551829d8f3 Miscelleneous changes in detokenize for speed
Changes to reduce branching in detokenization  in order
to improve decode speed.

Change-Id: I23a74d072cc14d99f6fc054c1e6a72021e777903
2013-11-05 10:27:36 -08:00
Deb Mukherjee
3a833ea38f 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
2013-11-05 09:32:58 -08:00
Deb Mukherjee
be8a4cbbdd Merge "Remove one shot q experiment" 2013-11-05 09:29:31 -08:00
Jingning Han
f3efb9903c Merge "Fix the use case of plane_block_idx in sub8x8 RD" 2013-11-05 09:27:05 -08:00
Jingning Han
4fc8320f4c Merge "Avoid mv cost check for invalid mv values" 2013-11-05 09:01:05 -08:00
Adrian Grange
a8260a38e0 Merge "Remove unused members from VP9_COMP" 2013-11-05 07:45:03 -08:00
Jingning Han
c2217f2238 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
2013-11-04 19:01:42 -08:00
Yaowu Xu
9f37d89037 optimize decode_bool operation
Change-Id: I7fe44633d29046ddd38c88c00e8520d27ac748bf
2013-11-04 17:10:18 -08:00
Dmitry Kovalev
ac115a1f9a Removing old code.
Change-Id: Ie05cc5e2d8ce12eacdf482a8b75e5a6ce6f59f57
2013-11-04 16:38:15 -08:00
Dmitry Kovalev
c622e1d18f Unified approach for backward probability update.
Replacing update_mode_probs() and adapt_probs() with tree_merge_probs().

Change-Id: I50b2c968d67c9265f5216c700cbeba25fb014654
2013-11-04 16:12:29 -08:00
Dmitry Kovalev
dde8069e57 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
2013-11-04 14:26:16 -08:00
Adrian Grange
44e25155f7 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
2013-11-04 12:32:17 -08:00
Adrian Grange
dd45530ee6 Merge "Remove unused member variables from VP9_COMP" 2013-11-04 11:39:23 -08:00
Dmitry Kovalev
dd209fae3a Merge "Removing 'new' probability calculation from convert_distribution()." 2013-11-04 11:14:58 -08:00
Adrian Grange
a0a6590e0f 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
2013-11-04 11:01:43 -08:00
Jingning Han
c96f94c63a Merge "Add second ref frame check back in rdcost hist" 2013-11-03 15:17:08 -08:00
Jingning Han
4efa6a0176 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
2013-11-03 11:19:33 -08:00
Jingning Han
2de7cbe980 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
2013-11-03 09:15:41 -08:00
James Zern
152181b25c Merge "vp9 ssse3 d207_predictor_32x32: add missing GLOBAL()" 2013-11-02 12:25:47 -07:00
James Zern
2d980b803a vp9 ssse3 d207_predictor_32x32: add missing GLOBAL()
removes a textrel for sh_b23456789abcdefff

Change-Id: I80cb9dfd8e49a0fe884c8ff76472275b3a00cb57
2013-11-01 20:33:22 -07:00
Dmitry Kovalev
df19c6b64c 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
2013-11-01 15:09:43 -07:00
Yaowu Xu
333345cd26 Merge "Convert filter kernel choice to lookup" 2013-11-01 13:43:09 -07:00
Yaowu Xu
0f76ba5523 Convert filter kernel choice to lookup
Also removed unused declaration related 6 tap filter

Change-Id: Ic17f516141d885157918505f4204081e4c951fad
2013-11-01 13:03:18 -07:00
Marco Paniconi
41138e01f5 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
2013-11-01 11:47:40 -07:00
Dmitry Kovalev
340b2b076e Merge "Cleanup. Adding const to function pointer arguments." 2013-11-01 10:57:03 -07:00
Dmitry Kovalev
5113d9c3c9 Merge "Cleaning up read_skip_coeff() function." 2013-11-01 10:56:55 -07:00
Yaowu Xu
a272530bf0 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
2013-11-01 07:24:07 -07:00
Yaowu Xu
f0446164fb Merge "simplify read_coef_prob()" 2013-11-01 06:59:17 -07:00
Dmitry Kovalev
0e1756330b Merge "Removing is_intra_mode() function." 2013-10-31 18:06:53 -07:00
Yaowu Xu
a49e77af50 simplify read_coef_prob()
Change-Id: I529c634db4f81ba5386092c126f53312b1e51b2b
2013-10-31 16:39:08 -07:00
Dmitry Kovalev
970eb39bdc Cleaning up read_skip_coeff() function.
Making code easier to read and avoiding calculation of skip context twice.

Change-Id: I42c376b1a1811bc842bf6420bf81d2de7a1bf980
2013-10-31 14:53:18 -07:00
Dmitry Kovalev
25a2740abb Merge "Reducing the number of foreach_transformed_block() calls." 2013-10-31 14:34:47 -07:00