Commit Graph

695 Commits

Author SHA1 Message Date
Yaowu Xu
6f5a1e033f Increase redo_frequency to 4 and cleanups
Clean-ups include
a. redundant code in rt -5 speed feature settings
b. code that guarantees square block availability in
rd_auto_partition_range()

Change-Id: Ic7b04d45b6dc15c461e0edbbb4e78aec20348291
2014-03-11 17:33:24 -07:00
Dmitry Kovalev
1f08824d6d Merge "Using enums instead of integers." 2014-03-10 20:50:58 -07:00
Dmitry Kovalev
e3e1b49331 Merge "Moving static_scene_max_gf_interval to RATE_CONTROL struct." 2014-03-10 20:50:09 -07:00
Dmitry Kovalev
b2c34d5539 Using enums instead of integers.
Change-Id: Ic0d74ab3a4c0c854fbcf59d9df5212c218bc68f9
2014-03-10 18:33:08 -07:00
Dmitry Kovalev
d6b8709eb0 Moving static_scene_max_gf_interval to RATE_CONTROL struct.
Change-Id: Id63e114a8f0615dbafd6a816019cdebffb983d2c
2014-03-10 17:29:15 -07:00
Jingning Han
29af074fb5 Fix use of uninitialized bsize in non-RD mode
The block size used for non-RD mode decision in FIXED_PARTITION
setting was uninitialized. This commit fixes it by setting block
size to be BLOCK_16X16.

Change-Id: Ief04c9f1ab668de69297d9ab3dc15e2fa0bc4e95
2014-03-10 15:50:13 -07:00
Deb Mukherjee
44a203f5cd Merge "Support for a fast diamond search" 2014-03-10 09:53:21 -07:00
Deb Mukherjee
bead2e8fb4 Support for a fast diamond search
Adds a fast diamond search which is about 5% faster than FAST_HEX
with only a 0.1% drop in psnr when turned on for both speeds 5 and 7.
This search is turned on for speed 7.

Change-Id: I497630aa88a5148926086bb3038e7975e5f4eb98
2014-03-07 17:15:09 -08:00
Dmitry Kovalev
cca347ed4e Adding const to FIRSTPASS_STATS pointers.
Change-Id: Ia94d757de1d1b24609128cd40e68558078f50a38
2014-03-06 18:58:17 -08:00
Yaowu Xu
4fd6ba9da0 Adjust some speed features for --rt (-5)
Change-Id: Ibabd8440ff5c9dd7f300f317e2c9d50e8e84aab9
2014-03-05 16:08:58 -08:00
Jingning Han
3dfa93b058 Merge "Move set_speed_feature out of frame encoding" 2014-03-05 16:00:50 -08:00
Yaowu Xu
023d2a21aa vp9_picklpf.c: remove unused functions and params
Change-Id: Ib4d850227cef35694c663feb157765a2cbf84699
2014-03-05 14:07:36 -08:00
Alex Converse
e609ab46a1 Merge "Prune RT mode decisions for BLOCK_32x32 and up" 2014-03-05 11:57:04 -08:00
Jingning Han
a57cff2132 Move set_speed_feature out of frame encoding
Set speed features before running frame encoding. This avoids
redundant RD threshold calculation in key frame coding.

Change-Id: If8e3cf2c02976baa59b310c1c23af9eea0c46e36
2014-03-04 18:49:56 -08:00
Alex Converse
bbc8c9d29a Prune RT mode decisions for BLOCK_32x32 and up
* Remove all non-DC intra modes for BLOCK_32x32 and up
* Remove all intra modes for blocks bigger than BLOCK_32x32
* Remove ZEROMV for BLOCK_32x32 and up
* Only consider NEARESTMV for blocks bigger than BLOCK_32x32

Change-Id: Ia18351a238213e2f072f9e481d622949346a245f
2014-03-04 09:48:31 -08:00
Dmitry Kovalev
fe7b1d0a8d Removing VP9_PTR.
Change-Id: Ib49d8dbc67c590f22a1a70251ff607c9f38febd7
2014-03-03 16:50:16 -08:00
Jim Bankoski
b247c14c07 Merge "cost_coefs approximation speed up" 2014-03-03 14:08:24 -08:00
Jim Bankoski
9c63e887e6 cost_coefs approximation speed up
This patch adds a new speed feature which doesn't do the rather
expensive entropy context lookup or save to the table,  while
doing costing.

The speed up on desktop36p.y4m is around 10% other clips much less.

On the RTC test set this was + 1% in overall datarate.

Change-Id: Ia5144bbf45270671e7be9c8e4055369909e2f738
2014-03-03 11:49:13 -08:00
Yunqing Wang
5b2190b2bf Reset search_method for non-rd pick mode
Reset FAST_HEX search_method, which was lost because of code merging.

Change-Id: Ic2b2cb9ec2f1751e96f7db0f9226310f605fcc83
2014-03-03 11:12:11 -08:00
Yaowu Xu
dac3d0cebd vp9_lookahead_push(): remove unused parameters
Change-Id: Ia319bd924401677b5c30b0f46d1ab2be6a1f446e
2014-03-02 14:34:59 -08:00
Yaowu Xu
673621c8ba vp9_firstpass.c: remove unused functions & params
Change-Id: I111c5bd0dd47db7b1f6952c18056bee548bb42e9
2014-03-02 13:46:03 -08:00
Yaowu Xu
2f4eb5f096 Remove vp9_create_common()
The function has evolved over time, now only calls vp9_rtcd(), so this
commit removes the function and changes to call vp9_rtcd() directly.

