Commit Graph

18169 Commits

Author SHA1 Message Date
Urvang Joshi
76bc587f69 Merge "get_palette_color_context: Make code more readable." into nextgenv2 2016-10-28 19:03:26 +00:00
Thomas Davies
80188d1546 Encode and decode multiple tile groups
This is a manual adaptation of the following commit from aom/master:
ce12003d60a1c8d6c65ed07ba165c34062fcbcbd

The original commit message:

A tile group is a set of tiles in scan order.

Each tile group has a version of uncompressed and compressed headers,
identical apart from tile group parameters.
Encoding probability updates takes account of the number of
headers to control overheads.

The decoder supports arbitrary numbers of tile groups with
arbitrary number of tiles. The number of tiles in a TG is
signalled in the uncompressed header for that TG.

The encoder currently only supports a fixed number
of TGs (3, when error resilient mode is on) of equal size
(except possibly for the last one).

The average BDR performnce with 3 tile groups versus
anchor with error resilient mode and up to 16 tiles is:

NR YCbCr:      3.02%      3.04%      3.05%
PSNRHVS:      3.09%
SSIM:      3.06%
MSSSIM:      3.05%
CIEDE2000:      3.04%

Change-Id: I9b97c5ed733103b9160a3a5d4370de5322c00c0b
2016-10-28 11:52:13 -07:00
Urvang Joshi
79f4fc476d get_palette_color_context: Make code more readable.
For clarity, use separate variables for 'color_ctx_hash' and
'color_ctx' instead of reusing same variables for both.

BUG=webm:1324

Change-Id: I3a516ea54353e1f0737822c613a68da252e30c6e
2016-10-28 09:42:05 -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
Angie Chiang
349b723f5c Merge "Add unit test for adapt_scan experiment" into nextgenv2 2016-10-28 15:53:59 +00:00
Angie Chiang
6b7255374d Merge "Pass block pixel width/height into av1_predict_intra_block" into nextgenv2 2016-10-28 15:51:30 +00: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
Jingning Han
fe8d6c62ce Merge "Refactor recursive transform block decoding" into nextgenv2 2016-10-28 15:49:27 +00:00
Jingning Han
c17b9e00dc Merge "Refactor recursive transform block size decoding" into nextgenv2 2016-10-28 15:49:06 +00:00
Jingning Han
73144260e3 Merge "Remove unused get_tx1d_width/height wrapper" into nextgenv2 2016-10-28 15:48:25 +00:00
Jingning Han
2b0670e10a Merge "Use transform block partition depth count for frame header reset" into nextgenv2 2016-10-28 15:48:11 +00:00
Yaowu Xu
2df83d5c10 Merge "Remove av1_use_hp_mv()" into nextgenv2 2016-10-28 15:26:35 +00:00
Yaowu Xu
c66f264d17 Merge "rans: Use symbol coding for motion vectors" into nextgenv2 2016-10-28 15:26:22 +00:00
David Barker
0602edfbc5 Fix aom_fdct8x8_ssse3 in high bit depth mode
Change-Id: I63e492163ef10e12a842837368c209b8ffc4eee0
2016-10-28 10:13:43 +01: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
Jingning Han
5f61426424 Refactor recursive transform block decoding
Unify the transform block and coding block mapping.

Change-Id: Ifb394809a4aafee6adf2b49a2607036cf13c878e
2016-10-27 22:11:24 -07:00
Jingning Han
65abc314c4 Refactor recursive transform block size decoding
Unify the transform block size to block size mapping.

Change-Id: Ic7359d016cd5965983c4a5476624c09f3123f91c
2016-10-27 22:11:20 -07:00
Yaowu Xu
94df7ab121 Merge "Deringing support for 4:2:2 by not deringing chroma" into nextgenv2 2016-10-28 04:20:17 +00:00
Yaowu Xu
fbf8788d99 Merge "Namespace the idct/iad symbols" into nextgenv2 2016-10-28 04:19:51 +00:00
Angie Chiang
45c198a197 Pass block pixel width/height into av1_predict_intra_block
Change-Id: Ia69bceef24b61b0a222783eba79e7a70bb60edd8
2016-10-27 17:13:50 -07:00
Sarah Parker
243f87ef49 Merge "Cosmetic fixes in global motion experiment" into nextgenv2 2016-10-27 23:23:39 +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
Debargha Mukherjee
058e42d399 Merge "Fix clpf and dering signalling when used with ext-partition-types" into nextgenv2 2016-10-27 20:45:07 +00:00
Alex Converse
3fc98e86d1 rans: Use symbol coding for motion vectors
Change-Id: If497b53c3b36e32fb98c99dba2d4a490e226572a
2016-10-27 12:38:43 -07:00
Jean-Marc Valin
c67b895fa4 Deringing support for 4:2:2 by not deringing chroma
No change in output for 4:2:0 and 4:4:4

