Граф коммитов

1273 Коммитов

Автор SHA1 Сообщение Дата
James Zern 99ff89b6fb Merge "rdopt: clear maybe-uninitialized variable warning" into nextgenv2 2016-11-05 03:19:33 +00:00
Sarah Parker 70c4fab569 rdopt: clear maybe-uninitialized variable warning
av1/encoder/rdopt.c:9533 ‘zeromv[1].as_int’ may be used
uninitialized in this function [-Wmaybe-uninitialized]
this was spurious given the logic in the if

Change-Id: I8ddfe7e46d1bf5593cc8624f05c9f181243a87d4
2016-11-04 17:56:23 -07:00
Yushin Cho 09705fe711 New experiment: Perceptual Vector Quantization from Daala
PVQ replaces the scalar quantizer and coefficient coding with a new
design originally developed in Daala. It currently depends on the
Daala entropy coder although it could be adapted to work with another
entropy coder if needed:
./configure --enable-experimental --enable-daala_ec --enable-pvq

The version of PVQ in this commit is adapted from the following
revision of Daala:
fb51c1ade6

More information about PVQ:
- https://people.xiph.org/~jm/daala/pvq_demo/
- https://jmvalin.ca/papers/spie_pvq.pdf

The following files are copied as-is from Daala with minimal
adaptations, therefore we disable clang-format on those files
to make it easier to synchronize the AV1 and Daala codebases in the future:
 av1/common/generic_code.c
 av1/common/generic_code.h
 av1/common/laplace_tables.c
 av1/common/partition.c
 av1/common/partition.h
 av1/common/pvq.c
 av1/common/pvq.h
 av1/common/state.c
 av1/common/state.h
 av1/common/zigzag.h
 av1/common/zigzag16.c
 av1/common/zigzag32.c
 av1/common/zigzag4.c
 av1/common/zigzag64.c
 av1/common/zigzag8.c
 av1/decoder/decint.h
 av1/decoder/generic_decoder.c
 av1/decoder/laplace_decoder.c
 av1/decoder/pvq_decoder.c
 av1/decoder/pvq_decoder.h
 av1/encoder/daala_compat_enc.c
 av1/encoder/encint.h
 av1/encoder/generic_encoder.c
 av1/encoder/laplace_encoder.c
 av1/encoder/pvq_encoder.c
 av1/encoder/pvq_encoder.h

Known issues:
- Lossless mode is not supported, '--lossless=1' will give the same result as
'--end-usage=q --cq-level=1'.
- High bit depth is not supported by PVQ.

Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
2016-11-04 16:36:56 -07:00
Jingning Han 713b56121a Merge "Clean up write_tx_type()" into nextgenv2 2016-11-04 23:03:53 +00:00
Jingning Han 0880b5466f Merge "Refactor tx_type reader" into nextgenv2 2016-11-04 23:03:47 +00:00
Jingning Han 05abee1530 Merge "Factor out common tx_type writing codes from inter/intra frame" into nextgenv2 2016-11-04 23:03:38 +00:00
Angie Chiang 7a77169a35 Merge changes Ia37f170d,Ie3082db5 into nextgenv2
* changes:
  Record YUV planes' txfm block coeff cost in handle_inter_mode()
  Separate coefficient cost of U/V planes in write_modes_b()
2016-11-04 22:58:58 +00:00
Angie Chiang 59526ead45 Merge changes I3bc782d6,I8359e849,Iae50d0b0,Id1704d88,Ia69f13c4, ... into nextgenv2
* changes:
  Add av1_ prefix on ###_rd_stats functions
  Use init_rd_stats() in encodeframe.c
  Add transform block coefficient cost in RD_STATS for debugging
  Add helper functions to modify RD_STATS
  Add mi_row and mi_col into mbmi to facilitate rd_debug process
  Add token cost comparison in write_modes_b()
2016-11-04 22:43:30 +00:00
James Zern 653fdd6d55 Merge changes I139808f4,I3d97d8db into nextgenv2
* changes:
  warped_motion.c: delete unused filter_4tap[]
  warped_motion.c: quiet float-conversion warnings
2016-11-04 22:34:11 +00:00
clang-format 7eb160b116 apply clang-format
missed in:
9abdec6 simp-mv-pred integration with ref-mv

Change-Id: Ib155fb418ec77c1e53ca25b6654a4a47d0d2110e
2016-11-04 21:51:40 +00:00
Angie Chiang 628d7c915b Record YUV planes' txfm block coeff cost in handle_inter_mode()
Change-Id: Ia37f170d8fd961d78a751d84b9525ab7e973b81a
2016-11-04 11:12:44 -07:00
Angie Chiang c0feea8a0c Add av1_ prefix on ###_rd_stats functions
Change-Id: I3bc782d68bcd9b52b38210eec9eecb21146fde75
2016-11-04 11:12:44 -07:00
Angie Chiang 75f45814ba Separate coefficient cost of U/V planes in write_modes_b()
Change-Id: Ie3082db5b0fead8c322b2aeede4eff7cd723ea12
2016-11-04 11:12:44 -07:00
Angie Chiang 4695b97030 Use init_rd_stats() in encodeframe.c
Change-Id: I8359e8498efd301ff81eea1d7466d0f3fec5e006
2016-11-04 11:11:27 -07:00
Angie Chiang d81fdb41e6 Add transform block coefficient cost in RD_STATS for debugging
Change-Id: Iae50d0b0c4f8f383ab4f91d2c1c2fa4e799c7250
2016-11-04 11:11:27 -07:00
Angie Chiang d7246171b5 Add helper functions to modify RD_STATS
Those functions includes
init_rd_stats()
invalid_rd_stats()
merge_rd_stats()

This CL help simplify the code.

Change-Id: Id1704d883bd21a039b0478a940994ca14184ae1c
2016-11-04 11:11:27 -07:00
Angie Chiang 394c337754 Add mi_row and mi_col into mbmi to facilitate rd_debug process
Change-Id: Ia69f13c47f2dd34fabd220652691049166a06a68
2016-11-04 11:09:24 -07:00
Angie Chiang d402282f69 Add token cost comparison in write_modes_b()
This is just partial implementation
Compare token cost of pack_mb_tokens/pack_txb_tokens with token cost
from rate-distortion loop. If there is any difference, dump out mode
info.

