- 19 Feb, 2015 3 commits
-
-
Jingning Han authored
-
Jingning Han authored
This commit introduces a new block match motion estimation using integral projection measurement. The 2-D block and the nearby region is projected onto the horizontal and vertical 1-D vectors, respectively. It then runs vector match, instead of block match, over the two separate 1-D vectors to locate the motion compensated reference block. This process is run per 64x64 block to align the reference before choosing partitioning in speed 6. The overall CPU cycle cost due to this additional 64x64 block match (SSE2 version) takes around 2% at low bit-rate rtc speed 6. When strong motion activities exist in the video sequence, it substantially improves the partition selection accuracy, thereby achieving better compression performance and lower CPU cycles. The experiments were tested in RTC speed -6 setting: cloud 1080p 500 kbps 17006 b/f, 37.086 dB, 5386 ms -> 16669 b/f, 37.970 dB, 5085 ms (>0.9dB gain and 6% faster) pedestrian_area 1080p 500 kbps 53537 b/f, 36.771 dB, 18706 ms -> 51897 b/f, 36.792 dB, 18585 ms (4% bit-rate savings) blue_sky 1080p 500 kbps 70214 b/f, 33.600 dB, 13979 ms -> 53885 b/f, 33.645 dB, 10878 ms (30% bit-rate savings, 25% faster) jimred 400 kbps 13380 b/f, 36.014 dB, 5723 ms -> 13377 b/f, 36.087 dB, 5831 ms (2% bit-rate savings, 2% slower) Change-Id: Iffdb6ea5b16b77016bfa3dd3904d284168ae649c
-
Jingning Han authored
Change-Id: Ic92fb4b16948f745c218351b24fdafecf9abce3a
-
- 18 Feb, 2015 1 commit
-
-
hkuang authored
-
- 17 Feb, 2015 2 commits
-
-
James Zern authored
-
hkuang authored
There is a corner case that when a frame is corrupted, the following inter frame decode worker will miss the previous failure. To solve this problem, a need_resync flag needs to be added to master thread to keep control of that. Change-Id: Iea9309b2562e7b59a83dd6b720607410286c90a6
-
- 14 Feb, 2015 3 commits
-
-
James Zern authored
using this to control reallocation would miss a change if the function were not called for every frame. fixes potential memory corruption by the subsequent memset Change-Id: I4c6bb6ab68803104fc824c7e27cc2f9b2cf53e33
-
James Zern authored
use VP[89]_INSTANTIATE_TEST_CASE case when possible to disable the tests if the codec is unavailable. broken since: be6aeada Try again to merge branch 'frame-parallel' into master branch. Change-Id: I8d81c5ba3b951f82be94bfaed6be194e4289baec
-
Yaowu Xu authored
-
- 13 Feb, 2015 8 commits
-
-
Yaowu Xu authored
This commit prevent the encoder to update last_frame_type when a frame is dropped in the encoder. Prior to this fix, if there is a dropped frame immediatedly after a key frame, decoder would have the value of last_frame_type as key frame, different from encoder as the dropped frame in encoder would have updated the value to an inter frame. This leads to different probability update in encoder and decoder, thereby encoder/decoder mismatch. This fixes issue #941 Change-Id: I27115224b138bec43ae3916c016574f5740822b0
-
Marco authored
-
Adrian Grange authored
-
Marco authored
Replaced a divide by 9 with 8, so some very small difference, but otherwise no change in behavior. Change-Id: I1079ae3c41e0789ff0bc6fa9940a238b6bca0f5b
-
Adrian Grange authored
-
Adrian Grange authored
Change-Id: I18428d0a93084f78ec136d9019f10466326c67e5
-
Adrian Grange authored
Adds a control function that allows the caller to get the size of the current frame. Change-Id: Iddfdedc0f3aa9aa46119f87d294681c82f275c9f
-
Marco authored
-
- 12 Feb, 2015 14 commits
-
-
Jingning Han authored
-
Jingning Han authored
Force 64-bit precision in the intermediate steps. Change-Id: I666113d9adcef8975da201d5aa1a13b783d09594
-
Marco authored
Change-Id: Iada495f05193a1f645a5405ad792931f4d9113ab
-
Adrian Grange authored
-
hkuang authored
-
Marco authored
-
Adrian Grange authored
Change-Id: Ia164ba03fb732e9c9e520e4aa2d75b7eadff6165
-
Jingning Han authored
-
Jingning Han authored
-
Adrian Grange authored
-
Marco authored
Simple skin detection, from vp8; works reasonable on most of the RTC clips, but could miss sometimes. Added debug flag to write out skin map over source input. Change-Id: I2caea7592f1c459047aac46627eeb24a94946464
-
Yunqing Wang authored
-
James Zern authored
-
James Zern authored
-
- 11 Feb, 2015 9 commits
-
-
Adrian Grange authored
Change-Id: I7f63c2940256a5dadf9a29a853809290dd9e98ed
-
Jingning Han authored
This commit allows the encoder to properly account for the mode cost in sub8x8 non-RD mode decision. Change-Id: I2951960d20e37ed08e372ee0c7044935b2b9b899
-
Jingning Han authored
-
Jingning Han authored
-
Jingning Han authored
The block partition rate cost should be updated when recursive partition search is needed. Change-Id: I7bc5ad1fc2cbd3577dee7f7e8da111a2742bdeb9
-
Jingning Han authored
Add the rate cost on inter prediction filter type to the overall rate-distortion cost in vp9_pick_mode_inter. Change-Id: I72c34017adf5220cadb3962694ee5404469fc673
-
Jingning Han authored
This commit adds a heuristic rate cost of reference frame to the non-RD mode decision. It improves the compression performance of speed -6 by 0.31% and speed -5 by 0.69%. Change-Id: If7f3b45519d49b2cb640bcb7316a254efc8be446
-
James Zern authored
by saving xmm8; cglobal's xmm reg arg is 0-based Change-Id: Ic8426ec9ac59ab4478716aa812452a6406794dcb
-
Yaowu Xu authored
This enbale the encoder to set color space information for the input video, so it is then coded in the output bitstream. Change-Id: Ife03deab3c762425ccd27c4c190902c4d94a76f4
-