Commit Graph

117 Commits

Author SHA1 Message Date
Angie Chiang
628d7c915b Record YUV planes' txfm block coeff cost in handle_inter_mode()
Change-Id: Ia37f170d8fd961d78a751d84b9525ab7e973b81a
2016-11-04 11:12:44 -07:00
Angie Chiang
c0feea8a0c Add av1_ prefix on ###_rd_stats functions
Change-Id: I3bc782d68bcd9b52b38210eec9eecb21146fde75
2016-11-04 11:12:44 -07:00
Angie Chiang
d81fdb41e6 Add transform block coefficient cost in RD_STATS for debugging
Change-Id: Iae50d0b0c4f8f383ab4f91d2c1c2fa4e799c7250
2016-11-04 11:11:27 -07:00
Angie Chiang
d7246171b5 Add helper functions to modify RD_STATS
Those functions includes
init_rd_stats()
invalid_rd_stats()
merge_rd_stats()

This CL help simplify the code.

Change-Id: Id1704d883bd21a039b0478a940994ca14184ae1c
2016-11-04 11:11:27 -07:00
Jingning Han
4be3214fec Merge "Properly schedule the transform block recursion order" into nextgenv2 2016-11-04 17:53:53 +00:00
Yue Chen
95a3898cbd Merge "Remove duplicated variables in EXT_INTER" into nextgenv2 2016-11-04 17:11:08 +00:00
Jingning Han
98d6a1f247 Properly schedule the transform block recursion order
This commit replaces the offset based block index calculation with
incremental based one. It does not change the coding statistics.

Change-Id: I3789294eb45416bd0823e773ec30f05ed41ba0dc
2016-11-04 09:06:49 -07:00
Jingning Han
137b2671eb Fix format issue in handle_inter_mode()
Change-Id: I681fd799cf46991de419cc867ccb649a6990c19d
2016-11-04 08:31:24 -07:00
Angie Chiang
e89ea0ceb7 Merge "Refactor: Replace rate dist sse skip by RD_STATS in VAR_TX" into nextgenv2 2016-11-04 05:42:59 +00:00
Angie Chiang
b5dda4887b Refactor: Replace rate dist sse skip by RD_STATS in VAR_TX
This is to facilitate implementation of rd_debug tool; it doesn't change
coding behavior.

Change-Id: I0eb82b31473883ba6652ed11dca09b9ec4530183
2016-11-03 17:51:26 -07:00
James Zern
97a2c675e7 Merge "rdopt,global-motion: Fix -1 indexing ubsan warning" into nextgenv2 2016-11-03 22:59:34 +00:00
Sarah Parker
182953b299 rdopt,global-motion: Fix -1 indexing ubsan warning
Change-Id: I1b3caf3543ab385f39f5f253c9949ad89ea5af7d
2016-11-03 22:58:47 +00:00
Yue Chen
9d3e478e72 Remove duplicated variables in EXT_INTER
Introduced by merge commit 141f7a9

Change-Id: Idd68e09a6cd925d97466eabebe0e4905b5031340
2016-11-03 15:12:42 -07:00
Jingning Han
4b47c937d0 Fix txb_w/h use case in av1_tx_block_rd_b()
Match them with block_row/col index.

Change-Id: Idf0f924a093e5312b0a36b765d295e52d033eb5a
2016-11-03 09:20:08 -07:00
Jingning Han
18482fe32d Refactor recursive transform block partition search
This commit refactors the recursive transform block partition
search process to make it support rectangular transform block size
coding.

Change-Id: I0207ae40d83c7eae3cb5d460e403f470747590d3
2016-11-02 17:03:09 -07:00
Zoe Liu
bd163bc199 Merge "Make a small code clean on handle_inter_mode()" into nextgenv2 2016-11-02 16:39:36 +00:00
Jingning Han
c8b8936fdc Rework transform block partition context model
This commit allows the partition context model to account for the
maximum transform block size of the coding block.

