Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
This avoids a segmentation failure issue in high bit-depth case.
Change-Id: I9fbb3ec24b1735678f110cb084a29b15e3ec1a12
|
|
Change-Id: If6df62069c1b30de4d52aba33c20c6e854524905
|
|
Change-Id: I8999ee74216785c22568a09bce7590c9fc6905c1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Change-Id: Id654a48d2fa40355552d7267e58461e6cc1c6998
|
|
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
|
|
|
|
Normalize the Wiener variance calculation for stack ranking. Remove
potential dependency on blocks at frame boundary.
Change-Id: I37e8634d714a1c34e99f9f7c4f1bb6ea81d56112
|
|
Make the rate-distortion optimization search support the perceptual
quality AQ mode.
Change-Id: Iee507ccfda90ac39b3623de705f187b1459e57e1
|
|
|
|
Change-Id: Id5a83554f2037b03a3a7d86f83e47cac311fbe1d
|
|
|
|
Compute the Lagrangian multiplier for the adaptive quantization
settings.
Change-Id: Ieebe074d6f8163e7541264cb0ead22432273e338
|
|
|
|
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
|
|
|
|
|
|
Change-Id: Id5e9c2cbfe35809ac99a3bc9ba93cf462a6b1a34
|
|
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
|
|
|
|
Adapt the quantization to provide higher quality at smooth regions
where the Wiener variance is smaller.
Change-Id: Ibfd594d1de2ba34d2440d0aa7991b0fdac057ea5
|
|
|
|
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
|
|
|
|
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
|
|
Build the frame segmentation for perceptual quality target.
Change-Id: Icdea28aea02d84ce9c8011f63a3f97133f94a141
|
|
|
|
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
|
|
|
|
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
|
|
BUG=webm:1606
Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
|
|
* changes:
Apply kmeans on log of wiener_variance
Add vp9_kmeans()
|
|
|
|
|
|
Change-Id: Ifc0068902e036cd5d94fc5d39f0349a5875469b7
|
|
Change-Id: I753920a65fb14a252617444f49feb40dc332d766
|
|
|
|
|
|
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
|
|
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
|
|
|
|
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
|