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

17893 Коммитов

Автор SHA1 Сообщение Дата
Angie Chiang 792519bdef Add av1_fdct64_new and av1_idct64_new
Change-Id: If497816d7f6ee094d40872a2f988c91e90b78d7b
2016-10-18 16:07:56 -07:00
Guillaume Martres 470efbcf01 Remove rd_variance_adjustment
This function is called after `super_block_yrd` and assumes that the dst
buffer is correct but that is no longer always the case after
daf841b4a1 since we don't call
`txfm_rd_in_plane` after the RDO loop in `choose_tx_size_from_rd`.
We could fix this by always saving and restoring the dst buffer but
removing `rd_variance_adjustment` is a better solution:
- Getting the dst buffer always right is tricky as demonstrated by the
  fact that it is wrong now, even if we fix it now we could break it later
  and not notice
- Perceptual weighting is a good idea but `rd_variance_adjustment` is the
  wrong approach as it weights both the rate and the distortion:
  to get meaningful units you should only weight the distortion,
  weighting rate means that we pretend some bits cost less than other
  bits, this is not the case. The distortion weighting approach is
  implemented by Daala in `od_compute_dist` and we plan to experiment
  with this in AV1 too.
- Removing `rd_variance_adjustment` improves coding efficiency on all
  metrics, here are the results for objective-1-fast using the Low
  Latency settings:

      PSNR Y:     -0.14%
     PSNRHVS:     -0.17%
        SSIM:     -0.12%
      MSSSIM:     -0.12%
   CIEDE2000:     -0.07%

Change-Id: I74b26b568ee65f56521646b8f30dd53bcd29fce3
2016-10-18 14:40:15 -07:00
Jingning Han 32658e2ab8 Add cb4x4 experimental flag
Experiment on coding block at resolution of 4x4 block.

Change-Id: I6aa201038f00c590747d800edb0a3e76ab1a51e8
2016-10-18 14:30:51 -07:00
Yushin Cho 40f1d487ad Remove unused PICK_MODE_CONTEXT::is_coded.
Change-Id: Ibc73b4066dcdee45d32355144124762d26a16a28
2016-10-18 12:54:12 -07:00
Urvang Joshi 8a02d76a93 Remove unused array 'last_frame_seg_map_copy'.
This array was allocated and used to save and restore segmentation map,
however the original segmentation map was never modified between the
calls to save and restore.

Change-Id: Iaf0fbfed733c097e84cf44d2aa6b8f35d2fb456b
2016-10-18 12:54:12 -07:00
Jingning Han d98a45a6cc Add sub8x8_mc experimental flag
Change-Id: Ifcc329df240c0771172180933a6180b21fd31abe
2016-10-18 12:54:12 -07:00
Yaowu Xu c2461b5e87 Merge "Remove macroblock::skip_optimize." into nextgenv2 2016-10-18 19:52:50 +00:00
Yaowu Xu be0d933671 Merge "Skip 4x4 transform if maximum possible transform is 32x32" into nextgenv2 2016-10-18 19:52:42 +00:00
Yaowu Xu cb61012305 Merge "Take out some early termination speed features" into nextgenv2 2016-10-18 19:48:46 +00:00
Angie Chiang 8c9893be05 Merge "Add experimental tag for 64x64 transform" into nextgenv2 2016-10-18 19:14:56 +00:00
Yushin Cho e2b403b979 Remove macroblock::skip_optimize.
This is not used since the commint 00cd5de536,
"Remove skip_recode speed feature".

Change-Id: Ic03da6c0095f6285a3889d5d22e8aaa2e6cbfd79
2016-10-18 11:26:11 -07:00
Hui Su eafb2e62ac Skip 4x4 transform if maximum possible transform is 32x32
On average no compression performance changes. Encoding speed is
increased by 10~20% on some test clips in the derf set.

Change-Id: I9856caaa260303f6f6259686671bed7d51012277
2016-10-18 11:26:11 -07:00
Jingning Han 3f16725ff2 Take out some early termination speed features
Drop some speed features used in speed 2 and above, during the
algorithm development process. This helps simplify the codebase.

