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

15478 Коммитов

Автор SHA1 Сообщение Дата
Yue Chen e25ccffcef Adding the config tag for the OBMC experiment
obmc: We add an obmc prediction mode at superblock level.
When it is enabled, predictors of the above and left blocks
are used to refine the regular block-based motion compensation.

Change-Id: I6310104ea3dfece16d736351e368861471dd1c9b
2016-02-10 15:58:08 -08:00
hui su 5a7c8d8c1d Refactor rd_pick_intra_angle_
Change-Id: I6c78188bdedb52655678c63f6a767567b256a880
2016-02-10 15:41:04 -08:00
Angie Chiang c0035cc480 Refactor: add predict_interp_filter() to
simplify the flow in handle_inter_mode

Change-Id: Ic7934c0a5d0a79bdf546b4d2d106035449b475a6
2016-02-10 15:32:10 -08:00
Marco acc592b35a vp9 resize_test: Enable resize_allowed in real-time ExternalResize test.
For dynamic resizing (whether the new codec size is determined internally
or externally set by user), we should for now keep rc.resize_allowed enabled.
This prevent the use of referene_masking for real-time mode
(in set_rt_speed_feature()).

Change-Id: Ibb7c3ff35be88afdf1a3c6db6693521766f177a3
2016-02-10 15:23:27 -08:00
hui su 329e340dc5 Add a speed feature to skip transform type selection
Setting FIXED_TX_TYPE as 1 makes the encoder skip tx_type search,
about twice as fast.

This speed feature is off by defualt; we can turn it on when we
want to quickly test new ideas.

Change-Id: Ieab5807d17fcd54fce3e8ae2f59a18b42eb79408
2016-02-10 15:11:01 -08:00
Yaowu Xu 6eaca90d65 Merge "Add a test for VPXSSIM computation for HBD inputs" into nextgenv2 2016-02-10 22:50:41 +00:00
Angie Chiang ed5a6bd947 Merge "fix range_check error in vp10_[fwd/inv]_txfm1d.c" into nextgenv2 2016-02-10 21:21:57 +00:00
Yaowu Xu 988f27bfcf Add a test for VPXSSIM computation for HBD inputs
Change-Id: I61dc0f43d073b62d0eab8cd7471c2d76e03379bf
2016-02-10 12:49:19 -08:00
Scott LaVarnway 0ae42ee1bd VP9: Pass NULL scale_factors ptr when not scaling
to vp9_setup_pre_planes(), preventing the function
unscaled_value() from being called.  unscaled_value()
returns the same value that was passed in.  See
scaled_buffer_offset() in vp9_reconinter.h.

Change-Id: I2a6fbaf07972c2f212834929d29a2cbe72e399c3
2016-02-10 11:43:23 -08:00
Jingning Han 3c8bd0d3de Merge "Resolve conflict between var-tx and super-tx" into nextgenv2 2016-02-10 18:54:21 +00:00
Jingning Han 4c6c82a2e8 Resolve conflict between var-tx and super-tx
This commit aligns the rate-distortion metric for the recursive
transform block partitioning and the super transform. It resolves
the conflicts between these two experiments. The coding performance
gains of the combined experiments (var-tx + super-tx) has been
improved:

derf   0.89%  ->  1.9%
hevcmr 1.06%  ->  1.8%
stdhd  0.29%  ->  1.4%
hevchr 0.80%  ->  2.3%

Change-Id: I7e33994ad70c1b2751435620815f867d82172f41
2016-02-10 09:36:40 -08:00
Jingning Han ba1bed68ec Merge "Remove redundant void statement" into nextgenv2 2016-02-10 16:50:18 +00:00
Jingning Han 32a6a55b66 Merge "Replace arbitrary number with defs" into nextgenv2 2016-02-10 16:50:05 +00:00
Jingning Han 260da6ca8d Merge "Entropy coding for dynamic ref mv modes" into nextgenv2 2016-02-10 16:49:46 +00:00
Geza Lore fd5463571e Fix double counting of compound reference bit cost.
These costs are added in separately just before the computed
ref_costs_* are added in the calling functions, so they were
effectively double counted.

