summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2017-07-22set_var_thresh_from_histogram: prevent negative varianceJames Zern
For 8-bit the subtrahend is small enough to fit into uint32_t. For 10/12-bit apply: 63a37d16f Prevent negative variance previously: 47b9a0912 Resolve -Wshorten-64-to-32 in highbd variance. c0241664a Resolve -Wshorten-64-to-32 in variance. Change-Id: I181c85f0b9a03da37c2e8b89482d48aa3dbc0aee
2017-07-18vp9: Removed unused skin detection function.Jerome Jiang
Change-Id: I6702b7b11aa4ac9aac5fd54deef4377cdcb29c64
2017-07-18Merge "vp9: Allocate alt-ref in denoiser for SVC."Jerome Jiang
2017-07-18Merge "vp9: Remove isolated skin & non-skin blocks."Jerome Jiang
2017-07-18vp9: Allocate alt-ref in denoiser for SVC.Jerome Jiang
When SVC is used, allocate alt-ref in denoiser. Change-Id: I1b17221b55b9444cd23b97d481b54ff8d296d857
2017-07-18vp9: Remove isolated skin & non-skin blocks.Jerome Jiang
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
2017-07-18vp9: Disable usage of sb_use_mv_part for SVC.Marco
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
2017-07-17vp9: Fix to setting content_state for real-time mode.Marco
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
2017-07-17vp9: Reuse motion from choose_partitioning in NEWMV search.Marco
When int_pro_motion_estimation is done for superblock in choose_partitioning, use it to avoid the full_pixel_search for NEWMV mode, if bsize is >= 32X32. For speed > 7. Small/neutral change on RTC metrics. ~1-2% speedup on arm on high motion clip. Change-Id: I3cfe6833ff4bf75d4afa83eaf058ad45729de85b
2017-07-14vp9: Compute skin only for blocks eligible for noise estimation.Jerome Jiang
Change-Id: Iddcb83a5968db57cfd312c5bc44b2a226a2a3264
2017-07-13vp9: Adjust minmax threshold for variance partitioning.Marco
Only affects speed 7. Improvement on high motion clips. Change-Id: Ibddb68fed9c63207df29ffd790f9205b1cecf687
2017-07-12Merge "remove vp9_firstpass.c w/CONFIG_REALTIME_ONLY"James Zern
2017-07-12Merge "vp9: Fix to SVC and denoising for fixed pattern case."Marco Paniconi
2017-07-12Merge "Remove the token state array from greedy optimize_b."Urvang Joshi
2017-07-11remove vp9_firstpass.c w/CONFIG_REALTIME_ONLYJames Zern
BUG=webm:1446 Change-Id: I6e0ea9342c715d354c641109737172afa649b85b
2017-07-11Remove the token state array from greedy optimize_b.Urvang Joshi
Reduces memory usage, and speeds up encoding for some difficult clips. No impact on output or metrics. Ported from aomedia patch: https://aomedia-review.googlesource.com/c/14501 Change-Id: I26ec69af8336f9e80da486a1cfbfc89a3596954d
2017-07-11Merge "Reintroduce fix for max qindex calculation of a gf interval"James Bankoski
2017-07-11Merge "vp9: Move skinmap computation into multithreading loop."Jerome Jiang
2017-07-11Reintroduce fix for max qindex calculation of a gf intervalJim Bankoski
This reintroduces the fix: https://chromium-review.googlesource.com/c/422807/ and later reverted here: https://chromium-review.googlesource.com/c/447843/ BUG=webm:1355 This time behind a compile time flag : configure --disable-always_adjust_bpm configure --enable-always_adjust_bpm This should make side by side testing easier and let users of the lib pick which way they want to go. Change-Id: I7d7b37b83015dc001810af84c132cbc1e71ba8d6
2017-07-11vp9: Fix to SVC and denoising for fixed pattern case.Marco
For fixed pattern SVC: keep track of denoised last_frame buffer for base temporal layer, and if alt_ref is updated on middle/upper temporal layers, force an update to denoised last_frame buffer. This allows for improved denoising on top temporal layers. Change-Id: Icbd08566027d4d2eabc024d3b7a0d959d2f8c18b
2017-07-10vp9: Move skinmap computation into multithreading loop.Jerome Jiang
Change-Id: Iebc9dd293d8b1449c0674c0295349297e9b90646
2017-07-10Merge "remove vp9_full_sad_search"Johann Koenig
2017-07-10Merge "vp9: Remove alt-ref from denoiser."Jerome Jiang
2017-07-10remove vp9_full_sad_searchJohann
This code is unused in vp9. Only vp8 still contains references to vpx_sad_NxMx[3|8] and only for sizes 16x16, 16x8, 8x16, 8x8 and 4x4. Remove the remaining sizes and all the highbitdepth versions. BUG=webm:1425 Change-Id: If6a253977c8e0c04599e25cbeb45f71a94f563e8
2017-07-10vp9: Remove alt-ref from denoiser.Jerome Jiang
Denoiser is used in real-time mode which does not use alt-ref. Reduce memory usage when denoiser is enabled. Change-Id: I54ba3bcaeeb1818bbdf718ef90e97d4897ff793d
2017-07-07Merge "cosmetics,vp9/: normalize inv/fwd_txfm naming"James Zern
2017-07-07Merge "vp9: Nonrd mode: use content_state_sb for high motion."Marco Paniconi
2017-07-06cosmetics,vp9/: normalize inv/fwd_txfm namingJames Zern
+ vpx_dsp/, test/ itxfm -> inv_txfm, ftxfm -> fwd_txfm Change-Id: I3aacdb65143576d64cfe5c9b14dd358c17c1fe7e
2017-07-06vp9: Nonrd mode: use content_state_sb for high motion.Marco
In the content_state for a superblock is set to HighSad, use that to bias some decisions in variance partition and nonrd pickmde: use int_pro_motion for sad computation in choose_partitioning, and set large_block in pickmode based on the content_state_sb. Only affects speed >= 7. Immprovement for high motion content. Small gain (~1%) in RTC metrics. Speedup of ~5 for high motion clip on android (speed 8, 1 thread). Change-Id: I5774c4854f012b89c8e969f6129b60988c2ce11c
2017-07-05vp9: remove FrameWorkerData & vp9_dthread.hJames Zern
the file was empty after the struct removal. the only remaining use was within vp9_dx_iface, but the wrapper became unnecessary after the removal of frame_parallel_decode. BUG=webm:1395 Change-Id: I515ab585d701e77d388d12b2802d844c424f9bcd
2017-07-05vp9: remove (un)lock_buffer_poolJames Zern
there is no threaded access to this pool after the removal of frame_parallel_decode BUG=webm:1395 Change-Id: I710769b87102edc898c59eb9a2e7a91d8c49107f
2017-07-06Merge changes from topic 'rm-dec-frame-parallel'James Zern
* changes: vp9_onyxc_int,RefCntBuffer: rm unused members remove vp9_dthread.c vp9: reduce FRAME_BUFFERS by 3
2017-07-05Merge changes from topic 'rm-dec-frame-parallel'James Zern
* changes: VP9_COMMON: rm frame_parallel_decode VP9Decoder: rm frame_parallel_decode vp9_dx: rm worker thread creation
2017-07-05Merge "Further refactoring of mod error calculation."Yaowu Xu
2017-07-05Further refactoring of mod error calculation.paulwilkins
Further refactoring to support alternative error distributions. Change-Id: I0f7fa3fd6f3baa4b0a1e53c6aa3be63966e97b82
2017-07-05Fix incorrect index test in GF group rate assignment.paulwilkins
Correct test for middle frame in the group. Change-Id: I1ee49fa33968eb3c4a01d6a27a60bb1409e3e68c
2017-06-30Merge "cosmetics,vp9/encoder: s/txm/txfm/"James Zern
2017-06-30Merge "vp9: Adjust condition for checking intra mode."Jerome Jiang
2017-06-30vp9: Adjust condition for checking intra mode.Marco
For nonrd_pickmode: add condition for checking intra mode if the sb content state is VeryHighSad. Reduces artifacts when sudden change in content. Metrics on RTC/RTC_derf neutral (small gain). No speed loss observed. Change-Id: I07006d28fd2dc06c1d06b07630102b0fece50c40
2017-06-30vp9_onyxc_int,RefCntBuffer: rm unused membersJames Zern
the last frame_worker_owner, row and col references were removed in: 131bd06e6 remove vp9_dthread.c BUG=webm:1395 Change-Id: Ia7fb2e8782b12a58d2a2263849d20a8abf06aef6
2017-06-30VP9_COMMON: rm frame_parallel_decodeJames Zern
this has been 0 since the removal of frame_parallel_decode in vp9_dx_iface. BUG=webm:1395 Change-Id: I3a562b2c6b82050064d2b2ccb18a3e77c700b2da
2017-06-30remove vp9_dthread.cJames Zern
and the related prototypes in vp9_dthread.h. the last references were removed in: 09dabc58d VP9_COMMON: rm frame_parallel_decode vp9_dx_iface.c still uses FrameWorkerData BUG=webm:1395 Change-Id: Ica8e98ae776fc0105f1fbbed9e0a729808980810
2017-06-30VP9Decoder: rm frame_parallel_decodeJames Zern
this has been 0 since the removal of frame_parallel_decode in vp9_dx_iface. BUG=webm:1395 Change-Id: I3f579766ecfa4777395b99686738e1c5610f86ef
2017-06-30vp9: reduce FRAME_BUFFERS by 3James Zern
the additional buffers are unneeded with the removal of frame_parallel_decode BUG=webm:1395 Change-Id: Id9ec4cb6462af5d07a0d3cf939bd216db27d9d9e
2017-06-30vp9_dx: rm worker thread creationJames Zern
creating a thread associated with the sole worker isn't necessary when only execute() is being used after the removal of frame_parallel_decode. BUG=webm:1395 Change-Id: I2255ce72607321e5708bc82a632dc6825d4eff5c
2017-06-30Merge changes from topic 'rm-dec-frame-parallel'James Zern
* changes: vp9_dx,vpx_codec_alg_priv: rm *worker_id* vp9_dx,vpx_codec_alg_priv: rm *cache* vp9_dx,vpx_codec_alg_priv: rm frame_parallel_decode
2017-06-29vp9_dx,vpx_codec_alg_priv: rm *worker_id*James Zern
+ available_threads these are unused with the removal of frame_parallel_decode BUG=webm:1395 Change-Id: I59c5075542a5a74d4a539c213682f566b005f5a6
2017-06-29vp9_dx,vpx_codec_alg_priv: rm *cache*James Zern
these fields are unused with the removal of frame_parallel_decode BUG=webm:1395 Change-Id: Ia3821f7fb81d17b20033b094e5265b1030ee4030
2017-06-29vp9_dx,vpx_codec_alg_priv: rm frame_parallel_decodeJames Zern
this field has been 0 since: 01d23109a vp9: make VPX_CODEC_USE_FRAME_THREADING a no-op BUG=webm:1395 Change-Id: I15448e9401e15329b54c6878dda033b17be5ec6b
2017-06-29cosmetics,vp9/encoder: s/txm/txfm/James Zern
txfm is more commonly used as an abbreviation through the codebase Change-Id: I86fd90ef132468f9da270091c05daa1f5a49ece2