Commit Graph

2825 Commits

Author SHA1 Message Date
Dmitry Kovalev
4b7addcc10 Fixing include order in vp9_ratectrl.c.
Change-Id: Id1ec41275cc35565e522a1b2ac252ea3ec05638f
2014-02-27 15:35:38 -08:00
Deb Mukherjee
746538c2c0 Merge "Turns variance based partitioning on in Speed 7" 2014-02-27 14:02:53 -08:00
Dmitry Kovalev
c57fc4f38c Merge "Removing redefinition of ROUND_POWER_OF_TWO." 2014-02-27 13:43:31 -08:00
Dmitry Kovalev
5295c2a78c Merge "Cleaning up vp9_xform_quant() function." 2014-02-27 13:43:09 -08:00
Deb Mukherjee
ed5755445c Turns variance based partitioning on in Speed 7
Improves coding efficiency by about 1%, increases speed by
about 15-20% over exsiting speed 7.

Change-Id: Ibf5b9b5a5c8548e863ce19047c42b579aac21d19
2014-02-27 12:09:12 -08:00
Dmitry Kovalev
5a3d1a88ea Cleaning up vp9_xform_quant() function.
Change-Id: Id56089107b7458aa59f345edc1b49e62eac41035
2014-02-27 12:02:09 -08:00
Jingning Han
23a82ef5e4 Remove arguments not in use in non-RD decision
This commit removes a few arguments that are not used in the
non-RD mode decision.

Change-Id: I0d878bb5a7dba1b34fe0b64afe55bf11b1a9a2d7
2014-02-27 12:00:24 -08:00
Dmitry Kovalev
5df43a73de Removing redefinition of ROUND_POWER_OF_TWO.
Change-Id: Ic0220f6f3ecdc1c15ba3f93f3ef2b435c0f99b98
2014-02-27 11:57:00 -08:00
Jingning Han
2c6ddcc606 Cosmetic change mbmi->ref_frame to refs
In handle_inter_mode, the reference frames are set in refs buffer.
One can use refs buffer directly to avoid redundant fetch.

Change-Id: I811d408cae52dcd5e053dd4bfe69550eb6a2ff56
2014-02-27 11:43:03 -08:00
Jingning Han
08053edb80 Assign motion vector invalid value in intra mode
In non-RD mode decision, assign motion vector INVALID_MV when intra
prediction mode is selected.

Change-Id: I8f6ec39b71e755758f0f698074a2c17d934622ea
2014-02-27 11:26:39 -08:00
Jingning Han
bac4113c42 Merge "Run sub-pixel motion search for NEWMV mode test" 2014-02-27 11:04:15 -08:00
Dmitry Kovalev
f81822a568 Merge "Moving common code into vp9_get_entropy_contexts()." 2014-02-27 09:55:46 -08:00
Dmitry Kovalev
129c994f3a Merge "Replacing int_mv with MV in single_motion_search()." 2014-02-27 09:55:18 -08:00
Deb Mukherjee
01906b53f8 Merge "Refines variance based partitioning search" 2014-02-27 09:52:01 -08:00
Deb Mukherjee
90d13337da Refines variance based partitioning search
Instead of using source variance, this patch uses variance of the
frame difference between the source and the current frame to make
fixed size partition decisions. Also disables adjusting partitioning
if variance based or fixed size partitioning is used.

The latter change improves the speed substantially for speed 6, so
that speed 7 is now less than 3x the speed of speed 6. But speed
6 is 48% better in psnr on the rtc set compared to speed 7.

As compared to speed 5,
speed 6 is -37% in psnr at about 2.5x the speed,
speed 7 is -55% in psnr at about 7x the speed.

Change-Id: If61d80431d3e04ed304ac05832e773cdb2c0a578
2014-02-27 09:37:15 -08:00
Yaowu Xu
962c3bbe11 Merge "vp9_encodemv.h: fix function prototype" 2014-02-27 08:56:32 -08:00
James Zern
cac037635c vp9_encodemv.h: fix function prototype
mismatch was introduced here:
abe21e4 Removing redundant vp9_clear_system_state() call.

