472 Commits

Author SHA1 Message Date
Angie Chiang
c352e79ee6 Merge "Simplify interpolation filter search in handle_inter_mode()" into nextgenv2 2016-10-26 16:51:58 +00:00
Yunqing Wang
e61ec7bc19 Merge "Change 2 motion search counts to be tile data" into nextgenv2 2016-10-26 16:17:42 +00:00
Jingning Han
4e1737af64 Add depth to tx_size mapper to bit-stream coding
It serves as a helper function to integrate various transform coding
options.

Change-Id: I64e7d0c88ea10137fa1ff1072d865eb0054c2a25
2016-10-26 15:45:19 +00:00
Sarah Parker
f41a06b231 Revise precision clamping in GM param refinement
This ensures that the parameter refinement never
results in a motion parameter value that exceeds the number
of alloted bits in the bitstream. It accounts for all of
the necessary precision shifts required to make global motion compatible
with the warped motion library. It also accounts for the
zero-centering that is applied to global motion parameters that are
naturally centered around one.
Change-Id: If429c93bb90b66fdff0edc07ecd9fc078077d303
2016-10-25 21:11:39 -07:00
Jingning Han
c83ef8b946 Merge "Refactor transform size coding" into nextgenv2 2016-10-26 01:12:04 +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
aae72a69c3 Refactor transform size coding
Introduce the transform block partition depth macro definition.

Change-Id: I218dc77a77c8e967da4d270d4ec0d7691b712a5f
2016-10-25 15:42:30 -07:00
Jingning Han
b2d6a59ad5 Merge "Refactor tx_size use case in block encoding stage" into nextgenv2 2016-10-25 22:29:21 +00:00
Jingning Han
2eded9a3ff Merge "Refactor tokenize_vartx to use aligned transform block size fetch" into nextgenv2 2016-10-25 22:29:03 +00:00
Yunqing Wang
8c1e57c278 Change 2 motion search counts to be tile data
Imported changes from VP9:
https://chromium-review.googlesource.com/#/c/402551/
https://chromium-review.googlesource.com/#/c/403128/

Change-Id: I8570c867190a6fa641926431ce97f7d9d7da3528
2016-10-25 15:25:37 -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
James Zern
8aa4cbf5d5 Merge "update_state: quiet const warning w/global-motion" into nextgenv2 2016-10-25 22:15:39 +00:00
Yaowu Xu
dece603fdf Merge "Use constrained tokenset with --enable-daala_ec." into nextgenv2 2016-10-25 19:40:51 +00:00
Jingning Han
e71ad1d4a2 Merge "Refactor dist_block() function" into nextgenv2 2016-10-25 19:39:22 +00:00
Angie Chiang
7c7e555ca0 Merge changes I6faedb29,Ic6586114 into nextgenv2
* changes:
  Remove speed feature of ext_interp experiment
  Refactor: handle_inter()
2016-10-25 19:36:49 +00:00
Jingning Han
de953b9d05 Refactor tx_size use case in block encoding stage
Change-Id: I56110d1fc94b335668e6b991442e9083bbaea8ee
2016-10-25 12:36:09 -07:00
Jingning Han
a893936335 Refactor tokenize_vartx to use aligned transform block size fetch
This prepares for the integration of rectangular transform size
into recursive transform block partition.

Change-Id: I164eb43d10afa9bb2f4722de7a48faa770ba4ced
2016-10-25 12:16:21 -07: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
Yaowu Xu
1f112841d2 Merge "Refactor extrabits packing" into nextgenv2 2016-10-25 17:14:57 +00:00
Yaowu Xu
d8dc1fc522 Merge "Linearize extrabits writing." into nextgenv2 2016-10-25 17:14:44 +00:00
Nathan E. Egge
46e8490498 Use constrained tokenset with --enable-daala_ec.
Change-Id: Ia09edf92bf9f7ecacc65c232ac6e656cde236634
2016-10-25 10:13:22 -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
6305abe114 Refactor: Add macro LOG_SWITCHABLE_FILTERS
Change-Id: I7593ff2f8949d8bc26ca1c8577faaefb09640b59
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
Yaowu Xu
4579c5e458 Merge "update_state_supertx: rename a shadowed variable" into nextgenv2 2016-10-25 16:04:33 +00:00
Yaowu Xu
d971eb8521 Merge "Move small fixes and refactoring for obmc pred from AV1" into nextgenv2 2016-10-25 16:03:47 +00:00
Yaowu Xu
3635a832ab Merge "adapt_scan experiment" into nextgenv2 2016-10-25 16:03:40 +00:00
Alex Converse
d8fdfaa4da Refactor extrabits packing
- Eliminate the awkward _av1 suffix/infix in local variable names.
- Lift bitdepth selection out of the token loop.

