summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-20Merge "Properly reset memory in hbd setting"Jingning Han
2019-03-20Merge "Drop Wiener variance diff scale from 8 to 4"Jingning Han
2019-03-20Merge "Enable all the 8 segments by default for perceptual AQ mode"Jingning Han
2019-03-20Properly reset memory in hbd settingJingning Han
This avoids a segmentation failure issue in high bit-depth case. Change-Id: I9fbb3ec24b1735678f110cb084a29b15e3ec1a12
2019-03-20Drop Wiener variance diff scale from 8 to 4Jingning Han
Change-Id: If6df62069c1b30de4d52aba33c20c6e854524905
2019-03-20Enable all the 8 segments by default for perceptual AQ modeJingning Han
Change-Id: I8999ee74216785c22568a09bce7590c9fc6905c1
2019-03-20Merge "Wrap macro definition in do-while(0)"Jerome Jiang
2019-03-20Merge "Add block size scaling in rd_variance_adjustment()"Paul Wilkins
2019-03-20Merge "Changes to rd_variance_adjustment()"Paul Wilkins
2019-03-20Merge "Change to mode early breakout rules for FILM mode."Paul Wilkins
2019-03-20Merge "Store a group level noise metric from first pass."Paul Wilkins
2019-03-20Merge "vp9-rtc: Adjustments for base layer in screen."Marco Paniconi
2019-03-19Wrap macro definition in do-while(0)Jerome Jiang
Change-Id: Id654a48d2fa40355552d7267e58461e6cc1c6998
2019-03-19vp9-rtc: Adjustments for base layer in screen.Marco Paniconi
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
2019-03-19Merge "Compute count_ls in vp9_kmeans"Angie Chiang
2019-03-18Normalize the Wiener variance for rankingJingning Han
Normalize the Wiener variance calculation for stack ranking. Remove potential dependency on blocks at frame boundary. Change-Id: I37e8634d714a1c34e99f9f7c4f1bb6ea81d56112
2019-03-18Add perceptual AQ mode control to RD searchJingning Han
Make the rate-distortion optimization search support the perceptual quality AQ mode. Change-Id: Iee507ccfda90ac39b3623de705f187b1459e57e1
2019-03-18Merge "Add rdmult adjustment for perceptual AQ mode"Jingning Han
2019-03-18Compute count_ls in vp9_kmeansAngie Chiang
Change-Id: Id5a83554f2037b03a3a7d86f83e47cac311fbe1d
2019-03-18Merge "Fix race condition in wiener_var_rd_mult"Angie Chiang
2019-03-18Add rdmult adjustment for perceptual AQ modeJingning Han
Compute the Lagrangian multiplier for the adaptive quantization settings. Change-Id: Ieebe074d6f8163e7541264cb0ead22432273e338
2019-03-18Merge "Improve key frame detection"Jingning Han
2019-03-17Improve key frame detectionPaul Wilkins
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
2019-03-18Merge "Unify the rd_mult use in rd_pick_partition"Jingning Han
2019-03-18Merge "Setup AQ mode for perceptual quality"Jingning Han
2019-03-15Fix race condition in wiener_var_rd_multAngie Chiang
Change-Id: Id5e9c2cbfe35809ac99a3bc9ba93cf462a6b1a34
2019-03-15Unify the rd_mult use in rd_pick_partitionJingning Han
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
2019-03-15Merge "vp9-rtc: Some adjustments for low-resolns real-time"Marco Paniconi
2019-03-15Setup AQ mode for perceptual qualityJingning Han
Adapt the quantization to provide higher quality at smooth regions where the Wiener variance is smaller. Change-Id: Ibfd594d1de2ba34d2440d0aa7991b0fdac057ea5
2019-03-15Merge "Refactor tile boundary condition for intra prediction"Jingning Han
2019-03-15vp9-rtc: Some adjustments for low-resolns real-timeMarco Paniconi
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
2019-03-15Merge "Setup frame segmentation for perceptual quality target"Jingning Han
2019-03-14set_analyzer_env.sh: improve cfi diagnosticsJames Zern
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
2019-03-14Setup frame segmentation for perceptual quality targetJingning Han
Build the frame segmentation for perceptual quality target. Change-Id: Icdea28aea02d84ce9c8011f63a3f97133f94a141
2019-03-15Merge "Let vp9_kmeans provide boundary for each group"Jingning Han
2019-03-14Let vp9_kmeans provide boundary for each groupAngie Chiang
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
2019-03-14Merge "Enclose macro arguments in parentheses"Jerome Jiang
2019-03-14Refactor tile boundary condition for intra predictionJingning Han
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
2019-03-14Enclose macro arguments in parenthesesJerome Jiang
BUG=webm:1606 Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
2019-03-14Merge changes Ifc006890,I753920a6Angie Chiang
* changes: Apply kmeans on log of wiener_variance Add vp9_kmeans()
2019-03-14Merge "vp9-svc: Reorganize the simulcast mode"Marco Paniconi
2019-03-14Merge "vp9-rtc: Avoid TM intra on big blocks for screen"Marco Paniconi
2019-03-13Apply kmeans on log of wiener_varianceAngie Chiang
Change-Id: Ifc0068902e036cd5d94fc5d39f0349a5875469b7
2019-03-13Add vp9_kmeans()Angie Chiang
Change-Id: I753920a65fb14a252617444f49feb40dc332d766
2019-03-14Merge "Safe guard zero median filter outcome case"Angie Chiang
2019-03-14Merge "Refactor speed feature settings"Angie Chiang
2019-03-13vp9-rtc: Avoid TM intra on big blocks for screenMarco Paniconi
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
2019-03-13vp9-svc: Reorganize the simulcast modeMarco Paniconi
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
2019-03-13Merge "vp9 simulcast: update buffer slot flag used in API."Marco Paniconi
2019-03-13Safe guard zero median filter outcome caseJingning Han
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