Marco Paniconi [Fri, 29 Mar 2019 22:18:14 +0000 (15:18 -0700)]
vp9-rtc: Speed feature changes for speed 9.
Add threshold multipler for variance partitioning
as speed feature, and increase it by 2x for speed >= 9
for resoln >= VGA. Also only allow simple_interpol
filter when avg_low_motion is below threshold.
Better tradeoff of speed/quality comparing to speed 8.
Change-Id: I6bd29ad3cced470b32d04f60771120531112a5d9
Paul Wilkins [Tue, 2 Apr 2019 12:00:03 +0000 (12:00 +0000)]
Merge changes Ied3992f4,I83ca669b,I8f1c1a29
* changes:
Further Adjustments to film mode bias.
Add GF group noise weighting in rd_variance_adjustment()
Adjustment to low variance block bias in rd_variance_adjustment()
Paul Wilkins [Tue, 2 Apr 2019 09:39:59 +0000 (09:39 +0000)]
Merge "Change to thresholding in rd_variance_adjustment()"
James Zern [Mon, 1 Apr 2019 19:03:22 +0000 (12:03 -0700)]
tool/set_analyzer_env: disable implicit-integer-truncation
with clang-7 this causes additional warnings in x86 intrinsics and
elsewhere. disabling for now to unblock new changes.
BUG=webm:1615
Change-Id: Ide9cacee5547ed432f980f6804e1414f32639121
Paul Wilkins [Mon, 1 Apr 2019 11:57:13 +0000 (11:57 +0000)]
Merge "Use reconstructed variance in rd_variance_adjustment"
James Zern [Fri, 29 Mar 2019 18:59:40 +0000 (18:59 +0000)]
Merge "update .clang-format for version clang-7.0.1 update."
Hien Ho [Fri, 29 Mar 2019 16:04:41 +0000 (09:04 -0700)]
update .clang-format for version clang-7.0.1 update.
added files that are affected by clang-format version 7.
BUG=b/
120815481
Change-Id: I40662ce962e4f4b1fcdf183b700f85cc5c0f9f82
Jerome Jiang [Thu, 28 Mar 2019 18:00:57 +0000 (18:00 +0000)]
Merge "Revert "Wrap macro definition in do-while(0)""
Jerome Jiang [Thu, 28 Mar 2019 17:03:27 +0000 (10:03 -0700)]
Revert "Wrap macro definition in do-while(0)"
This reverts commit
aa04b6f9a7475e9d9457dfc5bf441faf15efc466.
It caused big regression on webrtc VP8 tests.
Change-Id: I937e769d133abeca62ba063e59a58b5c461f5b5e
Jerome Jiang [Thu, 28 Mar 2019 16:26:49 +0000 (16:26 +0000)]
Merge "Disable mismatch check on vp9 svc examples."
Paul Wilkins [Fri, 8 Mar 2019 15:36:42 +0000 (15:36 +0000)]
Further Adjustments to film mode bias.
Stronger bias against variance below source than above.
Change-Id: Ied3992f4204e14433c6841d51c192118be954f0a
Paul Wilkins [Thu, 28 Mar 2019 13:39:54 +0000 (13:39 +0000)]
Add GF group noise weighting in rd_variance_adjustment()
For film mode add a weighting to the thresholds used
in rd_variance_adjustment() based on noise measured in the
first pass.
Change-Id: I83ca669bb55aa52f1d34f03a2268b79fba890770
Paul Wilkins [Fri, 1 Mar 2019 15:37:58 +0000 (15:37 +0000)]
Adjustment to low variance block bias in rd_variance_adjustment()
Adjust the extra bias applied for very low variance blocks to focus
mainly on DC_PRED.
Change-Id: I8f1c1a29932f319535807046846b604b5b8827c1
Paul Wilkins [Thu, 28 Feb 2019 17:44:02 +0000 (17:44 +0000)]
Change to thresholding in rd_variance_adjustment()
Always test thresholds using a scaled block variance value.
Source pixel variance no longer used so delete it as a parameter
to the function
Change-Id: I9e251edac6ebb15da98e40dcfa43333fe8b6ba55
sdeng [Mon, 18 Mar 2019 18:26:06 +0000 (11:26 -0700)]
Use reconstructed variance in rd_variance_adjustment
to replace the variance from .dst which is the prediction buffer in
inter mode. Only enable it in tune-content-film mode at the moment.
Change-Id: I647b4a524a0849fda42541887ebc34091f152073
Paul Wilkins [Thu, 28 Mar 2019 10:49:55 +0000 (10:49 +0000)]
Merge "Allow more Intra choices in film mode."
Jerome Jiang [Wed, 27 Mar 2019 23:12:04 +0000 (16:12 -0700)]
Disable mismatch check on vp9 svc examples.
Change-Id: I49902a750758ba0ffe733be9b1efd0cdea44f936
Marco Paniconi [Wed, 27 Mar 2019 21:19:04 +0000 (14:19 -0700)]
vp9-rtc: Fix noise estimation thresh for 1080p
Use the same thresholds as for 720p for now,
leads to better noise estimation on test clips.
Change-Id: I55e11346a747fe149f521315a38d75e28b3e774e
Paul Wilkins [Wed, 27 Mar 2019 17:57:00 +0000 (17:57 +0000)]
Allow more Intra choices in film mode.
Disable part of a speed feature that blocks all intra modes
except DC_PRED when the source variance is low.
Change-Id: I2956951fd05933a39f7225d4dfe14e019410fee3
Marco Paniconi [Tue, 26 Mar 2019 17:45:22 +0000 (10:45 -0700)]
vp9-rtc: Disable cyclic refresh under some conditions
cyclic refresh does not work for speeds <= 4, so disable
it for this case. And dynamically disable it when
average_qp is close to MAXQ (only for non-svc), to improve
quality/rate control at very low bitrates.
Change-Id: I447be43aef0fbb80f4a30d81e11658b58744eae5
Jingning Han [Mon, 25 Mar 2019 23:50:01 +0000 (23:50 +0000)]
Merge "Remove deprecated code for vp9_fdct8x8_quant()"
Jingning Han [Mon, 25 Mar 2019 23:49:52 +0000 (23:49 +0000)]
Merge "Unify the transform and quantization process"
Jingning Han [Mon, 25 Mar 2019 22:02:16 +0000 (15:02 -0700)]
Remove deprecated code for vp9_fdct8x8_quant()
Change-Id: If146bbf24f446f71be9147402e6d30533eee99d1
Jingning Han [Mon, 25 Mar 2019 18:27:14 +0000 (11:27 -0700)]
Unify the transform and quantization process
Unify the transform and quantization process for 4x4 - 16x16
transform block sizes. This doesn't affect the encoding speed
visibly. Remove it to reduce the maintenance load.
Change-Id: Ifbf20bf8554ecf7970a6279a2b783b1c58fac6e4
Jerome Jiang [Mon, 25 Mar 2019 20:42:31 +0000 (13:42 -0700)]
Change PSNR threshold for high bitdepth.
BUG=webm:1609
Change-Id: I1aa18d58c20532f657059a2df3646fad1625e3ae
Jerome Jiang [Sat, 23 Mar 2019 00:27:24 +0000 (17:27 -0700)]
Use high bd path to substract blocks in hbd build.
BUG=webm:1609
Change-Id: Ifc15d616e7cfb247b399def64ef7691589d90075
Jingning Han [Fri, 22 Mar 2019 05:01:57 +0000 (05:01 +0000)]
Merge "Use most common segment index for 64x64 level decision"
Jingning Han [Fri, 22 Mar 2019 05:01:51 +0000 (05:01 +0000)]
Merge "Add wiener variance log function"
Jingning Han [Fri, 22 Mar 2019 05:01:43 +0000 (05:01 +0000)]
Merge "Refactor Wiener variance based segmentation"
Jerome Jiang [Fri, 22 Mar 2019 02:04:38 +0000 (19:04 -0700)]
fix redundant cast in examples.
Change-Id: I84280de82053f9056bda9d813baa6165ca9bcd1e
Jingning Han [Thu, 21 Mar 2019 22:40:21 +0000 (15:40 -0700)]
Use most common segment index for 64x64 level decision
Find the most common segment index among all 16x16 blocks in a
64x64 block and use that as the 64x64 block level decision.
Change-Id: I67e85869d9fee0fc05450928f1eeaebe511cab6a
Jingning Han [Thu, 21 Mar 2019 22:15:31 +0000 (15:15 -0700)]
Add wiener variance log function
Factor common mapping function from wiener variance to its log
form.
Change-Id: I25c955c8a3e25b9af1d65a0f0c3f695547c13453
Jerome Jiang [Thu, 21 Mar 2019 22:24:20 +0000 (22:24 +0000)]
Merge "vp9 postproc neon: Remove the condition on mb cols."
Jingning Han [Thu, 21 Mar 2019 22:06:13 +0000 (15:06 -0700)]
Refactor Wiener variance based segmentation
Separate the k-means clustering stage and the segmentation parse
stage to save unnecessary steps in a common function.
Change-Id: I60083e1d970e744f9a64112f856892d450f86669
Jerome Jiang [Thu, 21 Mar 2019 21:17:15 +0000 (14:17 -0700)]
vp9 postproc neon: Remove the condition on mb cols.
VP8 and VP9 have different padding on buffer stride.
VP8 microblock is 16x16 so the buffer stride needs to be divisible by
16. Thus UV buffer stride is divisible by 8.
VP9 microblock is 8x8 so the buffer stride is only extended to be
divisible by 8. Then UV buffer stride isn't divisible by 8.
Change-Id: I6fa953feb951f2fb2e48f72a623786b85e23822f
Jerome Jiang [Thu, 21 Mar 2019 19:49:51 +0000 (19:49 +0000)]
Merge "vp9: remove condition on high bitdepth using simple block yrd."
Marco Paniconi [Thu, 21 Mar 2019 17:36:31 +0000 (10:36 -0700)]
vp9-screen: Adjust speed features at speed 8
Keep loopfilter on, and use half-pel instead of full.
This reduces big quality gap between the speed 8 and 7,
but still keeps speed 8 about 30-40% faster than speed 7.
Tested on screenshare clips with scroll and slide changes.
Change-Id: Id63b44f59655f3e3dc1b49d89291d97e7323081a
Marco Paniconi [Wed, 20 Mar 2019 23:06:05 +0000 (23:06 +0000)]
Merge "vp9-rtc: Fixes for low-resoln"
Jingning Han [Wed, 20 Mar 2019 21:31:21 +0000 (21:31 +0000)]
Merge "Properly reset memory in hbd setting"
Jingning Han [Wed, 20 Mar 2019 21:31:12 +0000 (21:31 +0000)]
Merge "Drop Wiener variance diff scale from 8 to 4"
Jingning Han [Wed, 20 Mar 2019 21:31:03 +0000 (21:31 +0000)]
Merge "Enable all the 8 segments by default for perceptual AQ mode"
Marco Paniconi [Wed, 20 Mar 2019 20:39:48 +0000 (13:39 -0700)]
vp9-rtc: Fixes for low-resoln
The force smooth_filter should only be used
for noisy content, so for now keep it off and
add TODO. Also fix/adjust low-resoln condition
and threshold in cyclic refresh.
Change-Id: I6c456dc9f23daabba20badd65a2f7ee6c5e259c4
Jingning Han [Wed, 20 Mar 2019 20:19:01 +0000 (13:19 -0700)]
Properly reset memory in hbd setting
This avoids a segmentation failure issue in high bit-depth case.
Change-Id: I9fbb3ec24b1735678f110cb084a29b15e3ec1a12
Jingning Han [Wed, 20 Mar 2019 18:14:57 +0000 (11:14 -0700)]
Drop Wiener variance diff scale from 8 to 4
Change-Id: If6df62069c1b30de4d52aba33c20c6e854524905
Jingning Han [Wed, 20 Mar 2019 18:13:22 +0000 (11:13 -0700)]
Enable all the 8 segments by default for perceptual AQ mode
Change-Id: I8999ee74216785c22568a09bce7590c9fc6905c1
Jerome Jiang [Wed, 20 Mar 2019 17:27:36 +0000 (17:27 +0000)]
Merge "Wrap macro definition in do-while(0)"
Paul Wilkins [Wed, 20 Mar 2019 11:41:39 +0000 (11:41 +0000)]
Merge "Add block size scaling in rd_variance_adjustment()"
Paul Wilkins [Wed, 20 Mar 2019 11:41:17 +0000 (11:41 +0000)]
Merge "Changes to rd_variance_adjustment()"
Paul Wilkins [Wed, 20 Mar 2019 11:41:01 +0000 (11:41 +0000)]
Merge "Change to mode early breakout rules for FILM mode."
Paul Wilkins [Wed, 20 Mar 2019 11:40:46 +0000 (11:40 +0000)]
Merge "Store a group level noise metric from first pass."
Marco Paniconi [Wed, 20 Mar 2019 03:23:51 +0000 (03:23 +0000)]
Merge "vp9-rtc: Adjustments for base layer in screen."
Jerome Jiang [Wed, 20 Mar 2019 00:16:41 +0000 (17:16 -0700)]
Wrap macro definition in do-while(0)
Change-Id: Id654a48d2fa40355552d7267e58461e6cc1c6998
Marco Paniconi [Fri, 15 Mar 2019 16:13:45 +0000 (09:13 -0700)]
vp9-rtc: Adjustments for base layer in screen.
On scene/content changes for base layer of screen:
reduce 32x32 split threshold, bias rdcost for flat
blocks if sse_y is non-zero, and avoid early exit on
intra-check.
Reduce artifacts in scroll content.
Change-Id: I144357a61462351173af900e0b8a47dac4aad6ca
Jerome Jiang [Tue, 19 Mar 2019 23:06:23 +0000 (16:06 -0700)]
vp9: remove condition on high bitdepth using simple block yrd.
Speed is similar between non HBD vs 8bit with HBD build.
BUG=webm:1541
Change-Id: I8b5f7eff87ec7dc4710d31744155a60e50b0f0a9
Angie Chiang [Tue, 19 Mar 2019 18:41:46 +0000 (18:41 +0000)]
Merge "Compute count_ls in vp9_kmeans"
Jingning Han [Mon, 18 Mar 2019 20:52:05 +0000 (13:52 -0700)]
Normalize the Wiener variance for ranking
Normalize the Wiener variance calculation for stack ranking. Remove
potential dependency on blocks at frame boundary.
Change-Id: I37e8634d714a1c34e99f9f7c4f1bb6ea81d56112
Jingning Han [Mon, 18 Mar 2019 17:01:11 +0000 (10:01 -0700)]
Add perceptual AQ mode control to RD search
Make the rate-distortion optimization search support the perceptual
quality AQ mode.
Change-Id: Iee507ccfda90ac39b3623de705f187b1459e57e1
Jingning Han [Mon, 18 Mar 2019 22:30:17 +0000 (22:30 +0000)]
Merge "Add rdmult adjustment for perceptual AQ mode"
Angie Chiang [Sat, 16 Mar 2019 01:30:38 +0000 (18:30 -0700)]
Compute count_ls in vp9_kmeans
Change-Id: Id5a83554f2037b03a3a7d86f83e47cac311fbe1d
Angie Chiang [Mon, 18 Mar 2019 19:39:04 +0000 (19:39 +0000)]
Merge "Fix race condition in wiener_var_rd_mult"
Jingning Han [Sat, 16 Mar 2019 00:02:43 +0000 (17:02 -0700)]
Add rdmult adjustment for perceptual AQ mode
Compute the Lagrangian multiplier for the adaptive quantization
settings.
Change-Id: Ieebe074d6f8163e7541264cb0ead22432273e338
Jingning Han [Mon, 18 Mar 2019 14:11:18 +0000 (14:11 +0000)]
Merge "Improve key frame detection"
Paul Wilkins [Wed, 13 Mar 2019 16:20:23 +0000 (16:20 +0000)]
Improve key frame detection
Improve detection of key frames especially in low contrast
and low motion regions.
This patch adds a function to the key frame detection to test
for specific patterns in the intra signal in the first pass stats
that tend to be indicative of a key frame.
This is intended to compliment the existing code and finds some
scene cuts that were previously being misssed.
Tested on two clips where the existing code was struggling to
identify the key frames this patch improved detection as follows.
Film clip 1: (detected / actual)
Old (2/5) New (5/5)
Film Clip 2
Old 4/11 and one false +, New 7/11 and 1 false +.
Short 4K Film Scene
Old 1/2 New 2/2
In testing so far I have not seen many extra false +'s though
it is likely that there will be some cases and this may need
further tweaking.
One one of our longer form film test reels ~20k frames)
the change picked up around 35 key frames that were
previously missed, mainly in darker scenes. There were a few
extra (or different) false positives cause by bright flashes or
explosions but these were cases where there was little
difference between inter and intra coding.
Awaiting testing on standard sets.
Change-Id: I1ff4a587e0a47667eb93b197f39b79a1130faeca
Jingning Han [Mon, 18 Mar 2019 04:03:38 +0000 (04:03 +0000)]
Merge "Unify the rd_mult use in rd_pick_partition"
Jingning Han [Mon, 18 Mar 2019 04:03:28 +0000 (04:03 +0000)]
Merge "Setup AQ mode for perceptual quality"
Angie Chiang [Thu, 14 Mar 2019 19:28:25 +0000 (12:28 -0700)]
Fix race condition in wiener_var_rd_mult
Change-Id: Id5e9c2cbfe35809ac99a3bc9ba93cf462a6b1a34
Jingning Han [Fri, 15 Mar 2019 23:23:43 +0000 (16:23 -0700)]
Unify the rd_mult use in rd_pick_partition
Abstract the control outside rd_pick_partition function. No need
to switch between x->cb_rdmult and the cpi->rd.RDMULT here.
Change-Id: Ia3104ebe15b5e59a4f29ffe6e8c7d718ecb998a8
Marco Paniconi [Fri, 15 Mar 2019 23:10:50 +0000 (23:10 +0000)]
Merge "vp9-rtc: Some adjustments for low-resolns real-time"
Jingning Han [Fri, 15 Mar 2019 18:42:39 +0000 (11:42 -0700)]
Setup AQ mode for perceptual quality
Adapt the quantization to provide higher quality at smooth regions
where the Wiener variance is smaller.
Change-Id: Ibfd594d1de2ba34d2440d0aa7991b0fdac057ea5
Jingning Han [Fri, 15 Mar 2019 22:43:20 +0000 (22:43 +0000)]
Merge "Refactor tile boundary condition for intra prediction"
Marco Paniconi [Fri, 15 Mar 2019 00:27:58 +0000 (17:27 -0700)]
vp9-rtc: Some adjustments for low-resolns real-time
Force smooth_interpol filter for low resolutions at high Q,
avoid the loopfilter strength reduction for similar conditon,
and reduce thresh_motion for cyclic refresh turnoff.
Change-Id: I4e9121d1cdc7d1b04992c741dc4f0cec281592f7
Jingning Han [Fri, 15 Mar 2019 16:47:43 +0000 (16:47 +0000)]
Merge "Setup frame segmentation for perceptual quality target"
James Zern [Fri, 15 Mar 2019 06:07:23 +0000 (23:07 -0700)]
set_analyzer_env.sh: improve cfi diagnostics
use -fno-sanitize-trap=cfi to allow a diagnostic to be printed rather
than aborting with a SIGILL.
https://clang.llvm.org/docs/ControlFlowIntegrity.html#trapping-and-diagnostics
Change-Id: I4517cafe3c7b7305ba4845dbadf9fb679c686843
Jingning Han [Fri, 15 Mar 2019 03:26:49 +0000 (20:26 -0700)]
Setup frame segmentation for perceptual quality target
Build the frame segmentation for perceptual quality target.
Change-Id: Icdea28aea02d84ce9c8011f63a3f97133f94a141
Jingning Han [Fri, 15 Mar 2019 03:24:23 +0000 (03:24 +0000)]
Merge "Let vp9_kmeans provide boundary for each group"
Angie Chiang [Thu, 14 Mar 2019 22:06:45 +0000 (15:06 -0700)]
Let vp9_kmeans provide boundary for each group
boundary_ls[j] is the upper bound of data centered at ctr_ls[j]
Add vp9_get_group_idx() for computing group_idx
Change-Id: I3b1b488edf8acbfb63c469eeeba15f3e42b0a645
Jerome Jiang [Thu, 14 Mar 2019 23:08:43 +0000 (23:08 +0000)]
Merge "Enclose macro arguments in parentheses"
Jingning Han [Thu, 14 Mar 2019 15:28:44 +0000 (08:28 -0700)]
Refactor tile boundary condition for intra prediction
Explicitly compare the block location against tile coordinate to
decide if intra prediction boundary is available. No coding stats
will be changed by this refactoring.
Change-Id: I80b3a131366bb2c5f8ea53a139ed6e9b0b7ddb68
Jerome Jiang [Wed, 13 Mar 2019 23:21:43 +0000 (16:21 -0700)]
Enclose macro arguments in parentheses
BUG=webm:1606
Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
Angie Chiang [Thu, 14 Mar 2019 17:22:09 +0000 (17:22 +0000)]
Merge changes Ifc006890,I753920a6
* changes:
Apply kmeans on log of wiener_variance
Add vp9_kmeans()
Marco Paniconi [Thu, 14 Mar 2019 04:51:46 +0000 (04:51 +0000)]
Merge "vp9-svc: Reorganize the simulcast mode"
Marco Paniconi [Thu, 14 Mar 2019 01:59:49 +0000 (01:59 +0000)]
Merge "vp9-rtc: Avoid TM intra on big blocks for screen"
Angie Chiang [Tue, 12 Mar 2019 22:50:04 +0000 (15:50 -0700)]
Apply kmeans on log of wiener_variance
Change-Id: Ifc0068902e036cd5d94fc5d39f0349a5875469b7
Angie Chiang [Tue, 12 Mar 2019 01:40:53 +0000 (18:40 -0700)]
Add vp9_kmeans()
Change-Id: I753920a65fb14a252617444f49feb40dc332d766
Angie Chiang [Thu, 14 Mar 2019 00:18:04 +0000 (00:18 +0000)]
Merge "Safe guard zero median filter outcome case"
Angie Chiang [Thu, 14 Mar 2019 00:13:47 +0000 (00:13 +0000)]
Merge "Refactor speed feature settings"
Marco Paniconi [Wed, 13 Mar 2019 22:55:18 +0000 (15:55 -0700)]
vp9-rtc: Avoid TM intra on big blocks for screen
For screen content real-time mode: don't check TM
intra for bsize >= BLOCK_32X32.
Small speedup and avoid some artifacts seen
in scrolling screen content.
Change-Id: I72d7731eeb6ac9ee96e65af522c1a9aabb6dc4ef
Marco Paniconi [Wed, 13 Mar 2019 20:46:12 +0000 (13:46 -0700)]
vp9-svc: Reorganize the simulcast mode
Set the lst/gld/alt_fb_idx and refresh flags for
key frames at the start of encoding (in svc_set_params).
This then avoids new code/function in update_references()
and in copy_flags_ref_update().
Change-Id: Id3503c0c628540c20f11a540c118c4ee4cf04848
Marco Paniconi [Wed, 13 Mar 2019 20:16:17 +0000 (20:16 +0000)]
Merge "vp9 simulcast: update buffer slot flag used in API."
Jingning Han [Wed, 13 Mar 2019 19:06:39 +0000 (12:06 -0700)]
Safe guard zero median filter outcome case
In case median filter returns 0 value, bypass the Wiener filter
stage. This avoids potential divided by 0 case.
In the same place use a temp variable to take the Wiener filter
output instead of returning to the coeff array.
Change-Id: I45f57c515b4062a0aa1f312eda852462cb655d8e
Jerome Jiang [Wed, 13 Mar 2019 16:13:35 +0000 (09:13 -0700)]
vp9 simulcast: update buffer slot flag used in API.
Also add #spatial_layers > 1 to simulcast_mode
Change-Id: I6234da81801176ac8678f9f5e1323f8b289cb663
Jingning Han [Wed, 13 Mar 2019 18:20:28 +0000 (11:20 -0700)]
Refactor speed feature settings
Make the speed feature setup functions take speed argument as
their input.
Change-Id: I542e8f6e04658e5d99e972380a31baab99a4fc23
Jingning Han [Wed, 6 Mar 2019 01:06:20 +0000 (17:06 -0800)]
Adaptive multiplier based on the Wiener variance
Adapt the Lagrangian multiplier based on the Wiener variance at
64x64 block level.
Change-Id: Ica195ed6f706daf6eee156d4b1a55bda65a92f7b
Jingning Han [Wed, 13 Mar 2019 16:18:09 +0000 (16:18 +0000)]
Merge "Add normalization over frame level Wiener variance"
Jingning Han [Wed, 13 Mar 2019 16:17:52 +0000 (16:17 +0000)]
Merge "Set up Wiener variance for macroblocks in a frame"
Jingning Han [Tue, 5 Mar 2019 20:14:40 +0000 (12:14 -0800)]
Add normalization over frame level Wiener variance
Normalize the block level Wiener variance based decision according
to the frame level Wiener variance.
Change-Id: Ic2bdf1b322a65661775541dd6c174ba71579461a
Jingning Han [Tue, 5 Mar 2019 18:45:16 +0000 (10:45 -0800)]
Set up Wiener variance for macroblocks in a frame
This commit introduces a Wiener variance term. For each block in
the source frame, we first estimate its film grain noise level
using median filter in the transform domain. Each transform
coefficient is then processed using Wiener filter to account for
the impact on the energy level due to film grain noise. The result
leads to a second moment of the denoised signal.
Change-Id: Ibce7cb1b0cb8fe1aba807d95289712271d576948
chiyotsai [Tue, 12 Mar 2019 17:03:00 +0000 (10:03 -0700)]
Remove highbd_temporal_filter_sse4.c when REAL_TIME_ONLY is on
Change-Id: I3ca7442b10cbea4dd5dbabe147687d1cb3cce4d8
Jerome Jiang [Tue, 12 Mar 2019 00:55:34 +0000 (00:55 +0000)]
Merge "vp9-decoder: use long int for buffer offset."
Jerome Jiang [Mon, 11 Mar 2019 22:45:47 +0000 (22:45 +0000)]
Merge "vp9: map speed > 9 to speed 9."