Change-Id: I46b373ee2522c5047f799f36baf7cec5fbc06f06
2016-11-04 11:09:24 -07:00
Jingning Han 4be3214fec Merge "Properly schedule the transform block recursion order" into nextgenv2 2016-11-04 17:53:53 +00:00
Jingning Han 641b1ad5ad Clean up write_tx_type()
Remove repeated mbmi->tx_size calls.

Change-Id: I3e4e03b69b2efffd860cc1ea34e150f4257bf081
2016-11-04 10:36:20 -07:00
Jingning Han ab7163db08 Refactor tx_type reader
Factor out common codes. Remove repeated mbmi->tx_size calls.

Change-Id: Id5de35e88f1a5f16223eaa06fc2c9f69124061ef
2016-11-04 10:35:34 -07:00
Jingning Han 2a4da9476b Factor out common tx_type writing codes from inter/intra frame
Change-Id: Id2626bd19db2504756d9a1dee709c2d08c79f771
2016-11-04 10:33:12 -07:00
Yue Chen 95a3898cbd Merge "Remove duplicated variables in EXT_INTER" into nextgenv2 2016-11-04 17:11:08 +00:00
Jingning Han 98d6a1f247 Properly schedule the transform block recursion order
This commit replaces the offset based block index calculation with
incremental based one. It does not change the coding statistics.

Change-Id: I3789294eb45416bd0823e773ec30f05ed41ba0dc
2016-11-04 09:06:49 -07:00
Jingning Han 137b2671eb Fix format issue in handle_inter_mode()
Change-Id: I681fd799cf46991de419cc867ccb649a6990c19d
2016-11-04 08:31:24 -07:00
Debargha Mukherjee 68d695b7ca Merge "Further work on 64x64 fwd/inv transform support" into nextgenv2 2016-11-04 09:32:07 +00:00
Angie Chiang e89ea0ceb7 Merge "Refactor: Replace rate dist sse skip by RD_STATS in VAR_TX" into nextgenv2 2016-11-04 05:42:59 +00:00
Debargha Mukherjee 21378b8ad0 Merge "Fix bilateral filter asan error for highbitdepth" into nextgenv2 2016-11-04 05:25:49 +00:00
James Zern 5d54c175c2 warped_motion.c: delete unused filter_4tap[]
Change-Id: I139808f492a9e9dcac44a36237b61231ede7edc3
2016-11-03 20:12:20 -07:00
James Zern 4846e446c6 warped_motion.c: quiet float-conversion warnings
Change-Id: I3d97d8db51a5a5d6b2c1cae47492b53ab37100a7
2016-11-03 20:11:06 -07:00
James Zern 005ff81598 Merge "warped_motion: Fix ubsan warning for signed integer overflow" into nextgenv2 2016-11-04 00:58:07 +00:00
James Zern 9371394492 Merge "Fix ubsan divide by zero warning in ransac" into nextgenv2 2016-11-04 00:56:23 +00:00
Sarah Parker db92635745 warped_motion: Fix ubsan warning for signed integer overflow
Change-Id: Ie698aa02ef56128759c71079e9bfa1af25149644
2016-11-04 00:54:25 +00:00
Angie Chiang b5dda4887b Refactor: Replace rate dist sse skip by RD_STATS in VAR_TX
This is to facilitate implementation of rd_debug tool; it doesn't change
coding behavior.

Change-Id: I0eb82b31473883ba6652ed11dca09b9ec4530183
2016-11-03 17:51:26 -07:00
Debargha Mukherjee c57924cb9e Fix bilateral filter asan error for highbitdepth
BUG=webm:1334

Change-Id: I5886eec0a22a8cc056e1bdb493d2faf183816656
2016-11-03 16:23:09 -07:00
James Zern 97a2c675e7 Merge "rdopt,global-motion: Fix -1 indexing ubsan warning" into nextgenv2 2016-11-03 22:59:34 +00:00
Sarah Parker 182953b299 rdopt,global-motion: Fix -1 indexing ubsan warning
Change-Id: I1b3caf3543ab385f39f5f253c9949ad89ea5af7d
2016-11-03 22:58:47 +00:00
Yue Chen 9d3e478e72 Remove duplicated variables in EXT_INTER
Introduced by merge commit 141f7a9

Change-Id: Idd68e09a6cd925d97466eabebe0e4905b5031340
2016-11-03 15:12:42 -07:00
Sarah Parker b60c138cdf Merge "Make inline function static to fix clang compile error" into nextgenv2 2016-11-03 22:09:46 +00:00
Alex Converse 9613758e71 Merge "Don't use a TX_SIZE as a TX_TYPE" into nextgenv2 2016-11-03 21:44:21 +00:00
Debargha Mukherjee 6a47cff882 Further work on 64x64 fwd/inv transform support
For higher level fwd and inv transform functions.

Change-Id: I91518250a0be7d94aada7519f6c9e7ed024574fb
2016-11-03 14:32:54 -07:00
Sarah Parker fa75ae0663 Fix ubsan divide by zero warning in ransac
Change-Id: I8c736ff665a27ce8307fd62571b9728333756d7e
2016-11-03 13:03:45 -07:00
Debargha Mukherjee d65708a375 Merge "Replace hard coded numbers with TX_SIZES macro" into nextgenv2 2016-11-03 19:59:10 +00:00
Jingning Han a504e77a98 Merge "Fix txb_w/h use case in av1_tx_block_rd_b()" into nextgenv2 2016-11-03 19:31:48 +00:00
Yaowu Xu 565f788de9 Merge "fix build issue with --enable-delta-q" into nextgenv2 2016-11-03 18:45:57 +00:00
Tristan Matthews d2efc6e72a Use correct index variable.
Regression from commit 0929da52d9.

Change-Id: Ib9a9c903ba334c17023e898ce6eb4ff73bdf1389
2016-11-03 14:24:05 -04:00
Sarah Parker fb3971e55a Make inline function static to fix clang compile error
Change-Id: I0432b8274a2764ba978dd6c4ed532fb7e4b7b519
2016-11-03 10:50:50 -07:00
Alex Converse f0ede18718 Don't use a TX_SIZE as a TX_TYPE
Change-Id: I26b02e6578ad2d82aadfe1df2aeb84e6c11a747b
2016-11-03 10:28:05 -07:00
Jingning Han 4b47c937d0 Fix txb_w/h use case in av1_tx_block_rd_b()
Match them with block_row/col index.