Change-Id: I66f945c1ce385dddfdefa9f517f295dbdd01d286
2014-02-26 23:53:24 -08:00
James Zern
af7d99796e Merge "remove ioc problem with rdcost calculation" 2014-02-26 23:45:09 -08:00
Alex Converse
104d8ec034 Merge "Don't let GOLDEN_FRAME turn off LAST_FRAME as a reference when GOLDEN_FRAME is disabled." 2014-02-26 18:50:00 -08:00
Dmitry Kovalev
e4118e253a Merge "Adding vpx_sse_to_psnr() function." 2014-02-26 18:38:26 -08:00
Dmitry Kovalev
b83b159e04 Merge "Cleaning up cost_coeffs()." 2014-02-26 18:37:21 -08:00
Dmitry Kovalev
a05faf74d4 Replacing int_mv with MV in single_motion_search().
Change-Id: I527c42fa776c772c26c027a47f3dada129f5c33e
2014-02-26 17:07:06 -08:00
Alex Converse
801f136be2 Don't let GOLDEN_FRAME turn off LAST_FRAME as a reference when GOLDEN_FRAME is disabled.
There was a bug in the previous code that if GOLDEN was better than
LAST neither would be used. LAST would get turned off due to superior
GOLDEN quality then all GOLDEN modes would get skipped.

Change-Id: I173f3720451707dab7b2cbbe8b8e6a047089bde7
2014-02-26 16:46:21 -08:00
Yaowu Xu
2bf9ef4b94 Merge "Reduce the frequency of partition size adjsutment" 2014-02-26 16:23:49 -08:00
Dmitry Kovalev
7d5bffc452 Adding vpx_sse_to_psnr() function.
Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions.
Using vpx_sse_to_psnr() instead in all places.

Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
2014-02-26 16:21:12 -08:00
Dmitry Kovalev
9349b82bd2 Moving common code into vp9_get_entropy_contexts().
Change-Id: I197670a405f7c2e7796424faa187a61081db8567
2014-02-26 16:20:17 -08:00
Dmitry Kovalev
6232917608 Merge "Cleaning up vp9_encodemb.c file." 2014-02-26 16:03:19 -08:00
Dmitry Kovalev
c313c54835 Cleaning up cost_coeffs().
Change-Id: I02f097fd7c4c787035f03114ddde5b04b2640b39
2014-02-26 14:56:00 -08:00
Dmitry Kovalev
9774962a24 Cleaning up vp9_encodemb.c file.
Usage of encode_b_args is unnecessary because encode_block_pass1() doesn't
use them. That's why optimize_init_b() call is also not required.

Change-Id: Ib6cfe4916c2ca85749c90bb0adcba6fea592f9ac
2014-02-26 13:51:12 -08:00
Dmitry Kovalev
28cd972810 Merge "Cleaning up vp9_rdopt.c." 2014-02-26 13:25:10 -08:00
Jingning Han
c30d5703e5 Run sub-pixel motion search for NEWMV mode test
As Yunqing suggested, this commit makes non-RD mode decision always run
sub-pixel motion search in NEWMV mode. The compression performance
gains becomes fairly significant after we enabled sub-pixel accuracy
motion compensated prediction to calculate SAD cost.

For test sequences pedestrian_area at 1080p and vidyo1 at 720p, the
runtime goes slower by 5%. For rtc test set, the compression performance
is improved by 21.20%.

Change-Id: I38cbfdd5c53d79423e1fafb3154f8ddeed63bbf0
2014-02-26 11:17:51 -08:00
Yaowu Xu
fe0c09c2aa Reduce the frequency of partition size adjsutment
The commit change to use partitions sizes directly from last frame
for frames directly where last frame selects partitions sizes based
on coding efficiency.

On --rt --cpu-used=-5, the change hurts compression by 4% but reduces
encoding time by ~20%

Change-Id: Ia68665e5c8489b7bfcf5fac7768332fba88928e6
2014-02-26 09:52:38 -08:00
Yaowu Xu
d66ecf0dc1 Separate super_block_yrd() into two functions
for inter and intra respectively