Change-Id: I8cfa6190daa4b28f6f3d1e11bb3a07f9c95322bf
2014-03-01 10:59:24 -08:00
Yaowu Xu
a257058aa3 Merge "Fix unused parameters in vp9_extend_frame_borders" 2014-02-28 17:34:38 -08:00
Dmitry Kovalev
37bb11f5cb Merge "Removing unnecessary casts from quantization code." 2014-02-28 16:08:24 -08:00
Yaowu Xu
0fa4d89042 Fix unused parameters in vp9_extend_frame_borders
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
2014-02-28 15:50:32 -08:00
Deb Mukherjee
f872a98b1b Adds speed 8 to vp9 as reference
Adds a speed 8 to VP9 where only the nearestmv (0 mv) is searched.
This seems to be about the same speed as vp8 speed 5.

Adds a new speed feature to disable inter modes based on a mask for
each blocksize.

Adds code for having lower complexity motion search methods
in nonrd pick mode function, even though speed 7 still uses DIAMOND
search for now.

Also uses HEX search for speed 6 rather than FAST_HEX which improves
psnr by 0.56% without any noticeable speed drop (tested on gipsmotion).

Change-Id: Ic13176572dbd3aed5884a26786940a4b1bbd8a75
2014-02-28 12:29:23 -08:00
Dmitry Kovalev
e869869d22 Removing unnecessary casts from quantization code.
Change-Id: I64172710654e95a90ee754d14d7104337d28010f
2014-02-28 11:59:50 -08:00
Dmitry Kovalev
c63e27b6d8 Cleaning up vp9_bitstream.{c, h} files.
Change-Id: Ida712a91694e89e318181f93afee2d0ee4f4ad94
2014-02-27 15:32:11 -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
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
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
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
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
Deb Mukherjee
276e568997 Merge "Adds variance based fixed size partitioning" 2014-02-25 13:46:21 -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
Yunqing Wang
da47b3415b Merge "Disable adaptive pred filter for non-split mode" 2014-02-25 08:28:03 -08:00
Yunqing Wang
fee045d13a Disable adaptive pred filter for non-split mode
If sf->disable_split_mask is DISABLE_ALL_SPLIT, disable
sf->adaptive_pred_interp_filter to avoid unnecessary operations.

Change-Id: Icb59174b2f4e9a3c3c16a696deb8018e5bd999eb
2014-02-24 14:05:06 -08:00
Deb Mukherjee
5f542408b4 Adds an intermediate speed level for rtc
Moves the existing speed 6 to speed 7 and adds an
intermediate level 6 which is roughly in between
speeds 6 and 7 in both speed and coding efficiency.
Also includes some minor fixes/adjustments.

Change-Id: I98befc4d82d750e79fe426c457c4a2571f6b6cc7
2014-02-24 12:15:33 -08:00
Yaowu Xu
f1633e5844 Merge "Remove an unused variable" 2014-02-21 22:44:05 -08:00
Jingning Han
abf5b8d5eb Force alt reference frame off in rtc mode
When non-RD coding decision is used in rtc mode, the alt reference
is not used for inter frame prediction. This commit disabled alt ref
option whenever speed -6 is used.

Change-Id: I0b33ca03661de1db2d9bef1bcbff848cd4c9396f
2014-02-20 15:27:16 -08:00
Yaowu Xu
c58e1c7be9 Remove an unused variable
Change-Id: I8eeec70a7d4403243762f14d0b560792801645e8
2014-02-20 14:49:44 -08:00
Yunqing Wang
cde6b50cb1 Merge "Use fast HEX search in real time mode" 2014-02-20 12:07:10 -08:00
Alex Converse
1d34991139 Merge "Only track mode_chosen_counts if CONFIG_INTERNAL_STATS." 2014-02-20 12:03:48 -08:00
Marco Paniconi
fd402e1374 Condition alt-ref entropy context setting on svc.
Avoid special context setting for alt-ref in svc mode.

Change-Id: I5337d0739abe16aab7854bcaa3c8537191c4b60c
2014-02-20 09:55:29 -08:00
Alex Converse
657519192e Only track mode_chosen_counts if CONFIG_INTERNAL_STATS.
Change-Id: Ia9252ad0caa4d2bda529a3fe93efcb31e7eb2da0
2014-02-19 18:52:04 -08:00
Paul Wilkins
98bf47df16 Merge "Remove comment from calls to vp9_clear_system_state." 2014-02-19 05:14:51 -08:00
Dmitry Kovalev
a7f8624458 Cleaning up vp9_onyx_if.c.
Change-Id: I389790f1ad0dd40816a7ae1ddad4a5c46278cff3
2014-02-19 10:59:53 +01:00
Yaowu Xu
f4ce20c530 Removed unnecessary type cast
Change-Id: I0f2d5155ec042e9b5cbe9a9d6b186b121ed7737f
2014-02-18 21:03:47 -08:00
Adrian Grange
9b9c33a2b8 Remove comment from calls to vp9_clear_system_state.
Removed the comment "// __asm emms;" from all calls
to vp9_clear_system_state.

Change-Id: Ib4dae69c1cdf3f185b04184a870cd70c4d703f10
2014-02-18 15:43:42 -08:00