Change-Id: Idf0f924a093e5312b0a36b765d295e52d033eb5a
2016-11-03 09:20:08 -07:00
Yaowu Xu 5bb8f5b705 fix build issue with --enable-delta-q
BUG=webm:1330

Change-Id: I120ce8ea3581018b232b19ca7ffbb07d3e99d8d0
2016-11-03 09:03:39 -07:00
Debargha Mukherjee e04fdb2308 Replace hard coded numbers with TX_SIZES macro
Replaces a couple of hard coded numbers with TX_SIZES macro
in common/reconiontra.c

Change-Id: I8a2a53ca16bc3ab51409cec340bea55292ff2dee
2016-11-03 08:51:42 -07:00
Jingning Han 1b5bbf8e97 Merge "Refactor recursive transform block partition search" into nextgenv2 2016-11-03 15:41:57 +00:00
Jingning Han 07cfa29031 Merge "Make bit-stream support rectangular tx_size" into nextgenv2 2016-11-03 15:41:46 +00:00
Yaowu Xu c1ca945ce5 Merge changes from topic 'update_dering' into nextgenv2
* changes:
  Reformatting the deringing code
  Introducing OD_DERING_SIZE_LOG2 constant (3)
  Renaming deringing blockwise write-back functions to make code clearer
  Deringing refactoring: replace last_sbc with simpler dering_left flag
  Getting rid of the od_dering_in type
2016-11-03 14:03:25 +00:00
Yaowu Xu 7036aee1a4 Merge "Refactoring deringed block list code" into nextgenv2 2016-11-03 13:48:58 +00:00
Yaowu Xu 71c72561fa Merge "Deringing line buffer no longer depends on holding OD_DERING_VERY_LARGE" into nextgenv2 2016-11-03 05:02:32 +00:00
Jingning Han e60d3294ea Merge "Make recursive txfm encoding process support rectangular tx_size" into nextgenv2 2016-11-03 04:36:55 +00:00
Jingning Han 141f7a9757 Merge "Fix a merge bug between dual_filter and sub8x8mc" into nextgenv2 2016-11-03 01:06:39 +00:00
Jingning Han 1e477f9833 Merge "Remove redundant experimental flags from common_data.h" into nextgenv2 2016-11-03 01:04:45 +00:00
Jingning Han 18482fe32d Refactor recursive transform block partition search
This commit refactors the recursive transform block partition
search process to make it support rectangular transform block size
coding.

Change-Id: I0207ae40d83c7eae3cb5d460e403f470747590d3
2016-11-02 17:03:09 -07:00
Jingning Han f64062f36f Make bit-stream support rectangular tx_size
Allow the transform size writing, reading, and the reconstruction
process to support rectangular transform block size coding.

Change-Id: I57393c73ec60835a088d785ca838d7e3d7eb29a4
2016-11-02 16:24:20 -07:00
Jean-Marc Valin 39d92a071d Reformatting the deringing code
Manally removed the "clang-format off" lines. The rest is done by clang

Change-Id: I88a2028b55a541729b4e8896cdf66b544e9898bb
2016-11-02 15:51:00 -07:00
Jean-Marc Valin e04650347c Refactoring deringed block list code
Using a struct named dlist rather than an array named bskip. Simplified some
code.

No change in output

Change-Id: Id40d40b19b5d8f2ebafe347590fa1bb8cb80e6e1
2016-11-02 15:51:00 -07:00
Jean-Marc Valin 01b7780154 Deringing line buffer no longer depends on holding OD_DERING_VERY_LARGE
The OD_DERING_VERY_LARGE values are now explicitly copied to the buffer instead
of being read from the line buffer when we're on the edge of the frame. This
will make it possible to make the line buffer 8-bit for non-high-bitdepth.

No change in output

Change-Id: I1a4134d67ac7f8c239f08d73941405c56f01050b
2016-11-02 15:51:00 -07:00
Jean-Marc Valin e254241ce7 Introducing OD_DERING_SIZE_LOG2 constant (3)
Also cleans up the size of the deringing destination buffer.

No change in output.

Change-Id: I7fc50d862d3906ce809c1031bf0789acdf39cf34
2016-11-02 15:51:00 -07:00
Jean-Marc Valin 58fdec2cbf Renaming deringing blockwise write-back functions to make code clearer
No change in output.

Change-Id: Ifa5df3adce9f24ef6dcd89a5f33a744bfb57194d
2016-11-02 15:51:00 -07:00
Jean-Marc Valin 3544d15130 Deringing refactoring: replace last_sbc with simpler dering_left flag
No change in output.

Change-Id: I1cc2e14b2bb6c343baa7f88348c875085e5863af
2016-11-02 15:51:00 -07:00
Jean-Marc Valin 39ee109333 Getting rid of the od_dering_in type
We no longer need the deringing code to be generic wrt the input depth.

No change in output.

Change-Id: I2db2beb82f1816e611cd2c0438dff217d363de33
2016-11-02 15:51:00 -07:00
Jingning Han fee498255d Merge "Remove unused get_intra/inter_scan() from scan.h" into nextgenv2 2016-11-02 22:50:59 +00:00
Jingning Han 1a0faab642 Merge "Remove redundant config flags from get_entropy_context" into nextgenv2 2016-11-02 22:50:49 +00:00
Jean-Marc Valin d95322a35c Now using a single line buffer
No change in output.

Change-Id: I4701a5517fb97889f970acfb0b44cee51c34fd95
2016-11-02 22:50:10 +00:00
Jean-Marc Valin 621e707259 Only copy data from deringed blocks to the line buffer
No change in output

Change-Id: I6ec4a8c635337562170153585e427afd6f9d9a0f
2016-11-02 22:49:54 +00:00
Jean-Marc Valin 50bb32ec87 Splitting out 8->16 block copy code into copy_sb8_16()
No change in output.

Change-Id: I4f0e37a879432e2647b3debe6a2c0c670a79dd6f
2016-11-02 22:49:39 +00:00
Jean-Marc Valin 39b0d2fb14 Eliminate the big superblock row buffer.
Now only buffering three lines across the entire frame and four lines
over the height of one superblock.

No change in output.

Change-Id: I6b99399974e197dc02f2e4ff2e60cdd7fdaa2e43
2016-11-02 22:48:47 +00:00
Jean-Marc Valin b154a24283 Making deringing buffer only one row of superblocks at a time
This introduces a line buffer that hold the last three lines of each original
row so that the next row can be deringed with the original input of the upper
row.