Change-Id: Ic941d0243460cc2e750791cfc508e97d8b90e8fd
2016-02-10 13:37:31 +00:00
Scott LaVarnway ad08e0875b Merge "VP9: Refactor read_inter_block_mode_info() -- 2" 2016-02-10 12:59:41 +00:00
Jingning Han 875da8c666 Remove redundant void statement
Change-Id: Ia9ccba156a8a3ada6928be53eb6258fb68b6c9f1
2016-02-09 21:27:13 -08:00
Jingning Han 6d5d4395b5 Replace arbitrary number with defs
Change-Id: Ia5a68f26c67d13d3f2dd3b3f8afabb781e2c8f73
2016-02-09 21:27:13 -08:00
James Zern 1aac02247f Merge "intrapred/d135: flatten border results before storing" 2016-02-10 02:41:31 +00:00
James Zern 31a31272cd Merge "vp8: fix build with mingw+pthreads" 2016-02-10 02:40:13 +00:00
Alex Converse 0091fef7a2 Merge "Restore previous motion search bit-error scale." 2016-02-10 01:21:01 +00:00
Angie Chiang f98565755a fix range_check error in vp10_[fwd/inv]_txfm1d.c
Change-Id: I7a810323fc33fb6d373c3f5bb4d5d0d33170948c
2016-02-09 16:01:11 -08:00
Angie Chiang 7a8c7853c1 Remove C99 struct init syle in fwd/inv config
Change-Id: Ieeb458353af6c903445518eef60328c62ca5c741
2016-02-09 15:38:27 -08:00
Scott LaVarnway 2d040dd68c VP9: Refactor read_inter_block_mode_info() -- 2
Change-Id: I96d4764523b8d634eafb4cb3ed6eb3aee4052573
2016-02-09 15:36:01 -08:00
Jingning Han 14a7aada68 Merge "Fix partition type costing." into nextgenv2 2016-02-09 22:31:14 +00:00
Alex Converse fac947df77 Restore previous motion search bit-error scale.
The bit to error transformation got doubled as a result of going from
8-bit to 9-bit costs (change d13385c).

Use defines to derive the scale numbers and comment some of the fields.

derf: -0.023 BDRATE
hevcmr: +0.067 BDRATE
stdhd: +0.098 BDRATE
(These are substantially smaller than than the original gains from 8 to
9 bit costing.)

Change-Id: I6a2b3b029b2f1415e4f90a05709b2333ec0eea9b
2016-02-09 13:20:25 -08:00
Marco f288c943c4 vp9-dynamic resize: Fix bug on releasing scaled reference.
When the codec frame size is the same as the reference frame size,
release the scaled reference before assigning it a new buf_idx.
Only affects 1 pass non-svc mode, where the scaled references are
release only under certain conditions (to prevent un-needed scaling
of the references every frame).

Modified a unittest that can trigger this bug without this change.

https://code.google.com/p/chromium/issues/detail?id=582598

Change-Id: I9a884e36ebd7608b1641ec2a469e20a4f829cf43
2016-02-09 11:10:28 -08:00
Marco aff0a802e7 vp9-aq-mode=3: Reset cyclic refresh under config/external size change.
If the application changes frame size (external size changes),
and aq-mode=3 is on, reset the cyclic refresh.

Modify the TestExternalResize unittest (longer run with more resize
actions). Without this change an assert would be triggered on this
longer test.

Change-Id: I0eefd2cd7ffa0c557cca96ae30d607034a2599ce
2016-02-09 10:10:36 -08:00
Debargha Mukherjee 34aa5e1d21 Merge "A variety of fixes for supertx/var-tx rd costing" into nextgenv2 2016-02-09 17:16:23 +00:00
Yaowu Xu bb8eebc0e0 Merge "Set use_highbitdepth flag to either 1 or 0" 2016-02-09 16:57:28 +00:00
Scott LaVarnway 29e211886f Merge "BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'" 2016-02-09 14:52:04 +00:00
Geza Lore 4ac6727438 Fix partition type costing.
This patch makes rd optimization use the same context for computing
the rate cost of coding the partitioning as the packer actually uses
when emitting it in write_modes_sb.

Change-Id: Idb1427bb2f9c37ab80c6aa182f7ff754ef0595cb
2016-02-09 10:36:53 +00:00
Debargha Mukherjee e2c1ea9422 A variety of fixes for supertx/var-tx rd costing
Change-Id: I8a3d59378abb1dfa4e614b2975c2db05d4224bd5
2016-02-08 21:46:08 -08:00
Yaowu Xu 27bd9939a3 Merge "Fix a bug in HBD buffer size computation" into nextgenv2 2016-02-09 04:40:46 +00:00
Yaowu Xu 5c327cb450 Set use_highbitdepth flag to either 1 or 0
This reduces the buffer allocation size for high bit depth buffers by
more than 70%.

