Commit Graph

17904 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Angie Chiang
a1a753c765 Run clang-format on entropymv.c
Change-Id: Ic9f34e32e51f8a8a4426543bae0b92f5fab0792e
2016-10-21 17:13:59 -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
Nathan E. Egge
ebbd479e18 Fix compiler warning when CONFIG_ACCOUNTING enabled.
ISO C90 forbids mixed declarations and code and the function
 aom_accounting_set_context() was being called before the MB_MODE_INFO
 declaration.

Change-Id: I8619525b1b2fd37753891bd310d9d59c881b8807
2016-10-21 22:57:23 +00:00
Nathan E. Egge
5f34b61903 Update class0_fp_cdf and fp_cdf tables once per frame.
Move computing the class0_fp_cdf and fp_cdf tables per coded mv
 symbol to computing it only when the probabilities are updated.

Change-Id: Ib4957c8ab21e6189bcc3817a07b7681dfb343223
2016-10-21 22:56:41 +00:00
Nathan E. Egge
d7b893c667 Update class_cdf table once per frame.
Move computing the class_cdf table per coded mv class symbol to
 computing it only when the probabilities are updated.

Change-Id: I6c4a9075817e8ba2e251f0e82436995f08f2ec5c
2016-10-21 22:55:54 +00:00
Nathan E. Egge
5f7fd7ab5e Update joint_cdf table once per frame.
Move computing the joint_cdf table per coded mv joint symbol to
 computing it only when the probabilities are updated.

Change-Id: If5d195f70e6fad7b60f69606c8386ad5e69657d2
2016-10-21 22:55:31 +00:00
Nathan E. Egge
6ec4d10d3c Update inter_mode_cdf tables once per frame.
Move computing the inter_mode_cdf tables per coded inter mode symbol to
 computing them only when the probabilities are updated.

Change-Id: I7a7b059ee75723cb6f278ed82a20cf34c27915d8
2016-10-21 22:54:50 +00:00
Yaowu Xu
b808b43b36 Merge "Update uv_mode_cdf tables once per frame." into nextgenv2 2016-10-21 22:53:42 +00:00
Yaowu Xu
e86df524b9 Merge "Update y_mode_cdf tables once per frame." into nextgenv2 2016-10-21 22:44:09 +00:00
Yaowu Xu
a82712b2a6 Merge "Update kf_y_mode_cdf tables once per frame." into nextgenv2 2016-10-21 22:43:57 +00:00
Jingning Han
22daaa3aea Refactor tx_size to pixel number mapping in reconintra.c
Change-Id: I1e4a43f5f08b76867240a207c60d7e85a8ffbb74
2016-10-21 15:25:17 -07:00
Jingning Han
2d64f12595 Refactor tx_size step use cases in decoder
Use lookup table to replace the arithmetic computation for transform
block step.

Change-Id: I1318d81bda9d7ffaf9d550acd19354b0615ede36
2016-10-21 15:22:12 -07:00
Jingning Han
5d5cd6a748 Replace tx_size_1d with tx_size_wide/high
This prepares the support to both rectangular and 2x2 transform
block sizes.

Change-Id: I3c2d4e317f6b627bb45d2273c278331bd976ee92
2016-10-21 15:18:39 -07:00
Jingning Han
1be1878572 Refactor decoder side qcoeff reset
Allow the decoder to memset partial dequantized coefficient line
to zero.

Change-Id: I1f07dc7bf802958754502c1b5c819cc81e7a08cb
2016-10-21 15:10:23 -07:00
Yaowu Xu
dc3c3a33cb Merge "Pass AV1_COMMON into get_scan" into nextgenv2 2016-10-21 21:51:50 +00:00
Yaowu Xu
b11ee30519 Merge "Decoder performance improvement with daala_ec." into nextgenv2 2016-10-21 21:50:13 +00:00
Sarah Parker
1634b48022 Merge "Fix logical vs bitwise & bug" into nextgenv2 2016-10-21 21:16:54 +00:00
Yi Luo
1a0f27aaa6 Fix avx2 16x16/32x32 fwd txfm coeff output on HBD
Change-Id: Ida036defe5688894a63007a31aa2dd0b3f0b5d59
2016-10-21 14:14:00 -07:00
Jingning Han
dc90bf0737 Merge "Fix unused variable error in intrapred.c" into nextgenv2 2016-10-21 21:11:31 +00:00
Jingning Han
823411ea4d Merge "Refactor tx_size to pixel number in decodeframe.c" into nextgenv2 2016-10-21 19:39:22 +00:00
Nathan E. Egge
380cb1a93c Update uv_mode_cdf tables once per frame.
Move computing the uv_mode_cdf tables per coded intra mode symbol to
 computing them only when the probabilities are updated.

