Ronald S. Bultje
e20fcd9585
More optimizations for cost_coeffs().
...
4x4: 163 -> 123 cycles (33% faster)
8x8: 491 -> 399 cycles (23% faster)
16x16: 1889 -> 1763 cycles (7% faster)
32x32: 8311 -> 8180 cycles (1.6% faster)
Overall encoding time of first 50 frames of bus (speed 0) @ 1500kbps
goes from 1min4.33 to 1min3.00, i.e. 2.11% faster.
Change-Id: Ib52d1dbb5649b14de769d3e7a74af67440b5284f
2013-07-22 16:09:09 -07:00
Dmitry Kovalev
ee1fe2f750
Merge "Removing pre probabilities from FRAME_CONTEXT."
2013-07-20 22:50:32 -07:00
Dmitry Kovalev
8962d975b2
Merge "Moving all loop filter related variables into new struct."
2013-07-20 22:45:24 -07:00
Dmitry Kovalev
39342db138
Merge "Consistent names for inter mode probabilities and encodings."
2013-07-20 22:40:51 -07:00
Dmitry Kovalev
f66821afbb
Merge "Removing frame_type field from MACROBLOCKD struct."
2013-07-20 22:40:06 -07:00
Dmitry Kovalev
7e703de729
Removing pre probabilities from FRAME_CONTEXT.
...
Using cm->frame_contexts[cm->frame_context_idx] as source of previous
probabilities.
Change-Id: Ie03778acf0e7bebdc3a1f6a51854d4a0712f24a1
2013-07-19 17:33:10 -07:00
Dmitry Kovalev
ee1771ebaa
Moving all loop filter related variables into new struct.
...
Adding loopfilter struct with fields from MACROBLOCKD and VP9Common.
Eventually it will be moved to vp9_loopfilter.h for better code structure.
Change-Id: Iaf5fb71c33719cdfa1b991f671caf071be9ea035
2013-07-19 16:19:10 -07:00
Dmitry Kovalev
f00a237a43
Merge "Fixing problem introduced in one of my previous commits."
2013-07-19 16:14:21 -07:00
Dmitry Kovalev
c3a56ee583
Merge "Moving Scale2Ration function from vp9_onyx.h to vp9_onyx_if.c."
2013-07-19 15:27:24 -07:00
Dmitry Kovalev
2fc927c66a
Fixing problem introduced in one of my previous commits.
...
Changing fc->tx_probs back to fc->pre_tx_probs. This change actually
affects the bitstream but current test vectors work. Chrome branch is not
affected at all. Broken since:
cc662dd
Adding struct tx_probs and struct tx_counts to cleanup the code.
Change-Id: I36dd4b3678e902e10aba8dd49b0012eb558c209d
2013-07-19 15:18:43 -07:00
Dmitry Kovalev
e71a4a77bb
Merge "Renaming TXFM_MODE to TX_MODE (like TX_SIZE, TX_TYPE)."
2013-07-19 12:14:32 -07:00
Dmitry Kovalev
97e96bc4e9
Removing frame_type field from MACROBLOCKD struct.
...
Change-Id: Ia4e83913251c1cdc7aa2abd64bf01ecb1a962119
2013-07-19 11:55:36 -07:00
Dmitry Kovalev
c0eb57406c
Renaming TXFM_MODE to TX_MODE (like TX_SIZE, TX_TYPE).
...
Moving TX_MODE enum to vp9_enums.h. Renaming txfm_mode variables to
tx_mode.
Change-Id: I459d1af6dd928ce7fccdf8ce30b6f1ca057bef92
2013-07-19 11:37:13 -07:00
Dmitry Kovalev
afe43d4089
Removing redundant VP9_COMMON* from function signatures.
...
Functions: vp9_get_pred_context_switchable_interp,
vp9_get_pred_context_intra_inter,
vp9_get_pred_context_single_ref_p1,
vp9_get_pred_context_single_ref_p2.
Change-Id: I3d6fb8aee23c9062270768e1e6da416dd9bb8f96
2013-07-19 11:20:49 -07:00
Dmitry Kovalev
bc7acb134b
Consistent names for inter mode probabilities and encodings.
...
Renaming vp9_sb_mv_ref_tree to vp9_inter_mode_tree, and
vp9_sb_mv_ref_encoding_array to vp9_inter_mode_encodings.
Change-Id: I0e91fbf81350d3ec5a2599064c74089b5d06133a
2013-07-19 10:40:04 -07:00
Paul Wilkins
b2b5836a16
Merge "Block index variables in MACROBLOCKD reduced to chars."
2013-07-19 10:14:52 -07:00
hkuang
97dbee00dd
Merge "Add neon optimize vp9_short_idct8x8_add."
2013-07-19 08:28:39 -07:00
Paul Wilkins
710d10c521
Block index variables in MACROBLOCKD reduced to chars.
...
Change-Id: I9a4df095732d561807de01a41dcb1a1960726a3c
2013-07-19 11:32:51 +01:00
Dmitry Kovalev
13253d6121
Merge "Removing kf_{y, uv}_mode_prob arrays from VP9Common."
2013-07-19 01:00:46 -07:00
Dmitry Kovalev
b829a9d63c
Merge "Removing unused int_mv32 union."
2013-07-18 17:56:11 -07:00
Yaowu Xu
67fb0679ee
Merge "Merge scale_factors and scale_factors_uv."
2013-07-18 17:50:34 -07:00
hkuang
d757de744c
Add neon optimize vp9_short_idct8x8_add.
...
Change-Id: Ic32acf3e2939c6d12d9c2bf192a5f5da59705fda
2013-07-18 16:40:41 -07:00
Dmitry Kovalev
0b562b2d3d
Using VP9_REF_NO_SCALE instead of (1 << VP9_REF_SCALE_SHIFT).
...
Change-Id: Ide58a74d31ff948319445a6337d2c05e98720e34
2013-07-18 15:12:46 -07:00
Ronald S. Bultje
5ebe503f04
Merge scale_factors and scale_factors_uv.
...
This prevents a duplicate memcpy of a 128-byte struct every time
set_scale_factors() is called (which is a lot), thus leading to a
decrease from 3.7 MB to 1.85 MB of struct copying per 64x64 block
RD/partition loop.
Overall, this decreases encoding time of the first 50 frames of bus
@ 1500kbps (speed 0) from 1min5.9 to 1min4.9, i.e. about a 1.5%
overall speedup. We can likely get more gains by removing the copy
of the other struct (and replacing it with an indexing) as well.
Change-Id: I3dceb7e79f71e6fe911b11cc994cf89a869dde7a
2013-07-18 14:10:56 -07:00
Dmitry Kovalev
9f3c0e34a9
Moving Scale2Ration function from vp9_onyx.h to vp9_onyx_if.c.
...
Change-Id: Idfe2a850f72b38f519aea1aac1266d8c3aa813ee
2013-07-18 14:05:06 -07:00
Dmitry Kovalev
b3c0a5fddb
Removing unused mv_bias and check_mv_bounds functions.
...
Change-Id: I1558fd969d9ad112bf6480bdd16ef87edd396ab5
2013-07-18 11:20:48 -07:00
Frank Galligan
7fd5d8e6a4
Fix horz loopfilter loops
...
If count was greater than 1 the src pointer would be off on
the second loop.
Change-Id: I8e09037e68dc4ae92076a8067f7b6dacbbef8263
2013-07-18 09:44:15 -07:00
Dmitry Kovalev
7363e668d5
Removing unused int_mv32 union.
...
Change-Id: Ie692ed6e5fa1d2122e3a03573914d0fcce842f9e
2013-07-17 17:02:44 -07:00
Dmitry Kovalev
f9f453ec8d
Removing kf_{y, uv}_mode_prob arrays from VP9Common.
...
These arrays have constant values (no any updates). Removing two
corresponding memcpy calls. Making a little cleanup in vp9_entropymode.h
as well: removing redundant 'extern' keyword and moving all function
declarations at the end.
Change-Id: Ia16b38b46aec2e2500f5df29c40a297ae241dede
2013-07-17 16:50:52 -07:00
hkuang
7b9a652813
Merge "Remove unnecessary buffer copy in idct4x4."
2013-07-17 14:51:53 -07:00
Dmitry Kovalev
a7a1e96136
Merge changes Ieffea49e,Idf610746
...
* changes:
Removing two unused arguments from vp9_inc_mv signature.
Changing signature of vp9_get_pred_probs_tx_size.
2013-07-17 14:44:20 -07:00
Dmitry Kovalev
b775081283
Merge "Removing experimental code from vp9_entropymv.c."
2013-07-17 14:43:45 -07:00
hkuang
bd6ce7128c
Remove unnecessary buffer copy in idct4x4.
...
Change-Id: I386066b9bcfb4bffb582e6827af36ca0181f6a83
2013-07-17 14:20:56 -07:00
Dmitry Kovalev
8452c34551
Removing experimental code from vp9_entropymv.c.
...
Change-Id: I340d06e3bc32c78358654496503cccd4196cbe2e
2013-07-17 10:25:09 -07:00
Johann
9ca66ec050
Merge "vp9_convolve8_neon placeholder"
2013-07-17 10:09:00 -07:00
Johann
59dc4e9cdd
vp9_convolve8_neon placeholder
...
Call the individually optimized horizontal and vertical functions. This
implementation abuses the temp buffer.
This will be replaced with a custom optimized function.
Over 2x speedup.
Change-Id: I5b908d2a73d264e9810d6022bbff73207a3055dd
2013-07-17 08:39:27 -07:00
Paul Wilkins
5f4722c75f
Merge "Minor cleanup in code to fine uv tx_size."
2013-07-17 02:50:09 -07:00
Dmitry Kovalev
6638b6f63f
Merge "Removing MV_GROUP_UPDATE define and corresponding code."
2013-07-16 21:09:00 -07:00
Dmitry Kovalev
41ae3d02d4
Removing two unused arguments from vp9_inc_mv signature.
...
Change-Id: Ieffea49eb7a5e5092f21f8694c546aff69b07c6d
2013-07-16 17:01:08 -07:00
Dmitry Kovalev
5b65a71cdc
Changing signature of vp9_get_pred_probs_tx_size.
...
Removing VP9_COMMON* argument and adding struct tx_probs* instead of
MACROBLOCKD*.
Change-Id: Idf61074631a90ec51eac22c8dcd977f44ac0757c
2013-07-16 16:34:54 -07:00
Dmitry Kovalev
f53d007b9e
Merge "Loop filter code cleanup."
2013-07-16 15:55:17 -07:00
Dmitry Kovalev
3997da0d35
Removing MV_GROUP_UPDATE define and corresponding code.
...
Change-Id: I4884cdc2557d25d50c7c4f7e19b1ad8bdb93cd63
2013-07-16 15:03:00 -07:00
Dmitry Kovalev
9482a0bf10
Cleaning up tile code.
...
Removing tile_rows and tile_columns from VP9Common, removing redundant
constants MIN_TILE_WIDTH and MAX_TILE_WIDTH, changing signature of
vp9_get_tile_n_bits.
Change-Id: I8ff3104a38179b2c6900df965c144c1d6f602267
2013-07-16 14:47:15 -07:00
Dmitry Kovalev
2de3c8d29b
Loop filter code cleanup.
...
Cosmetic code changes, renaming 'flat' local var to 'mask', removing
unused field 'blim' from loopfilter_info_n and loop_filter_info structs.
Change-Id: I51e6ccf727fe361ad9a08e29e1201aa7abd4987f
2013-07-16 14:39:31 -07:00
James Zern
98e132bde0
Merge changes I40454d26,I892e76d5,I865ab3f9,I4a4bec17,I61c4351e,I37eb3559,I1031c556,I8c8f1f42
...
* changes:
delete vp9_loopfilter_sse2.asm
vp9_loopfilter_intrin_sse2: cosmetics: fix indent
delete x86/vp9_loopfilter_x86.h
vp9_loopfilter_intrin_sse2: make some funcs static
vp9_loopfilter_intrin_sse2: remove unused uv funcs
vp9_loopfilter: remove uv function typedef
filter_block_plane: reuse some constants
vp9_loopfilter.c: make some functions static
2013-07-16 14:25:32 -07:00
James Zern
39ce4b13d5
Merge "use consistent framerate naming"
2013-07-16 14:22:52 -07:00
James Zern
9581eb6e8a
use consistent framerate naming
...
s/frame_rate/framerate/g
Change-Id: I6fc3e088e419c5f46e3a9390dd8a2cad2677a2fc
2013-07-16 14:12:47 -07:00
Jingning Han
5e8e2bf48e
Merge "SSE2 16x16 inverse ADST/DCT hybrid transform"
2013-07-16 14:04:04 -07:00
Dmitry Kovalev
5de96b3ce6
Merge "Rewriting vp9_set_pred_flag_{seg_id, mbskip}."
2013-07-16 13:34:42 -07:00
Dmitry Kovalev
85a0d8e85c
Merge "Moving vp9_kf_default_bmode_probs to vp9_entropymode.c."
2013-07-16 13:26:53 -07:00