summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2016-04-04vp9-noise estimate: Adhust threshold for Low level detection.Marco
Change-Id: I1c78255c81cb4ac218964c80f8ecaf29f95b875b
2016-04-04Merge "vp9-noise estimation: Increase threshold for Low-level."Marco Paniconi
2016-04-04vp9-noise estimation: Increase threshold for Low-level.Marco
This make it more likely clean/low-noise content will be set as LowLow, and hence no denoising will be done. Also set early exit on denoising for small blocks. Change-Id: I4a72bba3e6c5e2d523d304c39deacc9c39bf216c
2016-04-04vp9-denoiser. Code cleanup and bugfix.Marco
Some cleanup and bugfix: pass mi_row/mi_col (not mv_col/mv_row) to build_inter_predictors. This only affects case where the frame is resized, but since denoising is not done on resized frames, the fix has not effect currently. Change-Id: I36617a7f0b43b6f49976745f15d400977e6ffa46
2016-04-01vp9-denoiser: Adjust usage of skin and consec_zeromv.Marco
Change-Id: I250258fc70ec0fcf1b501708c5d4b84685cf882e
2016-04-01VP9: Refactor vp9_decode_block_tokens()Scott LaVarnway
Change-Id: I30ab27808ec903f9490f36621fb16c197bd35d16
2016-04-01Merge "disable vp9_diamond_search_sad_avx"James Zern
2016-03-31Fix some static analysis issues with resizeDebargha Mukherjee
Change-Id: I2e8ada1ae95bd5577344d6f898e6ad4723e38fbd
2016-03-30disable vp9_diamond_search_sad_avxJames Zern
this results in different output than C, observed with 1080p input at speed 2. BUG=https://bugs.chromium.org/p/webm/issues/detail?id=1168 Change-Id: Ie58cf20057f4531d1b1d19c7b7eae9e642587ce5
2016-03-30Merge "VP9: Eliminate up_available and left_available"Scott LaVarnway
2016-03-30VP9: Eliminate up_available and left_availableScott LaVarnway
Use above_mi and left_mi instead. Change-Id: I0b50e232c31d11da30aa2fb6f91a695aaf725e0c
2016-03-29Merge "Properly propagate out of memory errors."Johann Koenig
2016-03-29Merge "Increase min-max q range for normal inter frames."Paul Wilkins
2016-03-28Properly propagate out of memory errors.Jean-Yves Avenard
It would otherwise result in an infinite loop. Change-Id: Ic03fb220cc048538bd62dee599653187f2093079
2016-03-28vp9-denoiser: Incorporate consec_zeromv in skin detection for denoising.Marco
Change-Id: Ibe4e1207c0db1779e1358f4566da67c9a07bdb15
2016-03-25vp9: 1 pass vbr mode at speed 5: switch to use mv.search to NSTEP.Marco
Change only affects 1 pass, vbr, speed = 5 (real-time mode). Some improvement for high motion content. AvgPSNR/SSIM metrics for ytlive set all up, on average ~2%, some clips (high motion ones) up 4/5%. Encoder speed down: on mynintendo_x1.1280_720.y4m: 47fps -> 44fps. Change-Id: I9e3eaa6392dcb6b5b44ee6f43004f97ba859bc11
2016-03-24Merge changes Id0a490bc,I1b4a0504James Zern
* changes: vp9/inverse_transform_block_inter: move eob check vp9/inverse_transform_block_intra: move eob check
2016-03-24Merge "Force recode for bad rate misses."Paul Wilkins
2016-03-24Merge "Fix some HBD scaling bugs."Paul Wilkins
2016-03-24VP9: Eliminate extra mv clamp in decoderScott LaVarnway
The mv is clamped in dec_find_mv_refs() to a smaller region than the clamp in dec_find_best_ref_mvs(). See clamp_mv_ref and clamp_mv2. Change-Id: I47dd5f7fa8b42f2cc593559b4d7c782fe7bcb1db
2016-03-24Merge "Add a TODO for using tile rows while encoding with multiple threads"James Zern
2016-03-23vp9/inverse_transform_block_inter: move eob checkJames Zern
1 level up. the function is a no-op for eob == 0 and shouldn't be called Change-Id: Id0a490bcce78c2b2ec6ea24d942191eb9b2bc16e
2016-03-23vp9/inverse_transform_block_intra: move eob checkJames Zern
1 level up. the function is a no-op for eob == 0 and shouldn't be called Change-Id: I1b4a050424cf2d0ea820120c8e7c4fb3065e39e7
2016-03-23Merge "Allows sub-second frame rates in vp9"Johann Koenig
2016-03-23Add a TODO for using tile rows while encoding with multiple threadsYunqing Wang
Added a TODO in vp9_cx_iface.c. Change-Id: Ib987f20cab8417340a23ae676616de1df48e8a12
2016-03-23Merge "Prevent encoder crash caused by row tile dependencies"Yunqing Wang
2016-03-22Prevent encoder crash caused by row tile dependenciesYunqing Wang
In multi-thread case, the encoder may crash if using encoder option tile-rows > 0. To prevent that, force tile-rows=0 in this situation. This is a workaround for WebM issue 1095: https://bugs.chromium.org/p/webm/issues/detail?id=1095 The further fix can be done by adding synchronizations after a tile row is encoded. But this will hurt multi-threaded encoder performance. So, it is recommended to use tile-rows=0 while encoding with threads > 1. Change-Id: I656cbcc200f8d0410d09530e7981ad8f32fe7bc9
2016-03-22Increase min-max q range for normal inter frames.Paul Wilkins
Allow the encode loop to select from a wider range of Q values when encoding normal (non arf or kf) frames. This change is targeted at improving psycho-visual quality in some easy sections that are currently not getting enough bits. This is likely to be a little worse from a metrics perspective and may also have a small impact on encode speed in cases where extra recode iterations are triggered. Change-Id: I667eebf33c753bcbcf8b93596467369e5708b889
2016-03-22Force recode for bad rate misses.Paul Wilkins
Adds a second threshold for recodes even on frames where recode is normally disabled if there is a big rate miss. Change-Id: Ifd4a34707da55ec15eb7cfb87de4644b8d76deb2
2016-03-22Fix some HBD scaling bugs.Paul Wilkins
Fixed a bug for HBD in stats output and scaling of a threshold within the first pass code. Change-Id: Icd0463d78cc9ce4661b027b0612c55c0628d212f
2016-03-22vp9: Non-rd partition selection: use consec_zeromv to set sb_is_skin.Marco
Change-Id: I084360cdeabfc63e146a969053d91baee27f4001
2016-03-17vp9: Improvement to skin detection.Marco
Add consec_zeromv to skin detection. Reduces false detection in steady background areas. Change-Id: Ic31c831537d29f082f58477f82ed78f313d7dd30
2016-03-17vp9: Fix the threshold for gf update in cyclic refresh.Marco
Fix the threshold for forcing refresh of golden frame based on high motion. The current comparison was incorrect and prevented this (force update of gf on high motion) from being used. For now keep this logic under a flag (and off for now) so as to not change behavior, until further testing. Change-Id: Ib5f0082159a428b0603b9534e4bcb6f83e4ccb25
2016-03-17Merge "Use whole pixel only at speed 8 screen content."Alex Converse
2016-03-17Merge "Reuse computation in build_nmv_component_cost_table."Alex Converse
2016-03-17Merge "vp9-svc: Bugfix on usage of svc_force_zeromv in non-rd pickmode."Marco Paniconi
2016-03-16Reuse computation in build_nmv_component_cost_table.Alex Converse
Saves 1% CPU on remoting_perftest with speed 8. Change-Id: I28dc2f602bd3bf5639a40c9f21f5a9833f01d4be
2016-03-16choose_partitioning: Avoid computing segment_id twice.Alex Converse
1% faster remoting_perftest at speed -8. Change-Id: I78d591e14b8f890c1e69cacb6d490dfeb9c37900
2016-03-16vp9-svc: Bugfix on usage of svc_force_zeromv in non-rd pickmode.Marco
Only affects 1 pass cbr svc mode. Change-Id: Ifc0948b4aabffa64a9701295d8dbc58a7208a30f
2016-03-15Use whole pixel only at speed 8 screen content.Alex Converse
+5.857% BD-RATE on SCREEN_CONTENT Leaving this off for non-screen content because: +25.300% on TWITCH120 +37.833% BD-RATE on RTC Change-Id: Ie0a312182d6cc859fb04298e4cd81d02b39e23fe
2016-03-15Isolate HBD stats bug change.Paul Wilkins
Change-Id: Ief453daf5f13f42803cb5122fcdd294e65e613f5
2016-03-15Merge "Revert "Fix bug in stats output for HBD.""Paul Wilkins
2016-03-15Revert "Fix bug in stats output for HBD."Paul Wilkins
This reverts commit c7780075ec0e87f74a1a5706dec914aad8dc9200. Change-Id: I2d2e1b387bf0c70cc7238ee4f8edab2aad873489
2016-03-15vp9: Fix to scene cut/content change detection.Marco
Use proper conditon on resolution check. Change-Id: Idf563eb4391f373baf79546414a075b6516a5d35
2016-03-14vp9: Scene cut/content change detection: Adjust gf update.Marco
For 1 pass vbr mode: Increase the period of gf update on scene cut (keep it same as orginal/default setting for now). Change-Id: I679c3bd21152f6c4e486c8098d931c00e1d26b5f
2016-03-14vp9: Scene cut/slide change detection: Increse min_thresh.Marco
Only affects vbr mode. Change-Id: I15e24c50343bc9171c734dfc7685491c7dbb8654
2016-03-12Allows sub-second frame rates in vp9Johnny Klonaris
This is the identical change submitted for vp8 here: https://chromium-review.googlesource.com/#/c/274107/ Tested this change on Mac OSX (10.10) and Linux (Linux Mint 17 / Ubuntu 14.04) and in both cases: - downloaded and compiled latest source for libvpx and ffmpeg - confirmed ffmpeg would build sub-second frame rate webm files via the previous patch - confirmed ffmpeg would *not* build fps < 1 for vp9 - made this change, recompiled libvpn and ffmpeg - confirmed ffmpeg would now create the same webm with fps < 1 - confirmed the resulting file would play and was vp9 (e.g. would not play in Firefox (Linux version complained it was VP9 but mostly could play it) or older vlc, etc., but does play just fine in Google Chrome and a newer version of vlc. Sorry I didn't catch this last time - but this seems a solid change and it's handy to be able to create frame rates less than one second. -jk Change-Id: I38fa32148de8c4c359f228cf08b9a4b83b5a52fb
2016-03-11Merge "vp9: Fix issue in scene/content change detection."Marco Paniconi
2016-03-11vp9: Switch to model=1 for skin detection.Marco
Very small change in speed (within 0.5%), somewhat better detection over RTC clips. Change-Id: I5bf0a7438fa7ccb60b26887125099e3238e5f298
2016-03-11vp9: Fix issue in scene/content change detection.Marco
The change https://chromium-review.googlesource.com/#/c/329181/ also changed behavior for cbr mode, which causes some regression in screenshare test in webrtc. Resetting the specific change to leave the cbr behavior unchanged for now. Change-Id: I52df158806422f86398e1d2f522e92067d8325eb