Change-Id: I3b2f5560d90b00d2d8fd57c2cb36f6ddd3f228e4
2016-10-18 11:26:11 -07:00
Yaowu Xu 8f7b1d3db9 Merge "Move a statement to match order in aom/master" into nextgenv2 2016-10-18 17:58:33 +00:00
Yaowu Xu 31e76edbfe Merge "Remove stale OD_ACCOUNTING code." into nextgenv2 2016-10-18 17:58:13 +00:00
Debargha Mukherjee fe3814846b Add experimental tag for 64x64 transform
Change-Id: I65c04006f6e6eb13ceb22efc1c39915cb3c82b82
2016-10-18 10:24:31 -07:00
Yaowu Xu ee775b13e2 Move a statement to match order in aom/master
Change-Id: Ic11eae36c9c62a20699197847aa3ef9562d4ad7e
2016-10-18 10:00:21 -07:00
Yaowu Xu 85c5566559 Merge "Port aom_reader_tell() support" into nextgenv2 2016-10-18 16:48:57 +00:00
Michael Bebenita 63b44c4c50 Remove stale OD_ACCOUNTING code.
Change-Id: Ie90dd06c387119ccd9c920a328c942477df00bb7
2016-10-18 09:12:06 -07:00
Debargha Mukherjee d8ff1986d4 Merge "Fix for var_tx entropy context with rect_tx" into nextgenv2 2016-10-18 16:03:37 +00:00
Debargha Mukherjee 3f8b5b903f Merge "Correction to costing rect_tx" into nextgenv2 2016-10-18 16:03:18 +00:00
Michael Bebenita 868fc0b04a Port aom_reader_tell() support
This commit ports the following from aom/master:
4c46278 Add aom_reader_tell() support.
b9c9935 Remove an erroneous declaration.
56c9c3b Fix ANS build.

Change-Id: I59bd910f58c218c649a1de2a7b5fae0397e13cb1
2016-10-18 08:50:05 -07:00
Peter de Rivaz 46fcb05fde Fix for var_tx entropy context with rect_tx
This computation should match the code in encode_block
to increase the accuracy of the rd optimization.

Change-Id: Ibc9d9ab6d88d0c0f3af62e9cc233216aba48a57e
2016-10-18 15:38:01 +01:00
Peter de Rivaz b85a5a7eac Correction to costing rect_tx
When built with var_tx and ext_tx, select_tx_size_fix_type is used
to compute the cost for using a particular tx_type.
The code indexes the array inter_tx_type_costs at the wrong location
resulting in a zero cost for signalling tx_type for rect_tx blocks.

Change-Id: Iba38be3a0d822109f778f0600b242dfb40359766
2016-10-18 11:55:36 +01:00
Nathan E. Egge 9ac1f7d770 Create aom_cdf_prob type for 16-bit probabilities.
Change-Id: I33899eca44300037816c9f20c965aa8311a1ef52
2016-10-17 20:22:48 -07:00
Nathan E. Egge 45741e9351 Rename daala_read_tree_cdf() to daala_read_symbol().
Change-Id: I35f85bad88c637cea62577c546cdd5ced0e21bd6
2016-10-17 20:22:19 -07:00
Hui Su abf6fb9967 Merge "Add filter_intra experiment flag" into nextgenv2 2016-10-18 00:54:20 +00:00
Yaowu Xu 40bcdbcf3a Merge "Fix warning when discarding const qualifier." into nextgenv2 2016-10-18 00:50:09 +00:00
Yaowu Xu 65147563a5 Merge "Revert code formatting of OD_UNIFORM_CDFS_Q15." into nextgenv2 2016-10-18 00:49:57 +00:00
Yaowu Xu 9ce9e6d533 Merge "Rename aom_write_tree_cdf() to aom_write_symbol()." into nextgenv2 2016-10-18 00:49:41 +00:00
Yaowu Xu 007fd85007 Merge "Bug fix in super_block_uvrd()." into nextgenv2 2016-10-18 00:49:28 +00:00
Yaowu Xu b44f53ba26 Merge "Display --bit-depth in -h with highbitdepth enabled." into nextgenv2 2016-10-18 00:49:18 +00:00
Yaowu Xu 79644f615e Merge "Update partition_cdf per frame." into nextgenv2 2016-10-18 00:49:05 +00:00
Yaowu Xu 153df29bbf Merge "Update inter_ext_tx_cdf per frame." into nextgenv2 2016-10-18 00:48:53 +00:00
Yaowu Xu a6fa5436ff Merge "Update intra_ext_tx_cdf per frame." into nextgenv2 2016-10-18 00:48:41 +00:00
Yaowu Xu f507ba79fe Merge "Update switchable_interp_cdf once per frame." into nextgenv2 2016-10-18 00:48:26 +00:00
Yue Chen 3fcf53e381 Merge "Refactor motion estimation in MOTION_VAR experiment" into nextgenv2 2016-10-18 00:32:00 +00:00
hui su ffcf4fb788 Add filter_intra experiment flag
Will break ext-intra into 2 experiments: ext-intra and filter-intra.

