- 05 Sep, 2017 1 commit
-
-
Linfeng Zhang authored
so that the convolve functions are independent of table alignment. Change-Id: Ieab132a30d72c6e75bbe9473544fbe2cf51541ee
-
- 01 Sep, 2017 1 commit
-
-
clang-format authored
Change-Id: If4c3e8a396d0fcb304f407b44e28cac3219f038c
-
- 31 Aug, 2017 1 commit
-
-
Jerome Jiang authored
Neutral on rtc set for speed 8. Neutral on ytlive for speed 5. Saves some computation cycles but no speed gain observed on Pixel. Change-Id: I34c4642cd543aa89c5b9c4bff6b7113577c64c91
-
- 29 Aug, 2017 1 commit
-
-
Jerome Jiang authored
Neutral in borg tests. Some clips show 3-4% speed gain on 2 threads on Pixel. Change-Id: Ic959f34e44892a854551de6e9a3d9ec819ffed00
-
- 28 Aug, 2017 1 commit
-
-
Jerome Jiang authored
Rev d1477715 fixed the test failure. So remove the resolution condition for using source_sad in speed 6. BUG=webm:1452 Change-Id: I1efba97e1ef5bd4de5f886299f6fcb907187abcd
-
- 25 Aug, 2017 2 commits
-
-
Marco authored
Enable adapt_partition for vbr mode for speed 6. This allows the usage of the pickmode-based partition (used in speed 5), but only selectively for superblocks with high source sad, otherwise the faster variance based partition scheme is used. For speed 6 on ytlive set: avgPSNR/SSIM metrics up by ~0.6%, several clips up by ~1.5%. Small/negligible decrease in speed. Change-Id: I12f3efef6b3e059391de330fdbe5a44c2587f1f8
-
Marco authored
For SVC at speed >= 7: only use the improved mv search on base spatial layer, if top layer resolution is above 640x360. ~2.3% speedup Small/negligible loss in avgPSNR metrics on rtc set. Change-Id: Iaef75a57ebf1c248931bc1aa28d20b7fecac1851
-
- 24 Aug, 2017 1 commit
-
-
Marco authored
For speeds < 7, increase threshold that controls the split of 16x16->8x8 blocks, for resolutions 720p and higher. Minor change for speed 5 (since it uses reference partition scheme which only uses variance partition as first step). For speed 6: ~0.5% increase in avgPSNR/SSIM metrics on ytlvie set. No change in speed. Change-Id: I5126580973201538d8ca26a9256b93c4d11d685b
-
- 23 Aug, 2017 2 commits
-
-
Marco authored
For SVC encoding: average speedup ~1.5%, with small ~0.57 loss in avgPSNR metrics. Change-Id: Icebce6f6ef4e819d7dfcf8db898c583167351de4
-
Johann authored
About 4x faster when values are below the dequant threshold and 10x faster if everything needs to be calculated. Both numbers would improve if the division for dqcoeff could be simplified. BUG=webm:1426 Change-Id: I8da67c1f3fcb4abed8751990c1afe00bc841f4b2
-
- 22 Aug, 2017 2 commits
-
-
Marco authored
This feature is used for the CBR RTC encoding mode at speed >= 6. This change will exclude it for VBR mode. For speed 6 live encoding (VBR): avgPSNR/SSIM metrics on ytlive set up by ~1% (few clips up by 2/3%). No change in speed. Change-Id: I1a0dd94c334f7df309ab5a48d477d7e25355b798
-
Johann authored
This should probably be handled before vp9_regular_quantize_b_4x4 even gets called. Fixes an assert resulting from removing skip_block from the quantize functions. BUG=webm:1459 Change-Id: I7f52b53f959b4654b3d4517ebda31a678f4d0fde
-
- 21 Aug, 2017 3 commits
-
-
Johann authored
Change-Id: Ie8ac00efa826eead2a227726a1add816e04ff147
-
Johann authored
Change-Id: I1272917c49cf6e6710e52c36535b2fc8c8dced78
-
Johann authored
This condition is handled before this code is reached. The ssse3 version of the function has always crashed when attempting to handle the skip_block condition. Add assert() and comments regarding the usage of skip_block. Removing the parameter is a fairly involved process so leave it be for the moment. Change-Id: Ib299f6fc6589d7ee102262cc74a7aeb60110bc5a
-
- 17 Aug, 2017 1 commit
-
-
Johann authored
Despite abs_coeff being a positive value, all the other implementations treat it as signed which simplifies restoring the sign. HBD builds cast qcoeff to avoid a visual studio warning. Match vp9_quantize.c style of casting the entire expression. Change-Id: I62b539b8df05364df3d7644311e325288da7c5b5
-
- 16 Aug, 2017 2 commits
-
-
paulwilkins authored
Having a very low "lag_in_frames" value could cause the encoder to create incorrect / corrupt ARF groups including displayed frames that update the ARF buffer and false overlay frames that are coded at low rate but are not actually overlays of a real ARF frame. This is linked to a reported unit test "slow down" where the chosen parameters (lag of 3 frames) gave rise to such "broken" ARF group(s). See also BUG=webm:1454 Change-Id: If52d0236243ed5552537d1ea9ed3fed8c867232c
-
paulwilkins authored
Some clips in nightly unit test exhibiting significant encoder slowdown which appears to bisect to Change-Id: I692311a709ccdb6003e705103de9d05b59bf840a. The above change allowed for emergency iterations of the recode loop and adjustment of the Q range if there is a large rate miss. This patch disables the above adaptation for cases of cpu_speed >= 3 or more specifically where cpi->sf.recode_loop >= ALLOW_RECODE_KFARFGF. For speeds >= 3 the code does not currently run a dummy bit pack operation inside the recode loop. Without this dummy pack operation there is no up to date estimate of the current frame's size to use as a basis for assessing the requirement for a recode. In practice it was using the previous frames size (or 0 for the first frame) which could cause odd behavior. If we require the emergency rate correction added in Change-Id: I6923.. for the higher speed settings it will be necessary to enable the dummy pack which will in turn hurt encode speed. BUG=webm:1454 Change-Id: I4fb3c6062ca9508325a6f31582f8e80f1a9b126f
-
- 15 Aug, 2017 2 commits
-
-
Jerome Jiang authored
Change legacy vp8/9_write_yuv_frame to vpx_write_yuv_files. Delete some flags that can be enabled during build. To enable writing denoised YUV, use the following command line: CFLAGS='-DOUTPUT_YUV_DENOISED' ./configure --enable-vp9-temporal-denoising For skinmap, use CFLAGS='-DOUTPUT_YUV_SKINMAP' Change-Id: I236974ac8b3cf279d20c4dc7f6162d8b480b6528
-
Marco authored
Change-Id: I9d201fa3a4b00ebd147b57ed519fab8d59b0a802
-
- 14 Aug, 2017 1 commit
-
-
Scott LaVarnway authored
when CONFIG_REALTIME_ONLY is enabled. BUG=webm:1446 Change-Id: Id547783ec75383966c40ab5cf6abb4a0f7984f52
-
- 11 Aug, 2017 1 commit
-
-
Scott LaVarnway authored
when CONFIG_REALTIME_ONLY is enabled. BUG=webm:1446 Change-Id: I4b1b8e9a456830ba1b1bd3a8882e038d37ee7903
-
- 10 Aug, 2017 1 commit
-
-
Jerome Jiang authored
Change the denoiser frame buffer management for SVC to more generally handle the layer patterns in SVC (where last is not always refreshed). This change is only for SVC with denoising and is bitexact. Change-Id: Ic2b146a924cdf6e7114609158afa3d4880fe3fae
-
- 09 Aug, 2017 1 commit
-
-
paulwilkins authored
Testing of 4k videos encoded with a fixed arbitrary chunking interval uncovered a bug where by if a chunk ends 1 frame before a real scene cut, the next chunk may be encoded with two consecutive key frames at the start with the first being assigned 0 bits. This fix insures that where there is a key frame group of length 1 it is at least assigned 1 frames worth of bits not 0. See also patch Change-Id: I692311a709ccdb6003e705103de9d05b59bf840a which by virtue of allowing fast adaptation of Q made this bug more visible. BUG=webm:1456 Change-Id: Ic9e016cb66d489b829412052273238975dc6f6ab
-
- 08 Aug, 2017 1 commit
-
-
Marco authored
When adapt_partition_source_sad is enabled (currently only at speed 6 for resoln <= 360p): use lower subsize (8x8 instead of 16x16) for nonrd_select_partition on 32X32 blocks. And force avoiding rectangular partition checks in nonrd_pick_partition for speed >= 6. Small increase ~0.5 in metrics for speed 6 on rtc_derf, no change in speed. Change-Id: Id751bc8f7573634571b2d6f5e29627cd5cebccae
-
- 03 Aug, 2017 1 commit
-
-
paulwilkins authored
Enable fast adaptation of Q when there is a large overshoot for the #ifdef AGGRESSIVE_VBR test case. AGGRESSIVE_VBR is not currently enabled by default. Change-Id: I7240bb6589795964b6b0b66df4468e4f21504e0f
-
- 02 Aug, 2017 1 commit
-
-
Yunqing Wang authored
Originally, for the purpose of keeping a fast first pass, the first-pass stats between row_mt_mode = 0 and row_mt_mode = 1 are not bit exact, but that difference is very small that doesn't cause a mismatch between the final bitstreams. However, if the encoder changes, this minor difference may cause a mismatch. Thus, this patch always forces the first pass to be bit exact. BUG=webm:1453 Change-Id: I2b67cf529dee81f660f9d9e7fe9a60ea3c7b12b8
-
- 01 Aug, 2017 1 commit
-
-
Marco authored
Change-Id: Ib76875232491b14f7114061e8e913e87004427a0
-
- 31 Jul, 2017 2 commits
-
-
Marco authored
When the superblock partition is based on the nonrd-pickmode, we need to avoid the denoising. Current condition was based on the speed level. This change is to make the condition at the superblock level, as the switch in partitioning may be done at sb level based on source_sad (e.g., in speed 6). Change-Id: I12ece4f60b93ed34ee65ff2d6cdce1213c36de04
-
Jerome Jiang authored
This reverts commit c9266b85. Disable source_sad when resolution > 1080P. The test should pass now. BUG=webm:1452 Change-Id: I72dde88e66590ff9e41da5e5dd83f5550a83f082
-
- 29 Jul, 2017 3 commits
-
-
James Zern authored
This reverts commit 064fc570. This causes an assertion failure in vp9_mcomp.c when running gtest_filter=VP9/MotionVectorTestLarge.OverallTest/41: `mv->col >= -((1 << (11 + 1 + 2)) - 1) && mv->col < ((1 << (11 + 1 + 2)) - 1)' Change-Id: I449e777bf18b661cb3f1d82253610c55c51687f6
-
Jerome Jiang authored
Change-Id: I917d106f4c95ea44e413e23881f6303982e1a6a3
-
Marco authored
Move the source_sad feature to speed 6 (from speed 7), and add speed feature to switch from the variance-based partition to reference_partition (which uses nonrd-pickmode for bsize selection) if source_sad is high. Currently used only for speed 6 for resoln <= 360p. About 4-5% improvement on 360p in RTC set. Some speed slowdown, but still ~30% faster than speed 5. Change-Id: Ib0330ee5fe9fdd2608aed91359a2a339d967491c
-
- 28 Jul, 2017 1 commit
-
-
Urvang Joshi authored
The greedy version was already enabled by default here: https://chromium-review.googlesource.com/c/546848/ And the speed+compression gains from greedy version were already mentioned here: https://chromium-review.googlesource.com/c/531675/ Change-Id: Iad9f7d03490c845ad1e230af028c9d39edddca97
-
- 22 Jul, 2017 1 commit
-
-
James Zern authored
For 8-bit the subtrahend is small enough to fit into uint32_t. For 10/12-bit apply: 63a37d16 Prevent negative variance previously: 47b9a091 Resolve -Wshorten-64-to-32 in highbd variance. c0241664 Resolve -Wshorten-64-to-32 in variance. Change-Id: I181c85f0b9a03da37c2e8b89482d48aa3dbc0aee
-
- 18 Jul, 2017 4 commits
-
-
Jerome Jiang authored
Change-Id: I6702b7b11aa4ac9aac5fd54deef4377cdcb29c64
-
Jerome Jiang authored
When SVC is used, allocate alt-ref in denoiser. Change-Id: I1b17221b55b9444cd23b97d481b54ff8d296d857
-
Jerome Jiang authored
0.007% regression on rtc and 0.004% gain on rtc_derf. 1 thread on QVGA,VGA and HD has ~0.2% speed regression while 2 threads has ~0.2% speed gain on Google Pixel. Change-Id: Ia4a6ec904df670d7001e35e070b01e34149d23dc
-
Marco authored
To fix valgrind issueis with SVC tests. SVC encoding uses prune_evenmore which is causing uinit value. Will re-enable later when issue is resolved. Change-Id: I257ff878cf78197ddd813db056582a4d5fe94f44
-
- 17 Jul, 2017 1 commit
-
-
Marco authored
When content_state_sb is set to LowVarHighSumdiff, don't reset it to VeryHighSad. Visually better on clips with strong lighting changes. Small/negligible change in RTC metrics and speed. Change-Id: I20c383e3c4cf8d1149de5f9260449c0b7cf7c6aa
-