Change-Id: I627b59d30726c913f5d7ba7753cb0446a12655bb
2016-10-21 12:39:04 -07:00
Nathan E. Egge
5710c722af Update y_mode_cdf tables once per frame.
Move computing the y_mode_cdf tables per coded intra mode symbol to
 computing them only when the probabilities are updated.

Change-Id: I8c43d09b8ef5febe2a3ec64bd51d28bd78ea73ed
2016-10-21 12:39:04 -07:00
Nathan E. Egge
3ef926edc2 Update kf_y_mode_cdf tables once per frame.
Move computing the kf_y_mode_cdf tables per coded intra mode symbol to
 computing them only when the probabilities are updated.

Change-Id: I5999447050c2f7d5dbccde80bee05ecd1c5440ab
2016-10-21 12:39:04 -07:00
Nathan E. Egge
5357dcaf71 Decoder performance improvement with daala_ec.
Cherry-pick Daala b5020bee:
 Remove redundant test in od_ec_decode_bool_q15().
Using a test that decodes 100M random binary symbols, making this change
 produced a speed up of 8.81% with gcc-4.9.3 and 3.71% with clang-3.7.1,
 both compiled with -O2.

Change-Id: If6d0077a56121a575ae53bcd4d1d9b7d800a317d
2016-10-21 12:38:30 -07:00
Yaowu Xu
91219941b1 Merge "Use divide by multiply in the ans writer." into nextgenv2 2016-10-21 18:46:29 +00:00
Angie Chiang
ff6d890557 Pass AV1_COMMON into get_scan
This CL will facilitate adapt_scan experiment.
In adapt_scan experiment, dynamic scan order will be stored in
AV1_COMMON

Change-Id: I4763ea931b5e1af54d4f173971befeb01a4db335
2016-10-21 11:46:19 -07:00
Yaowu Xu
65818322ef Merge "Sub8x8 block chroma component inter prediction" into nextgenv2 2016-10-21 18:46:18 +00:00
Angie Chiang
646e52a85a Fix unused variable error in intrapred.c
Change-Id: Icda975cd9b264c1752c3057bce8031791f91c08a
2016-10-21 11:45:31 -07:00
Angie Chiang
b0f9968ac7 Merge "Remove the has_no_coeffs corner case" into nextgenv2 2016-10-21 18:16:45 +00:00
Yaowu Xu
c2c5ec21b6 Merge "Unify set_contexts() function for encoder and decoder" into nextgenv2 2016-10-21 18:00:32 +00:00
Yaowu Xu
2f5b9d66b5 Merge "Add support for v256 intrinsics" into nextgenv2 2016-10-21 18:00:20 +00:00
Jingning Han
3d855c5e75 Refactor tx_size to pixel number in decodeframe.c
Use the table access to retrieve pixel numbers from tx_size.

Change-Id: I9459f2c3292c2f9ddf963f16b79e142de7432031
2016-10-21 10:55:54 -07:00
Yaowu Xu
c76572af16 Merge changes Icfc16070,Ied47a248,I8af087d9,I322a1366,If04580af into nextgenv2
* changes:
  Palette: Use inverse_color_order to find color index faster.
  Rewrite some loops to avoid -Wunsafe-loop-optimizations warnings.
  Remove some useless casts
  Add compiler warning flag -Wextra and fix related warnings.
  Declare some array sizes to be constants (known at compile time).
2016-10-21 17:31:42 +00:00
Yaowu Xu
98a306a1b2 Merge changes I027a4f2a,Ide91d76f into nextgenv2
* changes:
  Add complier warning -wunused.
  angle estimation: Some renames/tweaks to sync with aomedia code.
2016-10-21 17:31:22 +00:00