Change-Id: Iab9007d9684e8ac30ce7fa94e61f038f01792fc5
2016-02-08 20:30:50 -08:00
Yaowu Xu bb5f9e431f Fix a bug in HBD buffer size computation
The value of use_highbitdepth flag is used for compute the size for
high bit depth buffer allocation, which should take value 0 or 1
depending on if the buffer is used for high bit depth or not.
Previously, the values is set to 8 or 0, this commit fixes the issue
and properly set the value for this flag to 1 or 0.

This cuts the size of highbitdepth buffer memory allocation to 2/9 of
the size prior to the fix.

Change-Id: I401518b5a6147e5d8a973e54f7ca6bc1892065e0
2016-02-08 18:52:08 -08:00
Jingning Han 4958987b2a Entropy coding for dynamic ref mv modes
This commit enables entropy coding for dynamic reference motion
vector modes. The probability model is contexted on the ranking
categories of the reference motion vector candidates.

Change-Id: I09b58d98a409d63ec1a407331e29f8945b7ef17d
2016-02-08 17:05:24 -08:00
Debargha Mukherjee d46c1f2349 Explicitly set tx_type for sub8x8 blocks
Fixes an issue where the tx_type was not set correctly for
sub8x8 inter and intra blocks. In the current syntax, for
sub8x8 blocks, there is still a single tx_type that is
transmitted. Ideally, this should be searched for the best
rd performance, albeit at the expense of encode speed.
For now, we just set it to DCT_DCT. Previously it was left
incorrectly as what was used for the previous non sub8x8
block.

derflr: BDRATE -0.277%

Change-Id: If76ba903bfbfd4d374cf1ac7d1daee50e92f0edd
2016-02-08 16:22:25 -08:00
Debargha Mukherjee f28ea3e830 Explicitly set tx_type for sub8x8 blocks
Fixes an issue where the tx_type was not set correctly for
sub8x8 inter and intra blocks. In the current syntax, for
sub8x8 blocks, there is still a single tx_type that is
transmitted. Ideally, this should be searched for the best
rd performance, albeit at the expense of encode speed.
For now, we just set it to DCT_DCT. Previously it was left
incorrectly as what was used for the previous non sub8x8
block.

derflr: BDRATE -0.277%

Change-Id: If76ba903bfbfd4d374cf1ac7d1daee50e92f0edd
2016-02-08 16:11:53 -08:00
Jingning Han afd73539bb Merge "Enable dynamic ref motion vector mode for compound inter block" into nextgenv2 2016-02-09 00:04:36 +00:00
Yaowu Xu 1c8fa6a5ca Merge "Change to use local variables consistently" into nextgenv2 2016-02-08 23:58:23 +00:00
Yaowu Xu f8cd25df1d Merge "Remove a flavor of SSIM that is never really used." into nextgenv2 2016-02-08 23:39:04 +00:00
Yaowu Xu ff70d988c6 Merge "Set a max dB value for PSNR_HVS and FAST_SSIM" into nextgenv2 2016-02-08 23:38:58 +00:00
Yaowu Xu 78bca69138 Merge "Fix msvc compiler warnings" into nextgenv2 2016-02-08 23:38:48 +00:00
Yaowu Xu e76714f4eb Merge "Normalize fdct8x8 in psnrhvs computation" into nextgenv2 2016-02-08 23:38:41 +00:00
Scott LaVarnway 0840c6fb8f BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'
See https://bugs.chromium.org/p/webm/issues/detail?id=1145

Change-Id: I778ee07dc39a524e3f729bef47a7abeed51e0cee
2016-02-08 13:42:56 -08:00
Marco 2a3f994723 vp9-denoiser: Allow for checking skin for bsize <=32x32.
Change-Id: I6c99ac6fd3735e24cf668479c55bff313c0b4970
2016-02-08 13:01:38 -08:00
Jingning Han f032c7eaed Merge "Account for sub8x8 block skip mode cost in RD decision" 2016-02-08 19:40:01 +00:00
Yaowu Xu 090eaadf20 Change to use local variables consistently
This commit does not change the computation, nor results.

Change-Id: I1a7bb47050220d970f075458b507c5e55d93b22e
2016-02-08 11:38:04 -08:00
Jingning Han 28e0393f23 Enable dynamic ref motion vector mode for compound inter block
This commit enables the dynamic reference motion vector coding mode
for the compound inter blocks.

Change-Id: Ibe78fd8de6989db392cd67a9d81a69d680345ba1
2016-02-08 11:24:15 -08:00