748 Commits

Author SHA1 Message Date
Debargha Mukherjee
f8038850b6 Merge "Fix to make intra_only frames decodable out of order" into nextgenv2 2016-10-25 16:21:20 +00: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
d971f40bcc Fix compile error with --enable-accounting
Change-Id: I4b18dbfb013c9805cb23083a68560ab212a0867a
2016-10-25 13:52:07 +01: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
Peter de Rivaz
9d07888350 Fix to make intra_only frames decodable out of order
last_frame_type is not well defined for intra_only frames
if we are decoding them out of order.
This change removes a dependency on last_frame_type for these frames.

Change-Id: I440cac68792714de222e192a0b3e75f6e1aa5e4b
2016-10-25 10:19:57 +01:00
Sarah Parker
4b4e5eefe3 Merge "Extend warp_frame functions to average compound predictions" into nextgenv2 2016-10-25 02:00:48 +00: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
Alex Converse
f8306bfdc7 Mark bogus palette color probabilities as zero
It's clearer on inspection that the zero probabilities are unused.

Cherry-picked from aomedia/master: 8134db1

Change-Id: I56cddcb41ba256b7bb921d6a8538405165566dfb
2016-10-24 18:11:59 -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
Urvang Joshi
4f4b68e245 get_palette_color_context: code cleanup
consts, comments and other small readability improvements.

Change-Id: I40c5a652811a796fdb91dc7ca6b108e8871f72d1
2016-10-24 18:03:09 -07:00
Yue Chen
cf6caf7a0c Merge "Fix bugs in SUB8X8_MC" into nextgenv2 2016-10-24 23:16:09 +00:00
Jingning Han
e8a17ba34e Merge "Refactor tx_size to pixel number mapping in reconintra.c" into nextgenv2 2016-10-24 22:24:04 +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
Jingning Han
9b0406454d Merge "Add block size in pixels lookup table" into nextgenv2 2016-10-24 22:23:36 +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
Jingning Han
e98c4a10e5 Merge "Simplify the recursive transform block decoding" into nextgenv2 2016-10-24 21:01:17 +00:00
Yaowu Xu
1ca24708a0 Merge "Correct data size estimation for odd size video" into nextgenv2 2016-10-24 20:57:55 +00:00
Debargha Mukherjee
0c78ebb22d Merge "Fix a bug when combining new-quant + supertx" into nextgenv2 2016-10-24 19:53:42 +00:00
Yue Chen
edd2915e21 Fix bugs in SUB8X8_MC
Change-Id: Ia544974f83c6b7f9cdb148eeb13a6d0c6eb4ed24
2016-10-24 12:22:59 -07:00
Yaowu Xu
7e87bef0ff Merge "Increase min size of compressed data" into nextgenv2 2016-10-24 19:21:45 +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
Debargha Mukherjee
bbd9705802 Merge "Add bit accounting information for deringing" into nextgenv2 2016-10-24 18:14:31 +00:00
Jingning Han
d89c72e997 Refactor tx_size to pixel number mapping in reconintra.c
Change-Id: Id66a14a869df8317c5bbb693d14262326fe84206
2016-10-24 11:07:46 -07: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
Yaowu Xu
abc7d81b40 Correct data size estimation for odd size video
Given the largest transform size is 32x32, this commmit changes size
estiiation based on the size rounding up to 32 multiples to avoid
insufficient buffer allocations.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=36

Change-Id: I6eab09dc6acdc0f5a6bcadb918d62c4852aae21f
2016-10-24 10:46:32 -07:00
Jingning Han
571189c66d Add MAX_VARTX_DEPTH macro
Change-Id: I85532cf88f91f0f0cb4d9cb4b2dbda8a181297bf
2016-10-24 10:38:43 -07:00
Yaowu Xu
416b0d94de Increase min size of compressed data
This commit increases the minimum size for allocated buffer for
compressed data. The old size underestimated the size needed for
small images with width or height less than 64 pixels.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=31

Change-Id: Ia12507edc2be1e737ec49c32f64fd2ebf1eab41f
2016-10-24 09:56:09 -07:00
David Barker
d7d78c83e5 Fix a bug when combining new-quant + supertx
Previously, we assumed that av1_init_plane_quantizers is always called with
segment_id == xd->mi[0]->mbmi.segment_id (and use the latter to derive the value
of 'qindex' to use in the quantizer). But this is no longer true when supertx
is enabled. This patch instead remembers the value of 'qindex' derived from
the latest call to av1_init_plane_quantizers and uses that directly.

Change-Id: Ifa1c5bf74cad29942ff79b88ca92c231bc07f336
2016-10-24 17:43:51 +01:00
Jingning Han
6408895e69 Avoid the use of uninitialized value in ActiveMap encoding route
This commit resets the transform size to be the maximum possible
value. It avoids out-of-boundary writing when the ActiveMap is
turned on.

Change-Id: I8302dd9a5c9fffaea3edf9ad33f72aa111999737
2016-10-24 09:41:40 -07:00
Angie Chiang
91072e982f Merge "Align frame contexts." into nextgenv2 2016-10-24 16:36:36 +00:00
Jingning Han
72120969bc Use the actual inter prediction filter buffer in DRL
This avoids an encoding segmentation fault in speed 5, due to the
use of uninitialized dummy inter prediction filter buffer in the
dynamic motion vector referencing scheme.

Change-Id: Icd888d46623e8abf34267838135eed8656d552e4
2016-10-24 09:32:41 -07:00
David Barker
95e248e7d7 Add bit accounting information for deringing
It seems that when bit accounting was introduced in
https://chromium-review.googlesource.com/#/c/400658/
there was one place which was accidentally skipped, leading to build failures
with --enable-dering. This patch adds the missing information.

Change-Id: I59e1bd6f7e1d4fa58506ee7af307b845c78a7cbe
2016-10-24 16:14:50 +00:00
Jingning Han
421af3538d Merge "Limit the transform block partition depth" into nextgenv2 2016-10-24 15:57:28 +00:00
Jingning Han
bb22bbf01d Merge "Allow frame level tx_mode switch" into nextgenv2 2016-10-24 15:57:17 +00:00
Jingning Han
57d093793e Merge "Separate intra and inter tx_size counting" into nextgenv2 2016-10-24 15:56:33 +00:00
Jingning Han
a59d71a678 Make set context function aware of rectangular transform block size
Account for the rectangular transform block size in setting the
context data.

Change-Id: Ic30a6a3eaaca4c945e0aab3acbaeb99aa48b0064
2016-10-23 17:46:42 -07:00