Change-Id: I7764d3af780072f7bd7bde201f454dcdd2816e76
2014-02-26 09:52:05 -08:00
Jingning Han
1cc769a561 Merge "Use sub-pixel accuracy prediction non-RD mode" 2014-02-26 09:20:24 -08:00
Dmitry Kovalev
8b33c64162 Merge "Using clamp() for active_{best, worst}_quality." 2014-02-26 09:20:14 -08:00
Jingning Han
e211244b02 Merge "Use dedicated variables to store the best mode" 2014-02-26 09:20:13 -08:00
Dmitry Kovalev
55a1269bd9 Merge "Removing redundant vp9_clear_system_state() call." 2014-02-26 09:19:54 -08:00
Dmitry Kovalev
b13ee81d18 Merge "Removing vp9_optimize_b() function." 2014-02-26 09:19:28 -08:00
Jim Bankoski
d496cd3074 remove ioc problem with rdcost calculation
Change-Id: Idd800fae21508699e9d973134817493763a65042
2014-02-26 07:46:56 -08:00
Dmitry Kovalev
abe21e42e7 Removing redundant vp9_clear_system_state() call.
This function is already called in vp9_initialize_rd_consts().

Change-Id: I88c0484a7274660287fa25fdf5cdb721d3284e01
2014-02-25 18:11:42 -08:00
Dmitry Kovalev
8d80c262d1 Using clamp() for active_{best, worst}_quality.
Change-Id: Ia79f975f54829b8ae6b568ca5c05f4f1f541706f
2014-02-25 18:01:49 -08:00
Dmitry Kovalev
7d121ea86e Cleaning up vp9_rdopt.c.
Change-Id: Ic7553a037493107c33cfb9815178a54095a289ec
2014-02-25 17:46:27 -08:00
Dmitry Kovalev
0444deb8d1 Removing vp9_optimize_b() function.
Change-Id: If859c9d58a8fe3f478d409b9e9ca59bcee8fd35d
2014-02-25 17:23:01 -08:00
Jingning Han
c0e99f84f9 Use sub-pixel accuracy prediction non-RD mode
This commit builds the actual prediction block in sub-pixel accuracy
and uses which to calculate SAD for non-RD mode decision. In the trail
run on pedestrian_area at 1080p, rtc speed -7 runtime goes from
23495 ms -> 25107 ms (7% slower). The compression performance is
improved by 20.57% for rtc test set.

Change-Id: I438589cd103fe99f1b50c2d1939ac6ca43fa0157
2014-02-25 16:29:20 -08:00
Alex Converse
cfd0eeeebb Merge "Shrink dct_value_cost[] to int16_t." 2014-02-25 14:30:33 -08:00
Jingning Han
fd49e9678e Use dedicated variables to store the best mode
Use a set of dedicated variables to buffer the current best mode
in non-RD mode decision. This allows to use mode_info for more
complicated test in the non-RD process.

Change-Id: I6024c9feb0662afd3eb29f7017f7b5a5446f303f
2014-02-25 13:56:12 -08:00
Deb Mukherjee
276e568997 Merge "Adds variance based fixed size partitioning" 2014-02-25 13:46:21 -08:00
Alex Converse
1075c49a3f Shrink dct_value_cost[] to int16_t.
The largest value is 13358.

Change-Id: I7a6b024a92b6250933d9ebc0cad066b966c96bd4
2014-02-25 13:07:18 -08:00
Deb Mukherjee
10bae82510 Adds variance based fixed size partitioning
Adds a method for determining a fixed size partition based on
variance of a 64x64 SB. This method is added to rtc speed 6.
Also fixes a bug in rtc_use_partition() and includes some
refactoring related to partitioning search, and some cosmetics.

Currently compared to speed 5, the coding efficiency of speed 6
is -19% and that of speed 7 is -55%, in cbr mode.

Change-Id: I057e04125a8b765906bb7d4bf7a36d1e575de7c6
2014-02-25 12:20:59 -08:00
Dmitry Kovalev
4632a96d97 Merge "Using vp9_subtract_plane instead of vp9_subtract_{sb, sby, sbuv}." 2014-02-25 11:06:05 -08:00