Commit Graph

18141 Commits

Author SHA1 Message Date
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
Thomas Daede
c0dca3c507 Automatically set internal bit depth to at least the input bit depth.
Upgrade profile if required.

Change-Id: Ieb2b77d2446290a8fc749739247a01e8f0600c55
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
Angie Chiang
10ab157a53 Fix unsigned type error in aom_scale.c
Avoid unary minus operator applied to unsigned type

Change-Id: I6986cd2b0ea236e0129ee94c02275593c287a87d
2016-10-24 11:51:50 -07:00
Yaowu Xu
10d9627ffe Merge "Use the actual inter prediction filter buffer in DRL" into nextgenv2 2016-10-24 18:34:29 +00:00
Yaowu Xu
932ca0ece2 Merge "fdct4x4_test: fix unsigned overflow" into nextgenv2 2016-10-24 18:25:55 +00:00
Debargha Mukherjee
bbd9705802 Merge "Add bit accounting information for deringing" into nextgenv2 2016-10-24 18:14:31 +00:00
Yaowu Xu
02be3ee60a Merge "Use remove some magic numbers in aom_rans_merge_prob8_pdf." into nextgenv2 2016-10-24 18:10:32 +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
Yaowu Xu
59b969daae fdct4x4_test: fix unsigned overflow
The difference between src and dst will be signed, the error will be
unsigned. The change quiets -fsanitize=integer:
    unsigned integer overflow: 4294967295 * 4294967295

Change-Id: I131cefcc9583ee8a5b98eb5182fd30e9c7237ea0
2016-10-24 09:21:55 -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
Alex Converse
8db9faefe8 Use remove some magic numbers in aom_rans_merge_prob8_pdf.
Change-Id: I0cefae17642d7adf1b9bd637ecb81b437629aa0c
2016-10-24 09:05:03 -07: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
Yaowu Xu
d30a563d23 Merge "Add a runtime flag to enable bit accounting." into nextgenv2 2016-10-23 03:15:37 +00:00
Yaowu Xu
d9301c7eb6 Merge "Add a decoder control to retrieve accounting data." into nextgenv2 2016-10-23 03:15:21 +00:00
James Zern
af322e1d71 update_state: quiet const warning w/global-motion
+ add a TODO as this is incompatible with tile-based threading

Change-Id: I057c551a5f19020366c6b85c2e67e8394bb3306f
2016-10-22 12:46:43 -07:00
James Zern
9ca190c690 update_state_supertx: rename a shadowed variable
Change-Id: I0e5fa71a4b7cd03c9e28b434b1ea72b090ca6772
2016-10-22 12:42:43 -07:00
Jingning Han
958077ab0b Merge "Fix comment typo in common_data.h" into nextgenv2 2016-10-22 03:41:05 +00:00
Jingning Han
8dbf0fd6f7 Merge "Refactor tx_size to pixel number mapping in reconintra.c" into nextgenv2 2016-10-22 03:40:53 +00:00
Jingning Han
60e6516e26 Merge "Refactor tx_size step use cases in decoder" into nextgenv2 2016-10-22 03:40:43 +00:00
Jingning Han
88b198d84b Merge "Replace tx_size_1d with tx_size_wide/high" into nextgenv2 2016-10-22 03:40:32 +00:00
Yi Luo
62b6cc0bc9 Merge "Fix avx2 16x16/32x32 fwd txfm coeff output on HBD" into nextgenv2 2016-10-22 01:46:09 +00:00
Yaowu Xu
c06feefbde Merge "Fix compiler warning when CONFIG_ACCOUNTING enabled." into nextgenv2 2016-10-22 01:18:35 +00:00
Jingning Han
bd161f9f6d Merge "Refactor decoder side qcoeff reset" into nextgenv2 2016-10-22 01:07:32 +00:00
Sarah Parker
43d56f32e5 Extend warp_frame functions to average compound predictions
Change-Id: I400e95161d576510423880b5b9923a2307b5eb02
2016-10-21 17:18:48 -07:00
Angie Chiang
a5d96c4a65 Align frame contexts.
This will allow for aligned cdfs and scan orders inside.

Change-Id: I8ebcd64d55e41da20f518a39ae6ef192def70109
2016-10-21 17:15:07 -07:00
Angie Chiang
a1a753c765 Run clang-format on entropymv.c
Change-Id: Ic9f34e32e51f8a8a4426543bae0b92f5fab0792e
2016-10-21 17:13:59 -07:00
Jingning Han
c47fe6c64b Add block size in pixels lookup table
This prepares for the next refactoring to support 2x2 transform
block sizes.

Change-Id: Ia06bc487da34e853ef9323cd13e3d482e819db43
2016-10-21 16:47:08 -07:00
Jingning Han
e7230e9f20 Fix comment typo in common_data.h
"varios" -> "various"

Change-Id: If91a462dc009f701c48c2cfd7965cd71f61f2970
2016-10-21 16:30:10 -07:00
Nathan E. Egge
eb64fc28b6 Add a runtime flag to enable bit accounting.
By default, when building with --enable-accounting the bit accounting
 code will collect statistics for every frame while decoding.
Collecting statistics can slow down decode time and we would eventually
 like to enable the CONFIG_ACCOUNTING flag by default.
This patch adds a runtime flag so that bit accounting statistics are
 only collected when actually needed.

Change-Id: I25d9eaf26ea132d61ace95b952872158c9ac29e7
2016-10-21 23:12:50 +00:00
Nathan E. Egge
c9862e05f5 Add a decoder control to retrieve accounting data.
This decoder control requires AV1 to be compiled with --enable-accounting.
Note that bit accounting data is only available after a frame has been
 decoded.

Change-Id: I8a15213d9f2587638e0edb62932738e985160e03
2016-10-21 16:12:01 -07:00