Change-Id: Ic46753d23a5b5f90b611a3da1a4574870519957c
2016-10-27 12:37:52 -07:00
Luca Barbato
f0f98578df Namespace the idct/iad symbols
Make linking to libvpx and libaom at the same time possible.

Change-Id: I7bab8527a32e446e3d564e6fa5d94ccd056bc63f
2016-10-27 12:36:37 -07:00
Debargha Mukherjee
a5e3bc0fbc Merge "Fix compile error with --enable-ans + --enable-accounting" into nextgenv2 2016-10-27 19:03:22 +00:00
Debargha Mukherjee
030527c54a Merge "Fix dering filter when using 4:2:2 or 4:4:0 subsampling" into nextgenv2 2016-10-27 19:03:04 +00:00
Jingning Han
d4c65cdba4 Remove unused get_tx1d_width/height wrapper
Change-Id: Ie8bc40579720b8c402bbc8b23b6fd3a7a50834bb
2016-10-27 18:49:45 +00:00
Jingning Han
2adcfb19d5 Use transform block partition depth count for frame header reset
Use the transform block partition depth counts to decide if to
reset the tx_mode at frame header level. Add a comment to make this
explicit.

Change-Id: I417920b4b61eeb91cde9536336a12deea2d42f79
2016-10-27 18:49:32 +00:00
Angie Chiang
3f8419976d Add unit test for adapt_scan experiment
Change-Id: I90518b7b5c8bb930f5eeef4ce4cbb536139722ca
2016-10-27 11:43:10 -07:00
Angie Chiang
3d41cb339c Merge "Refactor: Localize tmp_rd in handle_inter_mode()" into nextgenv2 2016-10-27 18:27:18 +00:00
Angie Chiang
47d56f4f36 Merge "Sync definition of av1_get_switchable_rate in rd.c/h" into nextgenv2 2016-10-27 18:27:07 +00:00
Yaowu Xu
18ee02b0b9 Merge "Fix two bugs in parallel_deblocking experiment" into nextgenv2 2016-10-27 14:06:07 +00:00
Yaowu Xu
9edd6005fd Merge "fix filtering of uv int4x4 for odd rows" into nextgenv2 2016-10-27 14:05:52 +00:00
Yaowu Xu
d5723e6f09 Merge "Add parallel-deblocking experiment" into nextgenv2 2016-10-27 14:05:39 +00:00
David Barker
f8935c9c92 Fix clpf and dering signalling when used with ext-partition-types
Previously, when ext-partition-types and either clpf or dering were
enabled, the signalling for clpf/dering would not be encoded or decoded,
as the code to do so was inside a #if !CONFIG_EXT_PARTITION_TYPES block.
This caused many tests (eg, AV1/EndToEndTestLarge.EndToEndPSNRTest/0)
to fail with encode/decode mismatches.

Change-Id: If1742deb1812877813b2c3e93a048430f9a504ba
2016-10-27 13:19:01 +00:00
Jingning Han
199502f259 Merge "Support potential 2x2 transform block unit" into nextgenv2 2016-10-27 00:50:02 +00:00
Yaowu Xu
f6f2cfcaa7 Merge "av1/common/filter.h: apply clang-format" into nextgenv2 2016-10-26 23:43:02 +00:00
Yi Luo
400dcc8088 Merge "Fix aom_fdct32x32_avx2 output as CONFIG_AOM_HIGHBITDEPTH=1" into nextgenv2 2016-10-26 22:42:17 +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
b5a3082190 Merge "Synchronize tx_size counts in the decoder" into nextgenv2 2016-10-26 21:46:18 +00:00
Ryan Lei
6f8c1a78da Fix two bugs in parallel_deblocking experiment
This commit fixes two major bugs in parallel deblocking experiment, the
first one is missing initialization of lfm->lfl_uv array for horizontal
filtering. The second one is inconsistent order of vertical/horizontal
filtering of superblocks within a frame between encoder and decoder.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=45#c2
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=53#c1

Change-Id: I2df7eb313d49203fb70efe2bdf957b9d7e0bf678
2016-10-26 13:42:31 -07:00
Yi Luo
97b29925fe Merge "Fix incorrect merge of forward txfm function declarations" into nextgenv2 2016-10-26 19:22:53 +00:00
Sarah Parker
b3dab4983b Cosmetic fixes in global motion experiment
These are in response to post-commit suggestions made on
If429c93bb90b66fdff0edc07ecd9fc078077d303.

Change-Id: Id29afa158471bd6259bd07ac00812a50bfd0a709
2016-10-26 11:45:50 -07:00
Urvang Joshi
839b07feec Merge changes I56cddcb4,I40c5a652 into nextgenv2
* changes:
  Mark bogus palette color probabilities as zero
  get_palette_color_context: code cleanup
2016-10-26 18:28:56 +00:00
Jingning Han
906be078a5 Synchronize tx_size counts in the decoder
Make both encoder and decoder use depth index for frame count.

Change-Id: I96dddffc0a83ad5e4e2847b15391e01ba01ee502
2016-10-26 11:04:58 -07:00