- 19 Feb, 2015 1 commit
-
-
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
-
- 12 Feb, 2015 7 commits
-
-
Jingning Han authored
Force 64-bit precision in the intermediate steps. Change-Id: I666113d9adcef8975da201d5aa1a13b783d09594
-
Jingning Han authored
-
Jingning Han authored
-
Adrian Grange authored
-
Yunqing Wang authored
-
James Zern authored
-
James Zern authored
-
- 11 Feb, 2015 10 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
-
Yunqing Wang authored
MODE_INFO struct was modified, and vp9_print_modes_and_motion_vectors() didn't work anymore. This patch modified vp9_debugmodes.c so that this function works again for debug usage. Change-Id: I293fae0295235deb2529a460a274caf7c045ac1a
-
- 10 Feb, 2015 13 commits
-
-
Yaowu Xu authored
This is to avoid redo the same calculation repeatly, and also allow easier adjustments for further experiments. This commit shall have no effect on quality/compression. Change-Id: I4460acf5c808ff5518da18d21e002c5da58af857
-
James Zern authored
this avoids conflicts with recent versions of mingw-w64 (tested g++ 4.8.2) and the unit tests Change-Id: Ic41ea31eebe0e3e712ed5e657f37d8cad6712088
-
Adrian Grange authored
-
Jingning Han authored
-
Adrian Grange authored
Note: This feature is still in development. Add an option for the encoder to decide the resolution at which to encode each frame. Each KF/GF/ARF goup is tested to see if it would be better encoded at a lower resolution. At present, each KF/GF/ARF is coded first at full-size and if the coded size exceeds a threshold (twice target data rate) at the maximum active Q then the entire group is encoded at lower resolution. This feature is enabled in vpxenc by setting: --resize-allowed=1 In addition, if the vpxenc command line also specifies valid frame dimensions using: --resize-width=XXXX & --resize_height=YYYY then *all* frames will be encoded at this resolution. Change-Id: I13f341e0a82512f9e84e144e0f3b5aed8a65402b
-
Yunqing Wang authored
-
Yunqing Wang authored
-
Jingning Han authored
This commit fixes the sub block partition size used in fill_mode_info_sb. Previous implementation effectively disabled the rectangular block sizes. This commit resolved this issue. Change-Id: Ic1c383ab0a9a2e7d59e85b388093f1f1f94d1e7f
-
James Zern authored
-
Yaowu Xu authored
-
James Zern authored
defaults to enabled. when disabled skips dependency file (.d) generation allowing for faster one-time builds. Change-Id: I2d7d7f905f1663315b8eb2b2e81fffb6fcb15829
-
Yaowu Xu authored
This fixes compiler errors for vs 2008. Change-Id: Ifaabb1c5e74fe6ede6dacf66ec3f634fecb556fd
-
hkuang authored
-
- 09 Feb, 2015 2 commits
-
-
Yunqing Wang authored
-
hkuang authored
This will fix the frame parallel decode hang on windows due to not enough semaphores. This will also make the frame parallel decode safer as the number of frame buffers could only support maximum 8 threads. Change-Id: Id9ef50692819dcbebbd74a0aabffbfb3f39a4309
-
- 07 Feb, 2015 2 commits
- 06 Feb, 2015 5 commits
-
-
James Zern authored
-
Yaowu Xu authored
-
Yaowu Xu authored
The calculation of required extension used in HBD case was wrong due to rounding for UV when y dimension is odd. This commit replace the computation with correct version. This fixes a crash caused by writting beyond buffer boundary. Change-Id: Ic7c9afeb7388cd1341ec4974a611dacfb74ac6b6
-
Yunqing Wang authored
Moved vp9_accumulate_frame_counts to vp9_thread_common.c to eliminate the duplicate code. Change-Id: I9cf506d729603c8bf1494b4c86a3b7d47af1917a
-
Jingning Han authored
-