No change in output

Change-Id: I8fad3bc48745e9ce3e440289f453477a0c5442c0
2016-11-02 22:48:19 +00:00
Jingning Han a9336328d4 Make recursive txfm encoding process support rectangular tx_size
This commit makes the encoding process of the recursive transform
block partition support both rectangular and square transform block
sizes as the starting point. If the coding block size is rectangular,
it would allow the transform block size to start from the largest
rectangular transform size, and recursive parse to the selected
coding sizes.

Change-Id: I576628b9166565bada6a918f0a1e67849dfef4cd
2016-11-02 15:48:07 -07:00
Jean-Marc Valin ca1eb5dc58 Duplicating deringing input superblock copy to make upcoming changes easier
No change in output

Change-Id: Iaa06043dcc31308c83f667424e5a83c2db50ed24
2016-11-02 22:46:53 +00:00
Jean-Marc Valin 8e941780be Using a uniform definition for "bsize" in deringing filter
No change in output

Change-Id: Ia3a1679aa75cb58f4bc6459791e061176eeafd52
2016-11-02 22:46:27 +00:00
Jean-Marc Valin eab77ea936 Using the copied input for od_dir_find8()
No change in output

Change-Id: Iec1411c35bf175a462eade34e89a4c60eb2a1da4
2016-11-02 15:41:01 -07:00
Yaowu Xu 6285c6674d Merge "Increase deringing horizontal padding to 4 pixels on each side" into nextgenv2 2016-11-02 22:37:39 +00:00
Jean-Marc Valin 471687a9ac Increase deringing horizontal padding to 4 pixels on each side
This makes vectorization easier by having buffer lines be a multiple of 4.

No change in output

Change-Id: I7ec06e03a49554206af0a55aab03daccc411b50f
2016-11-02 22:37:35 +00:00
Yaowu Xu 4cb9a620db Merge "De-sparsifying the deringing output buffer" into nextgenv2 2016-11-02 22:35:05 +00:00
Jean-Marc Valin 82c65fc837 De-sparsifying the deringing output buffer
No change in output

Change-Id: I940203975564aedca8734d6f74b013edb513f517
2016-11-02 22:35:00 +00:00
Yaowu Xu 44f3587459 Merge "No need to store the deringing filter direction variance in an array" into nextgenv2 2016-11-02 22:34:46 +00:00
Jingning Han 46003149e5 Fix a merge bug between dual_filter and sub8x8mc
The function module in inter_predictor() has been changed to
universally support arbitrary block size inter prediction. Hence
sub8x8mc can be a standalone experiment now.

Change-Id: Ie9d87f61fc317b1d114edb4e0bf5544f918ed08e
2016-11-02 14:57:11 -07:00
Jingning Han d611808324 Remove redundant experimental flags from common_data.h
No coding statistics change.

Change-Id: I88cbb828308b5796a2e87079c2f1bf0dabd99a11
2016-11-02 14:51:23 -07:00
Jingning Han c104b8f269 Merge "Support rectangular tx_size in the common lib" into nextgenv2 2016-11-02 21:49:41 +00:00
Jingning Han e714e70f77 Merge "Support rectangular transform block units in the codebase" into nextgenv2 2016-11-02 21:49:18 +00:00
Jingning Han a834925778 Merge "Make highbd rectangular transform block available in the common lib" into nextgenv2 2016-11-02 21:49:07 +00:00
Jean-Marc Valin 643902d621 No need to store the deringing filter direction variance in an array
No change in output

Change-Id: Ifa5c5d4ed33ff11ea3c56ee5d559c7a40599b3dc
2016-11-02 13:15:42 -07:00
Sarah Parker fcb2ca6eda Merge "Fix ubsan left shift warnings in warped motion library" into nextgenv2 2016-11-02 19:45:45 +00:00
Jingning Han 653102ab1c Remove unused get_intra/inter_scan() from scan.h
Change-Id: I96fc1da1ce56593ae35ebbc93a668e4ba241234a
2016-11-02 12:00:51 -07:00
Jingning Han 8b5380ac77 Remove redundant config flags from get_entropy_context
The rectangular transform syntax is by default supported, hence
no need to put it under the experimental flag. This does not change
the coding statistics.

Change-Id: I3a147503d973a03400f8a86e11f07c7d754e6234
2016-11-02 11:48:39 -07:00
Jingning Han 9fe31390ca Support rectangular tx_size in the common lib
Change-Id: I4128ab932a967a3d657bb1f95f0fa2af20a06469
2016-11-02 11:48:31 -07:00
Jingning Han 4ba26dc0e1 Support rectangular transform block units in the codebase
Change-Id: I9183851258478a36dc5a4ad2d4faa3d3c8b18bd3
2016-11-02 11:47:48 -07:00
Jingning Han 5238e6eaee Make highbd rectangular transform block available in the common lib
Change-Id: Ief08b23b30b78d640f6d7c702145e5bcf1b37b57
2016-11-02 11:47:48 -07:00
Debargha Mukherjee deef66db01 Merge "Adding 64x64 forward and inverse transforms" into nextgenv2 2016-11-02 18:40:55 +00:00
Yaowu Xu 1af3d51685 Merge changes I313bde67,I2ddc2d70,Ifb9094c3,I9051ed6e,I5681e332, ... into nextgenv2
* changes:
  Avoid the "initial copy" in the deringing filter
  Only copy the deringed blocks back into the buffer
  Reducing copies in deringing filter
  sb_all_skip_out() now computes a list of deringed blocks
  compute bskip as we go
  Revert "Fix dering filter when using 4:2:2 or 4:4:0 subsampling"
2016-11-02 18:02:56 +00:00
Debargha Mukherjee 67d134772c Adding 64x64 forward and inverse transforms
Change-Id: I213f3111fc0656aecd1303a8b871ecded2b92bc2
2016-11-02 09:48:46 -07:00
Zoe Liu bd163bc199 Merge "Make a small code clean on handle_inter_mode()" into nextgenv2 2016-11-02 16:39:36 +00:00
Jingning Han 6a503e4110 Merge "Make rectangular transform block available in the common lib" into nextgenv2 2016-11-02 16:17:00 +00:00
Jingning Han f8a29663be Merge "Simplify tx_size enums" into nextgenv2 2016-11-02 16:16:50 +00:00
Jean-Marc Valin bcf3580b1e Avoid the "initial copy" in the deringing filter
No change in output

