summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2014-06-20Fixed VP9 denoiser COPY_BLOCK caseTim Kopp
Now copies the src to the correct location in the running average buffer. Change-Id: I9c83c96dc7a97f42c8df16ab4a9f18b733181f34
2014-06-20VP9 denoiser bugfixesTim Kopp
s/stdint.h/vpx\/vpx_int.h Added missing 'break;'s Also included other minor changes, mostly cosmetic. Change-Id: I852bba3e85e794f1d4af854c45c16a23a787e6a3
2014-06-20Merge "Added CFLAG for outputting vp9 denoised signal"Tim Kopp
2014-06-19Merge "Fixes in VP9 alloc, free, and COPY_FRAME case"Tim Kopp
2014-06-19Merge "Add superframe support for frame parallel decoding."hkuang
2014-06-19Merge "Separate rate-distortion modeling for DC and AC coefficients"Jingning Han
2014-06-19Merge "Improved vp9 denoiser running avg update."Tim Kopp
2014-06-19Merge "Implemented COPY_BLOCK case for vp9 denoiser"Tim Kopp
2014-06-19Add superframe support for frame parallel decoding.hkuang
A superframe is a bunch of frames that bundled as one frame. It is mostly used to combine one or more non-displayable frames and one displayable frame. For frame parallel decoding, libvpx decoder will only support decoding one normal frame or a super frame with superframe index. If an application pass a superframe without superframe index or a chunk of displayable frames without superframe index to libvpx decoder, libvpx will not decode it in frame parallel mode. But libvpx decoder still could decode it in serial mode. Change-Id: I04c9f2c828373d64e880a8c7bcade5307015ce35
2014-06-19Merge "Modify non-rd intra mode checking"Yunqing Wang
2014-06-19Added CFLAG for outputting vp9 denoised signalTim Kopp
Change-Id: Iab9b4e11cad927f3282e486c203564e1a658f377
2014-06-19Fixes in VP9 alloc, free, and COPY_FRAME caseTim Kopp
Change-Id: I1216f17e2206ef521fe219b6d72d8e41d1ba1147
2014-06-19Improved vp9 denoiser running avg update.Tim Kopp
Change-Id: Ie0aa41fb7957755544321897b3bb2dd92f392027
2014-06-19Implemented COPY_BLOCK case for vp9 denoiserTim Kopp
Change-Id: Ie89ad1e3aebbd474e1a0db69c1961b4d1ddcd33e
2014-06-19Merge "Changed buf_2ds in vp9 denoiser to YV12 buffers"Tim Kopp
2014-06-19Merge "Update running avg for VP9 denoiser"Tim Kopp
2014-06-19Merge "Implemented vp9_denoiser_{alloc,free}()"Tim Kopp
2014-06-18Merge "Removing decode_one_iter() function."Dmitry Kovalev
2014-06-18Changed buf_2ds in vp9 denoiser to YV12 buffersTim Kopp
Changed alloc, free, and running average code as necessary. Change-Id: Ifc4d9ccca462164214019963b3768a457791b9c1
2014-06-18Update running avg for VP9 denoiserTim Kopp
Change-Id: I9577d648542064052795bf5770428fbd5c276b7b
2014-06-18Implemented vp9_denoiser_{alloc,free}()Tim Kopp
Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27
2014-06-18Merge "Improve vp9_rb_bytes_read"Adrian Grange
2014-06-18Modify non-rd intra mode checkingYunqing Wang
Speed 6 uses small tx size, namely 8x8. max_intra_bsize needs to be modified accordingly to ensure valid intra mode checking. Borg test on RTC set showed an overall PSNR gain of 0.335% in speed -6. This also changes speed -5 encoding by allowing DC_PRED checking for block32x32. Borg test on RTC set showed a slight PSNR gain of 0.145%, and no noticeable speed change. Change-Id: I1502978d8fbe265b3bb235db0f9c35ba0703cd45
2014-06-18Separate rate-distortion modeling for DC and AC coefficientsJingning Han
This is the first step to rework the rate-distortion modeling used in rtc coding mode. The overall goal is to make the modeling customized for the statistics encountered in the rtc coding. This commit makes encoder to perform rate-distortion modeling for DC and AC coefficients separately. No speed changes observed. The coding performance for pedestrian_area_1080p is largely improved: speed -5, from 79558 b/f, 37.871 dB -> 79598 b/f, 38.600 dB speed -6, from 79515 b/f, 37.822 dB -> 79544 b/f, 38.130 dB Overall performance for rtc set at speed -6 is improved by 0.67%. Change-Id: I9153444567e5f75ccdcaac043c2365992c005c0c
2014-06-18Improve vp9_rb_bytes_readAdrian Grange
Change-Id: I69eba120eb3d8ec43b5552451c8a9bd009390795
2014-06-17Merge "Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h."Dmitry Kovalev
2014-06-17Merge "skip the un-necessary motion search in the first pass"Pengchong Jin
2014-06-16Merge "Fix C versions of DC calculation functions"Jingning Han
2014-06-16Merge "vp9_rtcd: correct avx2 references"James Zern
2014-06-16Merge "vp9_pickmode.c: fix vs12 compiler warnings"Dmitry Kovalev
2014-06-16Merge "Fix out of boundary memory read in fuzz test on vpxdec"Jingning Han
2014-06-16skip the un-necessary motion search in the first passPengchong Jin
This patch allows the VP9 encoder to skip the un-necessary motion search in the first pass. It computes the motion error of 0,0 motion using the last source frame as the reference, and skips the further motion search if this error is small. Borg test shows overall the patch gives PSNR gain (derf -0.001%, yt 0.341%, hd 0.282%). Individual clips may have PSNR gain or loss. The best PSNR performance is 7.347% and the worst is -0.662%. The first pass encoding speedup for slideshow clips is over 30%. Change-Id: I4cac4dbd911f277ee858e161f3ca652c771344fe
2014-06-15vp9_pickmode.c: fix vs12 compiler warningsunknown
Change-Id: I5042b76a7050c121bf960ecb20c79d35adcc4cd5
2014-06-13Fix C versions of DC calculation functionsJingning Han
This commit fixes the scaling factors used in the C versions of the DC calculation functions. Change-Id: Iab41108c2bb93c2f2e78667214f3a772a2b707b5
2014-06-13Merge "Delay decreasing reference count in frame-parallel decoding."hkuang
2014-06-13Merge "Revert "skip un-neccessary motion search in the first pass""Yunqing Wang
2014-06-13Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.Dmitry Kovalev
Change-Id: I8fab776c8801e19d3f5027ed55a6aa69eee951de
2014-06-13Replacing RC_MODE with vpx_rc_mode.Dmitry Kovalev
Both enums are identical. Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f
2014-06-13Fix out of boundary memory read in fuzz test on vpxdecJingning Han
This commit fixes frame header decoding for superframe index, to prevent out of boundary memory read triggered by fuzz test vector. It resolves a chromium security violation issue crbug.com/376802. The issue was introduced in the change: Add VPXD_SET_DECRYPTOR support to the VP9 decoder. cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48 where the buffer was read before validation check on index offset applied. A test vector is added accordingly. Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99
2014-06-13Revert "skip un-neccessary motion search in the first pass"Paul Wilkins
This patch appears to have introduced non-determinism and/or mismatch from debug vs release. This reverts commit 5daef90efc4613efd7e7ee80ba4e1ecf9a57a966. Change-Id: I80081e55cfeaaa821b510b58a4e6e6328003c7da
2014-06-13Delay decreasing reference count in frame-parallel decoding.hkuang
The current decoding scheme will decrease the reference count of the output frame when finish decoding. Then the application could copy the frame from the decoder buffer to application buffer. In frame-parallel decoding, a decoded frame will not be outputted until several frames later which depends on thread numbers. So the decoded frame's reference count should be decreased only after application finish copying the frame out. But due to the limitation of vpx_codec_get_frame, decoder could not know when application finish decoding. So use a index last_show_frame to release the last output frame's reference count. Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63
2014-06-13Merge "Use lrand48 on Android"Johann
2014-06-13Merge "Added skeleton for VP9 denoiser"Tim Kopp
2014-06-13Merge "Cleaning up accumulate_frame_motion_stats()."Paul Wilkins
2014-06-12Use lrand48 on AndroidJohann
When building x86 assembly use lrand48 instead of the undocumented inlined _rand function. Android now supports rand() https://android-review.googlesource.com/97731 but only for new versions. Original workaround: https://gerrit.chromium.org/gerrit/15744 Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
2014-06-12Merge "Adding MV_SPEED_FEATURES struct."Dmitry Kovalev
2014-06-12Added skeleton for VP9 denoiserTim Kopp
Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90
2014-06-12Merge "Initially add frame_parallel_decode flag."hkuang
2014-06-12Merge "Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS."Dmitry Kovalev
2014-06-12Adding MV_SPEED_FEATURES struct.Dmitry Kovalev
Moving all motion vector related speed parameters from SPEED_FEATURES to MV_SPEED_FEATURES. Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e