Change-Id: I26d3397464f7808e0481a804033a93ca4f01f5d5
2016-10-25 08:59:08 -07:00
Alex Converse
81fd890773 Linearize extrabits writing.
The decoder is already linear so changing these tables would just create
a mismatch.

Change-Id: Ib888c0dc273e089c38298f569bb35b6e4c32dd60
2016-10-25 08:59:08 -07:00
Yaowu Xu
2b33aa903f Remove select_tx_size from struct macroblock
It is no longer used anywhere.

Change-Id: I5d40664373d66821c5382f6155302b8719ce58c0
2016-10-25 08:56:55 -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
Brennan Shacklett
d4add7aca9 Remove encode_breakout and related speed features
Seems to be dead code

Change-Id: I17b3edc9e82d6a1da172a686522358a6b1a630e9
2016-10-25 08:56:55 -07:00
David Barker
401204a50b Fix dering filter when using 4:2:2 or 4:4:0 subsampling
Change-Id: Ifa5bef5123e13df9cad59c7c870b58e18c2ce213
2016-10-25 12:54:59 +01:00
Angie Chiang
ed8cd9a9b4 adapt_scan experiment
Performance improvement
        BDRate
lowres  0.921%
midres  0.730%
hdres   1.019%

Change-Id: I26208d6c0531937bff44de505b4ea355c7852802
2016-10-24 18:24:56 -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
61a50f73cf Merge "Simplify variable defs in av1_encode_block_intra" into nextgenv2 2016-10-24 22:23:59 +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
0b325978d7 Palette: Generate encodings automatically from tree.
Ran some manual sanity checks:
- Verified that the automatically generated encodings match the
  hand-written encodings before the patch.
- Verified that the encoded bitstream before/after this patch is
  identical.

Change-Id: I2153c57e463cff09c1d03d619b432fb1015199c3
2016-10-24 14:37:25 -07:00
Yue Chen
894fcceb87 Move small fixes and refactoring for obmc pred from AV1
Covering commits 1c263e0 and 79d8a07 from AOM codebase

Change-Id: I6400e5f99bbb2ef6584ef232d465e520230c06e0
2016-10-24 14:14:47 -07: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
7f76d4763d Prevent potential token buffer overflow in format 444
For a 16x16 pixel block, one needs to allocate 16x16 coefficient
tokens, plus up to 16 eob tokens, per plane. This commit increases
the token allocation size to cover the case where all the transform
blocks are of size 4x4 in format 444.

Change-Id: I5755e6a53771053d51163d01ec1d62e670c5009e
2016-10-24 14:08:34 -07:00
Jingning Han
63632447ae Merge "Add MAX_VARTX_DEPTH macro" into nextgenv2 2016-10-24 21:01:29 +00:00
Debargha Mukherjee
0c78ebb22d Merge "Fix a bug when combining new-quant + supertx" into nextgenv2 2016-10-24 19:53:42 +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
Jingning Han
62a2b9e197 Simplify variable defs in av1_encode_block_intra
Use direct table access to fetch the block size and transform size
in pixels.

Change-Id: Ia0093d5aed912be24996a06b0567bb2d873ec068
2016-10-24 11:07:27 -07:00
Jingning Han
c4c99da925 Refactor av1_predict_intra_block tx_size interface
Simplify the input arguments. Make direct use of the block size
in the unit of pixels.

Change-Id: Ifec9d90b4b4fa9605f93b4f93b8242f76f898b5f
2016-10-24 11:06:23 -07:00
Jingning Han
571189c66d Add MAX_VARTX_DEPTH macro
Change-Id: I85532cf88f91f0f0cb4d9cb4b2dbda8a181297bf
2016-10-24 10:38:43 -07:00