Change-Id: I313bde67e59835f88e3b2e6079b0df2d7ed1a903
2016-11-02 08:23:04 -07:00
Jean-Marc Valin 7618daa555 Only copy the deringed blocks back into the buffer
No change in output

Change-Id: I2ddc2d70c6534e7cfd315d66e838410677f91356
2016-11-02 08:22:58 -07:00
Jean-Marc Valin cf23aefab5 Reducing copies in deringing filter
Only copy the modified pixels from the first filter back into the input of the
second filter.

Change-Id: Ifb9094c33c876a8c6caa0f68771fc7ef59c78b53
2016-11-02 08:22:51 -07:00
Jean-Marc Valin 3e44bccb50 sb_all_skip_out() now computes a list of deringed blocks
No change in output

Change-Id: I9051ed6e1fbca7d80412ba2b53f7aacbc3ef70eb
2016-11-02 08:22:45 -07:00
Jean-Marc Valin 71466d2288 compute bskip as we go
Change-Id: I5681e3329ad3677296161de59f5ff1236a14f086
2016-11-02 08:22:38 -07:00
Yaowu Xu 3e90f84a34 Revert "Fix dering filter when using 4:2:2 or 4:4:0 subsampling"
This reverts commit 401204a50b.

Change-Id: Id27eadf679b0df2d2ccfab61155be29979b0b6ba
2016-11-02 08:22:02 -07:00
Jean-Marc Valin 8fce317af1
Reformatting the deringing code
Manally removed the "clang-format off" lines. The rest is done by clang

Change-Id: I88a2028b55a541729b4e8896cdf66b544e9898bb
2016-11-02 02:45:19 -04:00
Jingning Han ec419e0771 Make rectangular transform block available in the common lib
This prepares the integration of rectangular transform block size
with recursive transform block partition system.

Change-Id: Id96aa3790dace15619c665f438241938992d1730
2016-11-01 22:25:54 -07:00
Yaowu Xu f67e5eec8b Merge "Disable upsampled references for resolutions above 1080p." into nextgenv2 2016-11-02 04:28:51 +00:00
Jingning Han aad298ffcf Simplify tx_size enums
Remove redundant experimental flag. This does not change the coding
statistics.

Change-Id: I35b3cb04025c5c2d2744312e5efc00d0473c990d
2016-11-01 21:12:55 -07:00
Yi Luo fb77385fd0 Merge "Remove unused copies of transform related source code" into nextgenv2 2016-11-02 01:43:19 +00:00
Yi Luo 7f6bf9c70d Merge "Hybrid inverse transforms 16x16 AVX2 optimization" into nextgenv2 2016-11-02 01:43:02 +00:00
Jingning Han 9679464e28 Merge "Change TXFM_CONTEXT from TX_SIZE to uint8_t" into nextgenv2 2016-11-02 01:18:19 +00:00
Jingning Han 746e2220b5 Merge "Rework transform block partition context model" into nextgenv2 2016-11-02 01:18:13 +00:00
Thomas Daede a9e96d4000 Disable upsampled references for resolutions above 1080p.
Upsampled references currently increase the size of references by
64 times. This patch limits the memory used by the encoder to
about 3GB when encoding high bit depth content.

This should be re-evaluated in the future, if doing 8-tap
resampling in the motion search becomes reasonably fast, or if
the upsampled references are reduced in size (by omitting some
subpel positions and interpolating them instead).

Change-Id: I6d84ff0d6202ec46f4fa53e268e68aa808e5df85
2016-11-01 17:39:16 -07:00
Urvang Joshi a5b09216b5 Merge "Revert of "Mark bogus palette color probabilities as zero"." into nextgenv2 2016-11-02 00:31:55 +00:00
Jean-Marc Valin ccc86a35ff Introducing OD_DERING_SIZE_LOG2 constant (3)
Also cleans up the size of the deringing destination buffer.

No change in output.

Change-Id: I7fc50d862d3906ce809c1031bf0789acdf39cf34
2016-11-01 23:49:21 +00:00
Jean-Marc Valin fe280130d6 Renaming deringing blockwise write-back functions to make code clearer
No change in output.

Change-Id: Ifa5df3adce9f24ef6dcd89a5f33a744bfb57194d
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 02241a9c4b Deringing refactoring: replace last_sbc with simpler dering_left flag
No change in output.

Change-Id: I1cc2e14b2bb6c343baa7f88348c875085e5863af
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 640e5e0705 Getting rid of the od_dering_in type
We no longer need the deringing code to be generic wrt the input depth.

No change in output.

Change-Id: I2db2beb82f1816e611cd2c0438dff217d363de33
2016-11-01 23:49:21 +00:00
Jean-Marc Valin cd669728ad Refactoring deringed block list code
Using a struct named dlist rather than an array named bskip. Simplified some
code.

No change in output

Change-Id: Id40d40b19b5d8f2ebafe347590fa1bb8cb80e6e1
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 00f3f72b35 Deringing line buffer no longer depends on holding OD_DERING_VERY_LARGE
The OD_DERING_VERY_LARGE values are now explicitly copied to the buffer instead
of being read from the line buffer when we're on the edge of the frame. This
will make it possible to make the line buffer 8-bit for non-high-bitdepth.

No change in output

Change-Id: I1a4134d67ac7f8c239f08d73941405c56f01050b
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 6adbee68ae Now using a single line buffer
No change in output.

Change-Id: I4701a5517fb97889f970acfb0b44cee51c34fd95
2016-11-01 23:49:21 +00:00
Jean-Marc Valin a0e941af3e Only copy data from deringed blocks to the line buffer
No change in output

Change-Id: I6ec4a8c635337562170153585e427afd6f9d9a0f
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 97a0aa2a3e Splitting out 8->16 block copy code into copy_sb8_16()
No change in output.

Change-Id: I4f0e37a879432e2647b3debe6a2c0c670a79dd6f
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 34597756a7 Eliminate the big superblock row buffer.
Now only buffering three lines across the entire frame and four lines
over the height of one superblock.

No change in output.

Change-Id: I6b99399974e197dc02f2e4ff2e60cdd7fdaa2e43
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 9578a6c10f Making deringing buffer only one row of superblocks at a time
This introduces a line buffer that hold the last three lines of each original
row so that the next row can be deringed with the original input of the upper
row.

