summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2016-02-23vp9: Update to scene/content change detection.Marco
Update some parameters and put check on frame size change. For 1 pass VBR mode, speed >= 5. Change-Id: If24ed94a21e705ea57d40b9bf235ad079db786fc
2016-02-22vp9 aq-mode=3: Allow it to be used for 1 pass VBR mode.Marco
Change-Id: I630b8e33106c78382545d49da5fb4c75b1b0b528
2016-02-22Merge "VP9: rename vpx_read_mode_info to vp9_read_mode_info"Scott LaVarnway
2016-02-22Merge "VP9: remove x_mis, y_mis calculations"Scott LaVarnway
2016-02-19vp9: 1 pass vbr real-time mode: Adjust gf refresh for scene change.Marco
Use the existing scene/content change detection to better update/adjust golden frame refresh. Change only affects 1 pass real-time vbr mode, speed >=5. Change-Id: I2963a5bb7ca4a19f8cf8511b0a925e502f60e014
2016-02-19VP9: rename vpx_read_mode_info to vp9_read_mode_infoScott LaVarnway
Change-Id: I3cb3da864e33012ba68d61ee8bafa8c42f00313c
2016-02-19VP9: remove x_mis, y_mis calculationsScott LaVarnway
Passed as arguments instead. Change-Id: I884a90baedf772692372e6e3520702c04a968f44
2016-02-18Merge changes from topic 'vp9-missing-alloc-checks'James Zern
* changes: vp9_svc_layercontext: add missing alloc checks vp9_resize: add missing alloc checks vp9_encoder: add missing alloc checks vp9/decoder,resize_mv_buffer: add missing alloc check vp9_cyclic_refresh_alloc: correct cleanup on error
2016-02-18Merge changes from topic 'rm-loopfilter-count-param'James Zern
* changes: lpf_8_test: remove unneeded function wrapper remove loopfilter 'count' param TODOs split vpx_highbd_lpf_horizontal_16 in two split vpx_lpf_horizontal_16 in two vpx_highbd_lpf_horizontal_4: remove unused count param vpx_highbd_lpf_horizontal_8: remove unused count param vpx_highbd_lpf_vertical_4: remove unused count param vpx_highbd_lpf_vertical_8: remove unused count param vpx_lpf_horizontal_4: remove unused count param vpx_lpf_horizontal_8: remove unused count param vpx_lpf_vertical_4: remove unused count param vpx_lpf_vertical_8: remove unused count param lpf_8_test: add missing dspr2 tests lpf_8_test: add missing vpx_lpf_horizontal_4 tests lpf_8_test: add missing vpx_lpf_vertical_4 tests lpf_8_test: simplify function wrapper generation
2016-02-17vp9_svc_layercontext: add missing alloc checksJames Zern
Change-Id: Ieb305c178c64b3864f0e8fc1a13c29799e1ae8f5
2016-02-17vp9_resize: add missing alloc checksJames Zern
Change-Id: I87ef6dec7cd2e8f9a40135e5ca11b13520ebd6d7
2016-02-17Better workaround for Bug 1089.Alex Converse
Don't initialize first pass costs for a number of symbols where first pass probabilities aren't initialized. This brings a 1.22x first pass speedup. https://bugs.chromium.org/p/webm/issues/detail?id=1089 Change-Id: I97438c357bd88f52f5a15c697031cf0c3cc8f510
2016-02-17vp9_encoder: add missing alloc checksJames Zern
Change-Id: I08939ab22446b86fae884daaebd1f14c49b21897
2016-02-17vp9/decoder,resize_mv_buffer: add missing alloc checkJames Zern
Change-Id: I3bc92175b07d5ef495bd75128638c340f3c2238f
2016-02-17vp9_cyclic_refresh_alloc: correct cleanup on errorJames Zern
previously only the CYCLIC_REFRESH allocation was being freed Change-Id: I6e1783d077c5ca83c8d62ea9642f1fb03f2e5bf3
2016-02-16remove loopfilter 'count' param TODOsJames Zern
Change-Id: I25ce7314372ce2f521526ea7864ffc4ab62e4519
2016-02-16split vpx_highbd_lpf_horizontal_16 in twoJames Zern
replace with vpx_highbd_lpf_horizontal_edge_16 and vpx_highbd_lpf_horizontal_edge_8 to avoid passing a count parameter Change-Id: I551f8cec0fce57032cb2652584bb802e2248644d
2016-02-16split vpx_lpf_horizontal_16 in twoJames Zern
replace with vpx_lpf_horizontal_edge_16 and vpx_lpf_horizontal_edge_8 to avoid passing a count parameter Change-Id: I848c95c02a3c6ebaa6c2bdf0983dce05cd645271
2016-02-16vpx_highbd_lpf_horizontal_4: remove unused count paramJames Zern
Change-Id: I655a771e1b1a8753be5669ef9348a312ba6cfdbc
2016-02-16vpx_highbd_lpf_horizontal_8: remove unused count paramJames Zern
Change-Id: Iaca71ea3796115d4c2d43563b4e6f3914e21f1bf
2016-02-16vpx_highbd_lpf_vertical_4: remove unused count paramJames Zern
Change-Id: Ic6da723c5cf3cd8127db1f476c3e46ea134cb774
2016-02-16vpx_highbd_lpf_vertical_8: remove unused count paramJames Zern
Change-Id: Id16f7259897654831d31642c2d5e0bbe5e13416c
2016-02-16vpx_lpf_horizontal_4: remove unused count paramJames Zern
Change-Id: Iec7d8eda343991f7d7d46931dca17af23c821d11
2016-02-16vpx_lpf_horizontal_8: remove unused count paramJames Zern
Change-Id: I48741e167a7b09b7c9ad3bfc1c4b88ef1029ae46
2016-02-16vp9,encoder: relocate setjmpJames Zern
move to encoder_encode() as vp9_get_compressed_data() allocates data and would require some modification to make its error return meaningful. Change-Id: I8ddc390a1441afd0ff937842fa4ad1053c956133
2016-02-16vp9_cx_iface,encode: remove redundant cpi checkJames Zern
this is allocated in init(), a NULL pointer on encode() should be treated as a failure. Change-Id: I3f55ea4a98be616bb5ab74d95ce4a3d6262e734a
2016-02-16vpx_lpf_vertical_4: remove unused count paramJames Zern
Change-Id: I43a191cb3d42e51e7bca266adfa11c6239a8064c
2016-02-16vpx_lpf_vertical_8: remove unused count paramJames Zern
Change-Id: Ic69406da00afb0f06588e8c0deb2b043952b078c
2016-02-16vp9-real-time mode: Fix condition for allowing reference masking.Marco
Add frame-level condition for reference masking: under external or internal dynamic resize, allow for reference masking if none of the references have been scaled. Peviously, reference masking was turned off for the stream if dynamic resize feature was enabled or an external resize event occurred. reference_masking gives speed up with little/no loss in compression. For speed 7 on rtc set: encoding time decreases by about 5-7%, avgPSNR/SSIM goes down ~0.2%. Change-Id: Ie4444577451ef954414d8fb4b2c99d65cadf1746
2016-02-16Merge "Fix tsan error in VP9 sub8x8 intra mode search"James Zern
2016-02-16Fix tsan error in VP9 sub8x8 intra mode searchJingning Han
This commit fixes issue 1141. The issue was triggered in multi-tile encoding. The change properly saves and restores the block context information in the real-time mode selection process. It removes several redundant memcpy operations in sub8x8 intra block mode search. Change-Id: I35c9ad197f4bd500ec39b5fc833f052f19eee010
2016-02-16Merge "vp9-resize: Fix an issue with external dynamic resize."Marco Paniconi
2016-02-12vp9-resize: Fix an issue with external dynamic resize.Marco
External dynamic resize with swapping width and height was not handled properly. Fix is to re-init loop-filter under certain condtions. Modify unittest to test this case. Without this change test will fail. Relates to: https://bugs.chromium.org/p/webm/issues/detail?id=1140 Change-Id: I7d81ca7fe0783b3bc103a52a7b7cf073a96be26e
2016-02-11vp9_receive_raw_frame: add missing setjmpJames Zern
allocations done within this function are protected with vpx_internal_error; adding the setjmp fixes a crash in vp9_lookahead_push() under low memory conditions. Change-Id: I4b79dca37cc7fadc4b7633f0db44c0e406799bc6
2016-02-11vp9-resize: Force reference masking off for external dynamic-resizing.Marco
An issue exists with reference_masking in non-rd pickmode for spatial scaling. It was kept off for internal dynamic resizing and svc, this change is to keep it off also for external dynamic resizing. Update to external resize test, and update TODO to re-enable this at frame level when references have same scale as source. Change-Id: If880a643572127def703ee5b2d16fd41bdbf256c
2016-02-10VP9: Pass NULL scale_factors ptr when not scalingScott LaVarnway
to vp9_setup_pre_planes(), preventing the function unscaled_value() from being called. unscaled_value() returns the same value that was passed in. See scaled_buffer_offset() in vp9_reconinter.h. Change-Id: I2a6fbaf07972c2f212834929d29a2cbe72e399c3
2016-02-10Merge "VP9: Refactor read_inter_block_mode_info() -- 2"Scott LaVarnway
2016-02-10Merge "Restore previous motion search bit-error scale."Alex Converse
2016-02-09VP9: Refactor read_inter_block_mode_info() -- 2Scott LaVarnway
Change-Id: I96d4764523b8d634eafb4cb3ed6eb3aee4052573
2016-02-09Restore previous motion search bit-error scale.Alex Converse
The bit to error transformation got doubled as a result of going from 8-bit to 9-bit costs (change d13385c). Use defines to derive the scale numbers and comment some of the fields. derf: -0.023 BDRATE hevcmr: +0.067 BDRATE stdhd: +0.098 BDRATE (These are substantially smaller than than the original gains from 8 to 9 bit costing.) Change-Id: I6a2b3b029b2f1415e4f90a05709b2333ec0eea9b
2016-02-09vp9-dynamic resize: Fix bug on releasing scaled reference.Marco
When the codec frame size is the same as the reference frame size, release the scaled reference before assigning it a new buf_idx. Only affects 1 pass non-svc mode, where the scaled references are release only under certain conditions (to prevent un-needed scaling of the references every frame). Modified a unittest that can trigger this bug without this change. https://code.google.com/p/chromium/issues/detail?id=582598 Change-Id: I9a884e36ebd7608b1641ec2a469e20a4f829cf43
2016-02-09vp9-aq-mode=3: Reset cyclic refresh under config/external size change.Marco
If the application changes frame size (external size changes), and aq-mode=3 is on, reset the cyclic refresh. Modify the TestExternalResize unittest (longer run with more resize actions). Without this change an assert would be triggered on this longer test. Change-Id: I0eefd2cd7ffa0c557cca96ae30d607034a2599ce
2016-02-09Merge "Set use_highbitdepth flag to either 1 or 0"Yaowu Xu
2016-02-09Merge "BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'"Scott LaVarnway
2016-02-08Set use_highbitdepth flag to either 1 or 0Yaowu Xu
This reduces the buffer allocation size for high bit depth buffers by more than 70%. Change-Id: Iab9007d9684e8ac30ce7fa94e61f038f01792fc5
2016-02-08BUG FIX: undefined reference to `vp9_scale_and_extend_frame_c'Scott LaVarnway
See https://bugs.chromium.org/p/webm/issues/detail?id=1145 Change-Id: I778ee07dc39a524e3f729bef47a7abeed51e0cee
2016-02-08vp9-denoiser: Allow for checking skin for bsize <=32x32.Marco
Change-Id: I6c99ac6fd3735e24cf668479c55bff313c0b4970
2016-02-08Merge "Account for sub8x8 block skip mode cost in RD decision"Jingning Han
2016-02-08Account for sub8x8 block skip mode cost in RD decisionJingning Han
Make this consistent with regular block size rate-distortion optimization. It improves the compression performance: derf 0.055% hevcmr 0.129% Change-Id: I112fe734f592c21bc7aa6efb7e3f269c4214ee7b
2016-02-08Clean up in vp9_rd_pick_inter_mode_sbJingning Han
Use local variable. Change-Id: I0d3df36cf4536958a0cda422f6c30da50f0e0bbf