Change-Id: I22b91e85fff70faa974afd362ce327d3f2eda81d
2016-11-01 15:00:04 -07:00
Zoe Liu
82c8c92cc5 Make a small code clean on handle_inter_mode()
Change-Id: I5fb4898045a481f7996c2ad019d2f741aab08fc7
2016-11-01 14:52:34 -07:00
Jingning Han
ce059e86fb Use get_entropy_context() in select_tx_block
Replace redundant separate handling to retrieve the context value.

Change-Id: I18dde4599cd08ffe33a78694ec377487609de1b1
2016-10-31 16:27:28 -07:00
Jingning Han
f65b870e27 Refactor max_blocks_wide/high computation
Factor common codes that show up in multiple places.

Change-Id: I0a72213a151f74bdad926d59f86f0a28d00968fc
2016-10-31 12:39:36 -07:00
Jingning Han
73d65a49a9 Merge "Refactor rate-distortion optimization of recursive transform partition" into nextgenv2 2016-10-29 23:01:14 +00:00
Jingning Han
9fdc42293f Refactor rate-distortion optimization of recursive transform partition
Support rectangular transform block in the rate-distortion cost
estimator.

Change-Id: I99201fcae797c1ed2f2184021a215867eac0288f
2016-10-28 14:48:40 -07:00
Sarah Parker
68a26b6b4a Bitwise to logical & in rdopt ext tx prune function
Making this change in case the future implementation changes and the
compairson is no longer between single bits.

Change-Id: I94f474ce7d82febfa23cec65cbe1b9d240b42e02
2016-10-28 13:19:33 -07:00
Angie Chiang
3655dcd4cf Fix tmp_rd type error in handle_inter_mode()
Change-Id: I9398c77c12e9c4caa19a76b92e3035a3135cfd7a
2016-10-28 09:05:27 -07:00
Jingning Han
cb277c0b82 Merge "Refactor recursive transform block partition search" into nextgenv2 2016-10-28 15:50:36 +00:00
Jingning Han
6675bbca0e Merge "Simplify logics in encode_inter_mb_segment" into nextgenv2 2016-10-28 15:50:15 +00:00
Yaowu Xu
2df83d5c10 Merge "Remove av1_use_hp_mv()" into nextgenv2 2016-10-28 15:26:35 +00:00
Jingning Han
5822404485 Refactor recursive transform block partition search
Use unified transform block size and coding block size map. This
prepares for the integration of 2x2 transform block size and the
rectangular transform block size.

Change-Id: I99f51017d19aef337639b708ee9c7faedcc20935
2016-10-28 05:12:19 +00:00
Jingning Han
c4049db573 Simplify logics in encode_inter_mb_segment
Unify coefficient context used by different experiments. Make
block size and transform block size consistent with rest codebase.

Change-Id: I237336f161d6c473b88c59c48ee68d24b75ce738
2016-10-28 05:12:05 +00:00
Zoe Liu
b99af6e3e9 Merge "A small bug fix in ext-refs on the RD mode selection" into nextgenv2 2016-10-27 22:43:55 +00:00
Alex Converse
6317c88f5a Remove av1_use_hp_mv()
It always returns true since the related misc_fix[1] was merged.

[1] 23e83574b6a5105bdc686c49f2d5909f33ea721f

Change-Id: Ie3af685572a2f0a42d2b9fb9903c1abeea225dfd
2016-10-27 14:33:48 -07:00
Angie Chiang
3d41cb339c Merge "Refactor: Localize tmp_rd in handle_inter_mode()" into nextgenv2 2016-10-27 18:27:18 +00:00
Jingning Han
607fa6a6ce Support potential 2x2 transform block unit
Make the codec support 2x2 tranform block unit for chroma components.

Change-Id: Ic454535bd5620abe88a2e99789160cc4664ee518
2016-10-26 15:38:13 -07:00
Jingning Han
b0a7130656 Convert tx_size to relative depth to fetch tx_size_cost
Use the relative transform partition depth as index to fetch the
tx_size_cost value.