No change in output

Change-Id: I8fad3bc48745e9ce3e440289f453477a0c5442c0
2016-11-01 23:49:21 +00:00
Jean-Marc Valin d9ff1f586b Duplicating deringing input superblock copy to make upcoming changes easier
No change in output

Change-Id: Iaa06043dcc31308c83f667424e5a83c2db50ed24
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 4fda1e1322 Using a uniform definition for "bsize" in deringing filter
No change in output

Change-Id: Ia3a1679aa75cb58f4bc6459791e061176eeafd52
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 73af26fc84 Using the copied input for od_dir_find8()
No change in output

Change-Id: Iec1411c35bf175a462eade34e89a4c60eb2a1da4
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 5899c2400b Increase deringing horizontal padding to 4 pixels on each side
This makes vectorization easier by having buffer lines be a multiple of 4.

No change in output

Change-Id: I7ec06e03a49554206af0a55aab03daccc411b50f
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 13b775a0e7 De-sparsifying the deringing output buffer
No change in output

Change-Id: I940203975564aedca8734d6f74b013edb513f517
2016-11-01 23:49:21 +00:00
Jean-Marc Valin bc21cb2198 No need to store the deringing filter direction variance in an array
No change in output

Change-Id: I11e9db582df8da1bc8c059c02ff25ea5fe91d27c
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 1eb3b203d8 Avoid the "initial copy" in the deringing filter
No change in output

Change-Id: I313bde67e59835f88e3b2e6079b0df2d7ed1a903
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 6dd5b19615 Only copy the deringed blocks back into the buffer
No change in output

Change-Id: I2ddc2d70c6534e7cfd315d66e838410677f91356
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 2aa216bb0f Reducing copies in deringing filter
Only copy the modified pixels from the first filter back into the input of the
second filter.

Change-Id: Ifb9094c33c876a8c6caa0f68771fc7ef59c78b53
2016-11-01 23:49:21 +00:00
Jean-Marc Valin 76b50a45ce sb_all_skip_out() now computes a list of deringed blocks
No change in output

Change-Id: I9051ed6e1fbca7d80412ba2b53f7aacbc3ef70eb
2016-11-01 23:49:21 +00:00
Jean-Marc Valin b924c09914 compute bskip as we go
Change-Id: I5681e3329ad3677296161de59f5ff1236a14f086
2016-11-01 23:49:21 +00:00
Jingning Han 8b9478af1e Change TXFM_CONTEXT from TX_SIZE to uint8_t
Count the transform block partition context in the unit of pixels.

Change-Id: Ibb66f053526ed347ad0274b78db7ac35cc086b0e
2016-11-01 15:44:26 -07:00
Urvang Joshi eb54e0cde8 Revert of "Mark bogus palette color probabilities as zero".
Reverted commit: f8306bfdc (with some changes).

Reason: This was triggering an assert in debug build because of zero
probability values. So, using an "UNUSED_PROB" macro to replace these to
retain clarity.

Assertion failure can be reproduced as follows:

$ make clean; extra_cflags='-O0 -g -fno-inline' ../../configure
--enable-debug --enable-experimental --enable-palette && make -j 16

$ ./aomenc -D --codec=av1 ~/videos/screen_content_set/gimp.y4m -o
/tmp/foo.webm --tune-content=screen --limit=50