Change-Id: Ibf66e9b9d9307fd58a703eada9569b74d171434b
2016-10-17 16:17:16 -07:00
Yue Chen e9638ccfff Refactor motion estimation in MOTION_VAR experiment
To get ready for pulling AV1 to nextgenv2. Refactoring is done to
make the code structures similar, especially for the motion search
part.

Change-Id: I5d7636394408d97de55394d668540f5627827983
2016-10-17 12:48:10 -07:00
Nathan E. Egge 19698a7084 Fix warning when discarding const qualifier.
Cherry-pick Daala 211c2a41: Clean up EC tell() and tell_frac() functions.
Add a const qualifier to the od_ec_enc and od_ec_dec parameters of
 the od_ec_enc_tell(), od_ec_enc_tell_frac(), od_ec_dec_tell(), and
 od_ec_dec_tell_frac() functions.
Add an OD_WARN_UNUSED_RESULT to od_ec_enc_tell_frac().

Change-Id: Ia50e2fd75e98d8a03d993449d658b695cf56e6fb
2016-10-17 12:16:27 -07:00
Nathan E. Egge f3035f2bc7 Revert code formatting of OD_UNIFORM_CDFS_Q15.
The formatting of OD_UNIFORM_CDFS_Q15[] in entcode.c is helpful for
 for understanding what is contained in the array (e.g., the uniform
 probability distributions of small sizes 2 through 16).
This patch reverts the change made in f4b2926d and adds linter hints to
 ignore the formatting.

Change-Id: I2ad9fe6673b86e6067cb97b40f0f0e69a119cdf5
2016-10-17 12:16:26 -07:00
Nathan E. Egge 56eeaa5daf Rename aom_write_tree_cdf() to aom_write_symbol().
Change-Id: I7c088c55f1c461063976d5bd84ff2026c4f3bc69
2016-10-17 11:54:51 -07:00
Yushin Cho 09de28b4f7 Bug fix in super_block_uvrd().
In super_block_uvrd(),if is_cost_valid == 0, all return parameters,
i.e. rate, distortion, skippable, and sse, are reset.
So, should not call txfm_rd_in_plane() if is_cost_valid == 0.
Also, the bug causes av1_xform_quant() to see invalid diff signal
since av1_subtract_plane() is not called in super_block_uvrd().

Change-Id: Iaa06061e2e9aa8876b4611a54f4ae6b8d499332b
2016-10-17 11:25:13 -07:00
Nathan E. Egge d1b239c0c3 Display --bit-depth in -h with highbitdepth enabled.
Display the -b --bit-depth command line parameter on of aomenc when
 --config-aom-highbitdepth is enabled.

Change-Id: I76147e38b9985e68b1e642e21be8fd4d8ec4d966
2016-10-17 10:45:24 -07:00
Nathan E. Egge fba2be692f Update partition_cdf per frame.
Move computing the partition_cdf tables per symbol to
 computing them only when the probabilities are updated.

Change-Id: I442f9230ba00be7f5d0558d7c38d7324ad009ee8
2016-10-17 10:21:06 -07:00
Nathan E. Egge 93878c4243 Update inter_ext_tx_cdf per frame.
Move computing the inter_ext_tx_cdf tables per symbol to
 computing them only when the probabilities are updated.

Change-Id: I5e1e62f8eae8f6b2edbbd378beeb786649502c10
2016-10-17 10:20:53 -07:00
Nathan E. Egge 7c5b4c1665 Update intra_ext_tx_cdf per frame.
Move computing the intra_ext_tx_cdf tables per symbol to
 computing them only when the probabilities are updated.

Change-Id: I26d5e419e103093e98a7d896c196176305b50fc9
2016-10-17 08:47:02 -07:00
Nathan E. Egge 4947c296f7 Update switchable_interp_cdf once per frame.
Move from computing the switchable_interp_cdf per symbol to
 computing once per frame when the probabilities are adapted.

Change-Id: I6571126239f0327e22bb09ee8bad94114291683e
2016-10-17 08:44:57 -07:00
Yaowu Xu 5cb0a7abc9 Replace {} with continue
Change-Id: I2e939e898cc30c2999b47f2789191e08272b1cc0
2016-10-17 08:12:18 -07:00
Yaowu Xu 2bdb9e6344 Merge changes Ie43c599f,Icd0dbed4,Ic04e180b into nextgenv2
* changes:
  Move av1_indices_from_tree() to common code space.
  Add code to compute in-order mappings for tokens.
  Fix bug in av1_tree_to_cdf_2D() macro.
2016-10-14 23:46:48 +00:00