- 25 Jul, 2014 - 1 commit
-
-
Jingning Han authored
The partition search for 4x4 blocks takes unnecessary steps to reconstruct pixels and an extra partition type update. This commit removes such operations. No visible compression/speed difference. Thanks to Yue (yuec@) for finding this issue. Change-Id: I3f83824aa3fd3717d63be0b280fa57258939a70a
-
- 24 Jul, 2014 - 6 commits
-
-
Jingning Han authored
This commit turns on the existing vp9_get_prob function using 64 bit in the intermediate step. It fixes the ioc issue for 4K above frame sizes (issue 828). Change-Id: I9f627f3beca2c522f73b38fd2a3e7eefdff01a7c
-
Jingning Han authored
The assignment of the variable mode_excluded in vp9_rd_pick_inter_mode_sub8x8 takes redundant conditional jump. This commit removes it. Change-Id: Ie195fbe6e54ec2ade7093d562c456a2e93143704
-
Yaowu Xu authored
A previous change, https://gerrit.chromium.org/gerrit/#/c/70632, introduced a size validation for reference frames to insuare the input stream is a valid VP9 stream. However, the logic requiring all reference frames have valid size turned out to be too strict. In this commit, we modify the validation to require one of the reference frame has valid dimension. In addition, the decoder reports error whenever it detects the use of reference frame with invalid scalig ratio. Change-Id: If8efc312244087556cfe00f1fcbdff811268ebad
-
Adrian Grange authored
The patch: https://gerrit.chromium.org/gerrit/#/c/70814/ changed the test that determined whether the context frame buffers needed to be reallocated or not. The code checked for a change in total frame area to signal the need to reallocate context buffers. However, the above_context buffer needs to be resized i:xf only the width of the frame has increased. Change-Id: Ib89d75651af252908144cf662578d84f16cf30e6
-
Tim Kopp authored
This should prevent confusion with the VP8 CONFIG_TEMPORAL_DENOISING and other flags. Change-Id: I1fe4e2977895b7966841d861ab74317ad875b6c8
-
Alex Converse authored
Move txfm_rd_in_plane into choose_tx_size_from_rd and cleanup callers. Change-Id: I1df2d7dc984802bd5e204cbe881ada0d75fbb3f7
-
- 23 Jul, 2014 - 4 commits
-
-
Minghai Shang authored
1. Remove last reference flag for first frame upper layers in one pass mode. 2. Disable refresh golden frame flag for key frames. Change-Id: I44ac1bd2c795169e4fbfdd078ea79a1d33a204d6
-
Jingning Han authored
The value of mode_excluded has been properly set in vp9_rd_pick_inter_mode_sb(). It is redundant to send it in handle_inter_mode() and re-set the value again. Change-Id: I408d4731f2f42e0bcf3ae62e85757717bb410471
-
Jingning Han authored
This commit extends the chessboard pattern prediction filter search. If the above and left blocks have the same prediction filter type, the encoder will skip the prediction filter type search and use the reference one. The overall chessboard pattern prediction filter type search reduces speed 3 runtime for hard clips. Experiments on park joy at 1080p and 15000 kbps show that the runtime goes from 723265 ms to 65832 ms, i.e., about 10% speed-up. Compression performance wise, it affects the coding quality by Change-Id: I880975497c7ad166532e9eea9bf46684d77ff327 derf: -0.326% yt: -0.257% hd: -0.241% stdhd: -0.417%
-
Jingning Han authored
Use is_comp_pred to replace the use case of num_refs. Change-Id: I4d0c1e14d5f728428a2ae3d293cd2b4a8b2f31d8
-
- 22 Jul, 2014 - 6 commits
-
-
Jingning Han authored
This commit enables a chessboard pattern prediction filter type search scheme for rate-distortion optimization speed-up. For the inferred motion vector modes, the encoder can re-use its above/left neighbor blocks' prediction filter type and skip a full test on all possible filter types. Such operation is turned on/off alternatively in a chessboard manner. It is turned on in speed 3. For test clip pedestrian 1080p, the runtime is reduced from 231500 ms -> 221700 ms. The compression performance is changed: derf: -0.147% yt: -0.134% hd: -0.079% stdhd: -0.220% Change-Id: I1912f278e7576c2dc632688e3ad7a257410c605a
-
Tim Kopp authored
When OUTPUT_YUV_DENOISED is enabled the encoder outputs the uncompressed, denoised video to a separate file. Moved the point at which the file is written to in order to avoid an extra blank frame at the beginning of the video. Change-Id: I805f6a912b18b3d9cae59b13c5b8108279439ce3
-
Adrian Grange authored
Fixed the function get_frame_type to return the correct frame type for golden and last frames. Change-Id: I8edddd9aa26cbe7a1de8ff211389410b22b1bd14
-
James Zern authored
fix indent, spelling and drop some vertical whitespace Change-Id: I722671381a374a24763b07a02805ab1d149ab3f4
-
Jingning Han authored
This should be a local variable. Move the definition from vp9_rd_pick_inter_mode_sb to handle_inter_mode. Change-Id: I14f4168bb1c896ed04e8f6d4cd89fbf4c9839944
-
Minghai Shang authored
Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
-
- 21 Jul, 2014 - 4 commits
-
-
Jingning Han authored
For sequences of resolution below 720p, the encoder will check intra prediction modes and inter prediction modes from LAST_FRAME. This commit turns on adaptive prediction filter scheme for sub8x8 blocks, where inter prediction modes are enabled. For the test sequence bus at CIF, the speed 2 runtime goes down from 17879 ms to 16783 ms, i.e., 6% speed up. The compression performance of derf set is down by -0.128%. Change-Id: I01d5321a5ceab4e0666ac5be56c52d896c7a8d45
-
Alex Converse authored
Change-Id: Ic5d3a3a0dac10b49495771886a31e793bb78b5ca
-
Yaowu Xu authored
The commit moved a call to vp9_clear_system_state() to a correct location, i.e. prior function calls using floating point numbers. This was to fix a mismatch mmx code and sse2 version, where a floating point number used in adjust_frame_rate(cpi) gets NAN due to mmx registers being in wrong state. Change-Id: I40e0a6de98812000ccee6a729badb630604fd7e6
-
Yunqing Wang authored
For gcc, when libvpx config option debug is disabled, added the flag -DNDEBUG to disable the assertions in libvpx for some speedup. Change-Id: Ifcb7b9e8ef5cbe5d07a24407b53b9a2923f596ee
-
- 18 Jul, 2014 - 3 commits
-
-
Adrian Grange authored
This patch adds back in code that checks that the frame size lies within defined bounds was inadvertantly removed by a previous patch: https://gerrit.chromium.org/gerrit/#/c/70814/ Change-Id: If526570ba559260c4b7e98098bc75f7700ae7f97
-
Tim Kopp authored
The ALT_REF_FRAME is now updated in the case of a KEY_FRAME in the VP9 denoiser. Change-Id: Idf9a9772706f50e774fb240afcc01db38841043c
-
Deb Mukherjee authored
Separates HBD profile int two profiles (2 and 3) consistent with the highbitdepth branch. This patch is ported from the original highbitdepth branch patch: https://gerrit.chromium.org/gerrit/#/c/70460/ Two of the invalid file tests needed to be updated. Change-Id: I6a4acd2f7a60b1fb4cbcc8e0dad4eab4248431e3
-
- 17 Jul, 2014 - 3 commits
-
-
Pengchong Jin authored
The bug sets the wrong pointer to the first pass mb stats if the encoder does the re-coding in the second pass. Change-Id: I8a11f45dd7dceb38de814adec24cecccae370d00
-
Adrian Grange authored
This patch is the first step toward simplifying the frame buffer handling. The final goal is to have a common frame buffer handling framework for both encoder and decoder that incorporates the existing ability to use externally allocated memory. Change-Id: I2c378a4f54a39908915f46c4260e17a080db7ff1
-
Jim Bankoski authored
This is a practical concern to allow us to fail in a decoder instance if the size of a file is bigger than we can reasonably handle. Change-Id: I0446b5502b1f8a48408107648ff2a8d187dca393
-
- 16 Jul, 2014 - 3 commits
-
-
Yaowu Xu authored
This commit changed the hard-coded DEFAULT_INTERP_FILTER to a speed feature with the same default value: SWITCHABLE. Change-Id: I7f54f40f1bd3f5277841d04b85db7a84e47313f1
-
Scott LaVarnway authored
and vp9_sad16x16_neon() On a Nexus 7, vpxenc (in realtime mode, speed -6) reported a performance improvement of ~17%. Change-Id: I91e070cde2973451083d3f3d63b49b7886de9a85
-
Paul Wilkins authored
2 pass only change to calculation of rd mult based on Q. Make a small adjustment based on frame type and also replace adjustment based on iifactor with an one based on the ambient GF/ARF boost level. Also fix multi arf bug / issue. Overall these change give an slight improvement in ssim but hurt psnr a little. Change-Id: I5e1751e3ff5390a26f543d7855059e6fbcce105e
-
- 15 Jul, 2014 - 6 commits
-
-
Yaowu Xu authored
We target this speed to achieve similar encoding speed and better compression than vp8 rt mode with cpu-used at -12. Change-Id: Ic1bb4371c81a17ea80e83459c1cbf4c09a3498e8
-
Minghai Shang authored
Change-Id: I5e3b8b1b151bc14416577f85434182cba2302679
-
Alexander Voronov authored
The issue was introduced by commit g7c43fb67. If current frame is repeated from existing-ref pool, frame buffer ref counter is not decreased, so buffer isn't released. Decoder fails being unable to allocate new frame buffer at some point. Added a test vector to verify that the condition will not recur later. Test vector was generated by the code in this patch: https://gerrit.chromium.org/gerrit/#/c/70862/ Change-Id: I8af96eb5b9670176e01a281d2e18bd458712cf78
-
Tim Kopp authored
In vp8, statistics are collected about the different modes as they are searched. This process is more complicated due to the variable block size. Fields were added to the PICM_MODE_CONTEXT struct to hold this information for each point in the search. The information is then taken from the appropriate part of the tree during denoising. Change-Id: I89261ab77ad637821287ae157dfdf694702b8e77
-
Pengchong Jin authored
Change-Id: I28679f88e2911b06eef5cbc83ecb62b8c69e4c53
-
Yaowu Xu authored
This is to fix a reported issue #825: https://code.google.com/p/webm/issues/detail?id=825 Change-Id: I196535aee81a8967551c058849d7f9c6874cb730
-
- 14 Jul, 2014 - 1 commit
-
-
Minghai Shang authored
All changes are for spatial svc only. 1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer 2. Use golden reference idx for spatial reference 3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers 4. Add "auto-alt-refs" in svc options Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
-
- 11 Jul, 2014 - 3 commits
-
-
Jingning Han authored
This commit fixes a potential out-of-boundary memory access due to the use of reuse_inter_pred_sby in the non-RD coding flow. It resolves the corresponding asan error. Change-Id: Iff605f5921230966990013541cd855d698810922
-
Jingning Han authored
This commit fixes a mismatched use case of block size in non-RD intra prediction check. The residual SSE and variance should be calculated per transform block size, instead of operating block size, which caused chrome valgrind warning on conditional jump based on uninitialized value (webm issue 823). This commit resolves this issue. Change-Id: I595c06599c7e0fd0e4a08736519ba68fc14bc79a
-
hkuang authored
Also fix bugs related with corrupted frame handling. Return VPX_CODEC_CORRUPT_FRAME when getting corrupted block. Change-Id: I7207ccc7c68c4df2b40b561315d16e49ccf7ff41
-