Pass 1/2 frame   50/51      8976B    1436b/f   86169b/s 2902620 us
(17.23 fps)
Pass 2/2 frame   25/0          0B 2933053 us 8.52 fps [ETA  unknown]
aomenc: ../../av1/encoder/cost.c:46: cost: Assertion `prob != 0' failed.
Aborted (core dumped)

Change-Id: I47a76b8f415060909bc8448fae3002857eb61d8e
2016-11-01 15:25:57 -07:00
Yi Luo ea1167c33f Remove unused copies of transform related source code
- Library size reduces: 165 kB, 292 kB (HBD).

Change-Id: I50cb630dde326bd2a28c0db4b7e2d53c2fd94a2a
2016-11-01 15:07:46 -07:00
Jingning Han c8b8936fdc Rework transform block partition context model
This commit allows the partition context model to account for the
maximum transform block size of the coding block.

Change-Id: I22b91e85fff70faa974afd362ce327d3f2eda81d
2016-11-01 15:00:04 -07:00
Zoe Liu 82c8c92cc5 Make a small code clean on handle_inter_mode()
Change-Id: I5fb4898045a481f7996c2ad019d2f741aab08fc7
2016-11-01 14:52:34 -07:00
Thomas Daede f330ca8ca8 Disable upsampled references for resolutions above 1080p.
Upsampled references currently increase the size of references by
64 times. This patch limits the memory used by the encoder to
about 3GB when encoding high bit depth content.

This should be re-evaluated in the future, if doing 8-tap
resampling in the motion search becomes reasonably fast, or if
the upsampled references are reduced in size (by omitting some
subpel positions and interpolating them instead).

Change-Id: I6d84ff0d6202ec46f4fa53e268e68aa808e5df85
2016-11-01 21:45:51 +00:00
Yaowu Xu 57a7baf666 Merge "Fix merge issues related --enable-ec-adapt" into nextgenv2 2016-11-01 21:07:18 +00:00
Yaowu Xu 980eb2e9fa Merge "Change to use correct variable in for-loop" into nextgenv2 2016-11-01 21:07:11 +00:00
Yi Luo 7317200002 Hybrid inverse transforms 16x16 AVX2 optimization
- Add unit tests to verify the bit-exact result.
- User level time reduction (EXT_TX):
    encoder: 3.63%
    decoder: 2.36%
- Also add tx_type=V_DCT...H_FLIPADST SSE2 for 16x16 inv txfm.

Change-Id: Idc6d9e8254aa536e5f18a87fa0d37c6bd551c083
2016-11-01 13:38:20 -07:00
Yaowu Xu 8af861bbf1 Fix merge issues related --enable-ec-adapt
1. Avoid compiler warnings.
2. Enable prob_diff_update() required by update_txfm_probs().

Change-Id: I9081b645c55a8432bdaeb600e9ba901c0d0d96f5
2016-11-01 12:36:04 -07:00
Yaowu Xu ddcdd5b1e5 Merge "Fix a compiler warning with --enable-adapt-scan" into nextgenv2 2016-11-01 18:12:49 +00:00
Yaowu Xu 2ce9707910 Merge "Resolve build issue --enable-aom-qm" into nextgenv2 2016-11-01 18:12:39 +00:00
Yaowu Xu 6043bfdb03 Change to use correct variable in for-loop
Change-Id: I252c2f06dfe256d2d33fd1abc42aaadf50273cc8
2016-11-01 09:54:05 -07:00
Jingning Han ae81f8b2ab Merge "Make txfm_partition_update support rectangular tx_size" into nextgenv2 2016-11-01 16:51:03 +00:00
Jingning Han 2e4f129b42 Merge "Use get_entropy_context() in select_tx_block" into nextgenv2 2016-11-01 16:50:55 +00:00
Yaowu Xu b386f0b762 Fix a compiler warning with --enable-adapt-scan
Change-Id: I93b191a522ed3e3ca9a363beab4292f64e869610
2016-11-01 09:40:12 -07:00
Yaowu Xu a5924740a2 Resolve build issue --enable-aom-qm
Change-Id: I9f52ddb53b39cefd2e0ee7144203e1f3958d01aa
2016-11-01 09:32:03 -07:00
Yaowu Xu fd601e346c Merge "Rename av1_convolve.[hc] to convolve.[hc]" into nextgenv2 2016-11-01 02:25:19 +00:00
Yaowu Xu 0279e91576 Merge "decodemv.c: relocate a function" into nextgenv2 2016-11-01 02:24:51 +00:00
Yaowu Xu 8040aaf9b1 Merge "Fix a bad merge" into nextgenv2 2016-11-01 02:24:38 +00:00
Yaowu Xu 6557ea9fe2 Rename av1_convolve.[hc] to convolve.[hc]
Change-Id: I2047adc4c147201ce0ce3c533fe2861cbff1002c
2016-10-31 17:17:37 -07:00
Jingning Han 7956bd64d7 Make txfm_partition_update support rectangular tx_size
Change-Id: I7d2414a8766141d5109b599271179bc505c772d3
2016-10-31 16:46:30 -07:00
Yaowu Xu b24e115bc6 decodemv.c: relocate a function
Change-Id: I932dd9c8b43a20d248c00847b19dff88e6eb11be
2016-10-31 16:45:37 -07:00
Jingning Han ce059e86fb Use get_entropy_context() in select_tx_block
Replace redundant separate handling to retrieve the context value.

Change-Id: I18dde4599cd08ffe33a78694ec377487609de1b1
2016-10-31 16:27:28 -07:00
Yaowu Xu e86288d2de Fix a bad merge
Change-Id: I4615e8e64d75b1f4277d2221ec94c5d4f1830aa4
2016-10-31 15:56:38 -07:00
Jingning Han e29fc1daef Merge "Refactor max_blocks_wide/high computation" into nextgenv2 2016-10-31 22:20:16 +00:00
Jingning Han 609f5c63ac Merge "Remove unused tx_size tables" into nextgenv2 2016-10-31 22:20:08 +00:00
Jingning Han 6511159787 Merge "Replace get_tx2d_size() with direct tx_size_2d[] table access" into nextgenv2 2016-10-31 22:19:59 +00:00
Jingning Han 6491b97350 Merge "Support rectangular tx_size in recursive txfm syntax coding" into nextgenv2 2016-10-31 22:19:46 +00:00
Yaowu Xu 292bd65510 Merge changes from topic 'fix_ec_adapt' into nextgenv2
* changes:
  Reverse order of CLPF and dering
  Refactor: read_tx_size_probs()
  Fix compiling issues with --enable-ec-adapt
  Fixes compilation error on Windows/Visual Studio
2016-10-31 22:18:52 +00:00
Steinar Midtskogen 5d56f4d69a Reverse order of CLPF and dering
Low latency:
PSNR YCbCr:     -0.15%      0.11%      0.12%
   PSNRHVS:     -0.25%
      SSIM:     -0.26%
    MSSSIM:     -0.26%
 CIEDE2000:     -0.03%

High latency:
PSNR YCbCr:     -0.18%      0.18%      0.07%
   PSNRHVS:     -0.20%
      SSIM:     -0.21%
    MSSSIM:     -0.21%
 CIEDE2000:     -0.03%

Change-Id: Ieb86d9ba353220de6454bdc15cea825944b6385b
2016-10-31 12:50:11 -07:00
Jingning Han f65b870e27 Refactor max_blocks_wide/high computation
Factor common codes that show up in multiple places.

Change-Id: I0a72213a151f74bdad926d59f86f0a28d00968fc
2016-10-31 12:39:36 -07:00
Jingning Han 393a60d208 Remove unused tx_size tables
Change-Id: I04367fb68e8fd027f4b9d945f4001e5ab346d098
2016-10-31 12:39:33 -07:00
Jingning Han 7e9929736c Replace get_tx2d_size() with direct tx_size_2d[] table access
Change-Id: I20040cdb5d9fdbf6c50082e5e17b4cfbd1926b13
2016-10-31 12:39:33 -07:00
Jingning Han 42a0fb369d Support rectangular tx_size in recursive txfm syntax coding
Change-Id: I40aa342ffa5b6effe8b124b94783e5f0bd2f2a81
2016-10-31 12:38:07 -07:00
Jingning Han a98d80fdaa Merge "Use the actual transform block size for loop filter selection" into nextgenv2 2016-10-31 19:09:07 +00:00
Yaowu Xu efc7535beb Refactor: read_tx_size_probs()
Change-Id: Ibdedd9b8e0b6646b882bc159856ac7c7e7073149
2016-10-31 09:46:42 -07:00
Yaowu Xu 750955b4c1 mvref_common.c: apply clang-format
Change-Id: I755bfb11a57e92e3a68855a53e95efe526f198fd
2016-10-31 09:13:53 -07:00
Yaowu Xu 1aceffa06c Fix compiling issues with --enable-ec-adapt
Change-Id: I52e2c84ce43d36f78806c54b214f9e5b07c5f0f5
2016-10-31 09:13:53 -07:00
Yaowu Xu 09a4265725 Merge "simp-mv-pred integration with ref-mv" into nextgenv2 2016-10-30 19:54:41 +00:00
Yaowu Xu aa70234e82 Merge "Fix the top-right reference block location" into nextgenv2 2016-10-30 19:54:23 +00:00
Yaowu Xu ca5e18b750 Merge "Upsample reference frames after size dependent speed features are calculated." into nextgenv2 2016-10-30 19:54:17 +00:00
Yaowu Xu e7a64cc9ec Merge "Let is_interp_needed always return 1" into nextgenv2 2016-10-30 19:53:40 +00:00
Yaowu Xu 02d33bfeeb Merge "Centralize EC_MULTISYMBOL error checking." into nextgenv2 2016-10-30 19:53:29 +00:00
Yaowu Xu a2d2a1858e Merge "EC_ADAPT: refactor and fix MinArfFreq unit tests." into nextgenv2 2016-10-30 17:16:19 +00:00
Yaowu Xu 46fcecc395 Merge "EC_ADAPT: send updates for the correct nodes." into nextgenv2 2016-10-30 17:15:40 +00:00
Yaowu Xu 2ae4214618 Merge "Add ec_multisymbol for common daala_ec and rans code" into nextgenv2 2016-10-30 17:15:28 +00:00
Yaowu Xu cfab447bf8 Merge "Fix ec_adapt+daala_ec test failure" into nextgenv2 2016-10-30 16:22:05 +00:00
Yaowu Xu eaafb17d41 Merge "Add EC_ADAPT experiment for symbol-adaptive entropy coding." into nextgenv2 2016-10-30 16:21:47 +00:00
Deng ca8d24d4e1 simp-mv-pred integration with ref-mv
This commit adds simp-mv-pred experiment. The experiment is to work on
top of ref-mv experiment to save memory bandwidth and reduce the size
of line buffer needed in ref-mv experiment.

When compared to ref-mv, this experiment showed:
low-delay BDR gain: 0.03%
High-delay BDR gain: 0.01%
memory/memory bandwidth saving: 40%
local memory/gate count saving: 20%

Change-Id: Ic4006e041fc58ede411da83d0d730c464ebe1749
2016-10-29 22:26:48 -07:00
Jingning Han ea9cf097c9 Fix the top-right reference block location
This commit fixes the top-right reference block location for block
sizes above 8x8. It improves the coding performance of ref-mv:

lowres 0.08%
midres 0.15%

Thanks to jiafeng@ for finding this issue.

Change-Id: I70750fc7b18bf0126d3e07abc1b63ca5a160193e
2016-10-29 22:26:48 -07:00
Thomas Daede 919bd6abd7 Upsample reference frames after size dependent speed features are calculated.
This prevents a crash if the upsample_refs speed feature is
changed as part of set_size_dependent_vars, when the recode
loop is enabled.

Change-Id: I645e389bfe961879dd2001439a34fde2993868d9
2016-10-29 22:26:48 -07:00
Angie Chiang a69ce1b314 Let is_interp_needed always return 1
This CL will cause
0.122% PSNR drop on lowres dataset
0.059% PSNR drop on midres dataset

However, it will facilitate hardware implementation.

Change-Id: I0a0713acacbfd571509a721337711c021915dd3c
2016-10-29 22:26:48 -07:00
Nathan E. Egge baaaa16186 Centralize EC_MULTISYMBOL error checking.
The EC_ADAPT experiment cannot work unless EC_MULTISYMBOL is also
 enabled.
This patch replaces all individual checks with a centralized check in
 both the bitreader.h and bitwriter.h.

Change-Id: I418852d95c5012cc074ed65cd24997e08bc2aadd
2016-10-29 22:26:27 -07:00
Thomas Davies 6519bebf34 EC_ADAPT: refactor and fix MinArfFreq unit tests.
Ensure that cdfs are synced with pdfs after every
forward update.

Change-Id: I5677f78300156c8622f1728d7a343ff6c3a4ea64
2016-10-29 22:21:32 -07:00
Thomas Davies 09ebbfb39f EC_ADAPT: send updates for the correct nodes.
EOB and ZERO token are not currently adapted.

Change-Id: Ie7d657b71fcb157b09e40874fb06a8b7cd95cc70
2016-10-29 17:05:40 -07:00
Alex Converse aca9feba82 Add ec_multisymbol for common daala_ec and rans code
The new ec_multisymbol experiment supersedes the rans experiment and is
used for multisymbol features that can be backed by either daala_ec or
rans.

This experiment is automatically enabled by ec_adapt and will try to
enable daala_ec or ans (in that order).

Change-Id: Ie75b4002b7a9d7f5f7b4d130c1aacb3dbe97e54f
2016-10-29 17:05:40 -07:00
Alex Converse bc0a5bacb5 Fix ec_adapt+daala_ec test failure
AV1/AqSegmentTest.TestNoMisMatchAQ1/6 was failing with this experiment
pair.

BUG=aomedia:70

Change-Id: I8c53a043471a87a98a06687afce2e28891592362
2016-10-29 17:05:40 -07:00
Thomas 9ac5508f32 Add EC_ADAPT experiment for symbol-adaptive entropy coding.
This experiment performs symbol-by-symbol statistics
adaptation for non-binary symbols. It requires DAALA_EC or
RANS and ANS to be enabled. The adaptation is currently
based on a simple recursive filter and is taken from
Daala. It has an adaptation rate dependent on alphabet size,
taken from Daala. It applies wherever non-binary symbols
are encoded using Cumulative Probability Functions rather
than trees.

Where symbols are adapted, forward updates in the compressed
header are removed.

In the case of RANS coefficient token values are adapted,
with the exception of the zero token which remains a
binary symbol. In the case of DAALA_EC other values
such as inter and intra modes are adapted as CDFs are
provided in those cases.

The experiment is configured with:

./configure --enable-experimental --enable-daala-ec --enable-ec-adapt

or

./configure --enable-experimental --enable-ans --enable-rans \
    --enable-ec-adapt

EC_ADAPT is not currently compatible with tiles.

BDR results on Objective-1-fast give a small loss:

PSNR YCbCr:      0.51%      0.49%      0.48%
PSNRHVS:      0.50%
SSIM:      0.50%
MSSSIM:      0.51%
CIEDE2000:      0.50%

Change-Id: I3888718e42616f3fd87144de7f125228446ac984
2016-10-29 16:57:48 -07:00
Jingning Han ee9264c923 Merge "Replace num_4x4_blocks_txsize_loopup table" into nextgenv2 2016-10-29 23:01:26 +00:00