Change-Id: I7d5119817baa96f23c32828065ff3175bb9f75cf
2016-10-26 17:12:41 +00:00
Angie Chiang
c352e79ee6 Merge "Simplify interpolation filter search in handle_inter_mode()" into nextgenv2 2016-10-26 16:51:58 +00:00
Angie Chiang
a2b56d3e05 Refactor: Localize tmp_rd in handle_inter_mode()
Change-Id: I01cb5cd544c849be160a9441d141c01a3424d32b
2016-10-25 17:34:59 -07:00
Angie Chiang
75c2209341 Simplify interpolation filter search in handle_inter_mode()
BDRate
ext_interp  lowres -0.001%
dual_filter lowres  0.001%

Change-Id: Ic24165d554c300eaa0188ee8cb88d320b74125aa
2016-10-25 17:10:08 -07:00
Jingning Han
a1730659ec Merge "Use table fetch for block width in block_rd_txfm" into nextgenv2 2016-10-25 22:18:44 +00:00
Jingning Han
e71ad1d4a2 Merge "Refactor dist_block() function" into nextgenv2 2016-10-25 19:39:22 +00:00
Jingning Han
c598cf853f Use table fetch for block width in block_rd_txfm
Make direct use of block_size_wide to fetch data for stride.

Change-Id: I0d8491e58cf00ea73c764d218cb56408b64d9ee7
2016-10-25 10:47:46 -07:00
Jingning Han
b9c572706d Refactor dist_block() function
Support automatic scale for mapping between transform block size
and pixel block size.

Change-Id: I141b0477a85c0dcc5f99b4e5d880cfccfae6d316
2016-10-25 10:22:17 -07:00
Angie Chiang
d0aa90ed79 Remove speed feature of ext_interp experiment
This is to facilitate the refactor process

Change-Id: I6faedb29129b47abefe20821dc3f32a43db149d8
2016-10-25 09:22:35 -07:00
Angie Chiang
1b131f1c64 Refactor: handle_inter()
Make the parenthesis symmetric
Replace interpolation filter mode number by macro

Change-Id: Ic6586114c4cebe920b950e1b3adc8ebc764d4713
2016-10-25 09:22:35 -07:00
Guillaume Martres
4e4d3a075b Avoid unnecessary reencode in choose_largest_tx_size
This change is similar to the one done for choose_tx_size_from_rd in
daf841b4a10ece1b6831300d79f271d00f9d027b

It gives a 4% speed-up on bus_cif.y4m with the following settings:
--cpu-used=4 -p 1 --end-usage=q --cq-level=40 --tile-columns=0 --tile-rows=0

Change-Id: Ic54fe4a066a2c0b5f6349d80cd13de8bb8ddcabc
2016-10-25 08:56:55 -07:00
Urvang Joshi
7bc1fa194d Merge changes I2153c57e,I0e291edd into nextgenv2
* changes:
  Palette: Generate encodings automatically from tree.
  Palette + Ext-Intra: shadowed declaration fix.
2016-10-25 01:06:28 +00:00
Jingning Han
8d6eaec1d7 Merge "Refactor av1_predict_intra_block tx_size interface" into nextgenv2 2016-10-24 22:23:40 +00:00
Urvang Joshi
626591dfa1 Palette + Ext-Intra: shadowed declaration fix.
This shadowed declaration warning was generated when both experiments
are on.

Change-Id: I0e291eddeefabd68c5c3a0e5f8ac87706a82d55a
2016-10-24 14:13:55 -07:00
Jingning Han
63632447ae Merge "Add MAX_VARTX_DEPTH macro" into nextgenv2 2016-10-24 21:01:29 +00:00
Yaowu Xu
23fb2feaa5 Merge "Avoid the use of uninitialized value in ActiveMap encoding route" into nextgenv2 2016-10-24 19:21:29 +00:00
Yaowu Xu
10d9627ffe Merge "Use the actual inter prediction filter buffer in DRL" into nextgenv2 2016-10-24 18:34:29 +00:00