- 20 Sep, 2013 - 1 commit
-
-
Jingning Han authored
This commit makes the rate-distortion optimization loop evaluate the rd costs of regular quantization and all zero coeffs, per transformed block. It improves speed 1 compression performance: derf: 0.245% yt: 0.515% For a large partition that consists multiple transformed blocks, this allows more flexibility to selectively force a portion of them coded as all zero coeffs, as well be continued in the next patches. Change-Id: I211518be4179747b57375696f017d1160cc91851
-
- 19 Sep, 2013 - 3 commits
-
-
Yaowu Xu authored
The fake token EOSB may cause invaild memory read in pack token, this commit reworked the loop to avoid such invalid read. Change-Id: I37fdfce869b44a7f90003f82a02f84c45472a457
-
Yaowu Xu authored
Change-Id: I76f440a917832c02d7a727697b225bac66b99f56
-
Dmitry Kovalev authored
Extracting get_scan_and_band function from get_entropy_context to remove duplicated code. Change-Id: I5da1f5a60263017e887da68bc834317b5f084cb2
-
- 18 Sep, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Adding temp variable for &x->plane[0], inlining src_diff values. Change-Id: I24c08a5425a6da6fd66f5b0278f2fce74f9989b2
-
Dmitry Kovalev authored
Replacing ((1 << MV_MAX_BITS) - 1) with MV_MAX, adding const qualifiers, reusing computed values. Change-Id: I7b46d47f6c644b079d9c3478116a9de465a9baec
-
Dmitry Kovalev authored
Change-Id: I168efdc366eecf638694f357ccad2f4eba7e2fdb
-
- 17 Sep, 2013 - 2 commits
-
-
Jingning Han authored
This commit cleans up the second reference check in the rate-distortion optimization loop of sub8x8 blocks. Change-Id: Ife68feaa4cddbfad2878c9b44d3012788d634f97
-
Yaowu Xu authored
Change-Id: I16633269582a640809dca27572bbe99efa6369fc
-
- 16 Sep, 2013 - 3 commits
-
-
Yaowu Xu authored
The commit added reset of pred_mv at the beginning of each SB64x64 partition mv search, also limited the usage of pred_mv only when search on the largest partition is already done. This is to fix a crash at speed 1/2 encoder where an invalid mv is used in mv search. Change-Id: I39010177da76d054e3c90b7899a44feb2e3a5b1b
-
Paul Wilkins authored
Removed some unused code and minor cleanup / reordering. Change-Id: I4083ae56aeb8edfe9b85aa2f42a16aa28d19da94
-
Paul Wilkins authored
Corrected values relating to modified mode order. Change-Id: I24fccba3af4bc16721d5e7e51888a66305bfa7fe
-
- 13 Sep, 2013 - 2 commits
-
-
Jingning Han authored
This commit enables adaptive constraint on motion search range for smaller partitions, given the motion vectors of collocated larger partition as a candidate initial search point. It makes speed 0 runtime of bus at CIF and 2000 kbps goes from 167s down to 162s (3% speed-up), at 0.01dB performance gains. In the settings of speed 1, this makes the runtime goes from 33687 ms to 32142 ms (4.5% speed-up), at 0.03dB performance gains. Compression performance wise, it gains at speed 1: derf 0.118% yt 0.237% hd 0.203% stdhd 0.438% Change-Id: Ic8b34c67810d9504a9579bef2825d3fa54b69454
-
Paul Wilkins authored
Mis-merge of the following change managed to break mode order and delete two mode options (new alt ref and near alt ref) It also created a situation where we could test two undefined modes off the end of the VP9_mode_order[] data structure. "clang warnings : remove split and i4x4_pred fake modes" "Change Id: I8ef3c*" Initial testing on Akiyo at speed 2. 101.35 44.567 44.447 improves to 96.82 44.915 44.815 Approx 0.3-0.4db gain and 2.5% size reduction Change-Id: Icff813e7c0778d140ad4f0eea18cf1ed203c4e34
-
- 12 Sep, 2013 - 1 commit
-
-
Jim Bankoski authored
either missed this or it crept back in Change-Id: I6cc1519d09e558be7250254c25bde2ae720555ea
-
- 11 Sep, 2013 - 4 commits
-
-
Jim Bankoski authored
Change-Id: I8ef3c7c0f08f0f1f4ccb8ea4deca4cd8143526ee
-
Deb Mukherjee authored
Removes this speed feature since it is very slow and unlikely to be used in practice. This cleanup removes a bunch of unnecessary complications in the outer encode loop. Change-Id: I3c66ef1ca924fbfad7dadff297c9e7f652d308a1
-
Deb Mukherjee authored
Propose some changes to the speed 2 settings to improve quality. In particular, turns off the adjust_thresholds_by_speed feature which improves results by 6%. Also removes the code for adjust_thresholds_by_speed since it conflicts with the adaptive rd thresh feature. Overall, with this change speed 2 is -15.2% from speed 0 settings, on derf, which is significantly better than -21.6% down before. Change-Id: I6e90a563470979eb0c258ec32d6183ed7ce9a505
-
Scott LaVarnway authored
mode_info_context was stored as a grid of MODE_INFO structs. The grid now constists of pointers to MODE_INFO structs. The MODE_INFO structs are now stored as a stream (decoder only), eliminating unnecessary copies and is a little more cache friendly. Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
-
- 10 Sep, 2013 - 6 commits
-
-
Jingning Han authored
The c code implementation of 32x32 quantization does the zbin check of all coefficients prior to the quant/dequant loop, hence removing the redundant zbin check inside the loop. This only affects the c code version. SSSE3 version does not separate the zbin check out. Change-Id: Ic197a7d61d0b25fcac3cc092987651378cb56e4e
-
Deb Mukherjee authored
Improves results a little. derf is now +1.078% over bitrate control. Change-Id: I4812136f3e67be21d14ec089419976a32a841785
-
Yunqing Wang authored
If the current obtained distortion is very small, which happens for static image case, we pick the current partition type without further split checking. This won't affect regular videos. For static videos, we got 10%~12% encoding speed gain. PSNR was better for some clips, and worse for others. Overall it was even. Change-Id: If787a57bedf46fc595ca4f5ded2b0c0a69e9fdef
-
Yunqing Wang authored
Thank Paul for the suggestions. While turning on static-thresh for static-image videos, a big jump on bitrate was seen. In this patch, we detected static frames in the video using first-pass stats. For different cases, disable encode breakout or reduce encode breakout threshold to limit the skipping. More modification need be done to break incorrect partition picking pattern for static frames while skipping happens. Change-Id: Ia25f47041af0f04e229c70a0185e12b0ffa6047f
-
Paul Wilkins authored
A previous speed feature skipped modes not used in earlier partitions but this not longer worked as intended following changes to the partition coding order and in conjunction with some other speed features (Especially speed 2 and above). This modified mode skip feature sets a mask after the first X modes have been tested in each partition depending on the reference frame of the current best case. This patch also makes some changes to the order modes are tested to fit better with this skip functionality. Initial testing suggests speed and rd hit count improvements of up to 20% at speed 1. Quality results. (derf -1.9%, std hd +0.23%). Change-Id: Idd8efa656cbc0c28f06d09690984c1f18b1115e1
-
Paul Wilkins authored
Added check that the returned max and minimum are valid in bottom and right border cases. Change-Id: I2d6cdc9b5f04c7d0ff512ddcf3228331e028bf9b
-
- 09 Sep, 2013 - 3 commits
-
-
Ivan Maltz authored
Sample app: vp9_spatial_scalable_encoder vpx_codec_control extensions: VP9E_SET_SVC VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER VP9E_SET_MIN_Q, VP9E_SET_MAX_Q expanded buffer size for vp9_convolve modified setting of initial width in vp9_onyx_if.c so that layer size can be set prior to initial encode Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS) Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
-
Jingning Han authored
Initialize the probability model context with default value in encode_sb. Change-Id: Id826114024dfc21c7ef41aea9f4a0316d4a5cb95
-
James Zern authored
This reverts commit dae17734 Encode crashes, leaks and increases integer overflow errors. Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2
-
- 08 Sep, 2013 - 1 commit
-
-
Jim Bankoski authored
Change-Id: Ifc9da470358f58e800e3d0d70a565b61e5f7834a
-
- 07 Sep, 2013 - 1 commit
-
-
Jingning Han authored
The 16x16 transform unit test suggested that the peak coefficient value can reach 32639. This could cause potential overflow issue in the SSSE3 implmentation of 16x16 block quantization. This commit fixes this issue by replacing addition with saturated addition. Change-Id: I6d5bb7c5faad4a927be53292324bd2728690717e
-
- 06 Sep, 2013 - 3 commits
-
-
Paul Wilkins authored
Change-Id: I453409d3be3f5fe118b15affde45cb52184aef20
-
Deb Mukherjee authored
Adds a new end-usage option for constant quality encoding in vpx. This first version implemented for VP9, encodes all regular inter frames using the quality specified in the --cq-level= option, while encoding all key frames and golden/altref frames at a quality better than that. The current performance on derfraw300 is +0.910% up from bitrate control, but achieved without multiple recode loops per frame. The decision for qp for each altref/golden/key frame will be improved in subsequent patches based on better use of stats from the first pass. Further, the qp for regular inter frames may also be varied around the provided cq-level. Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
-
Scott LaVarnway authored
mode_info_context was stored as a grid of MODE_INFO structs. The grid now constists of a pointer to a MODE_INFO struct and a "in the image" flag. The MODE_INFO structs are now stored as a stream, eliminating unnecessary copies and is a little more cache friendly. For the test clips used, the decoder performance improved by ~4.3% (1080p) and ~9.7% (720p). Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p) and 5.9% (720p). Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
-
- 05 Sep, 2013 - 1 commit
-
-
Jingning Han authored
The 32x32 forward transform can potentially reach peak coefficient value close to 32700, while the rounding factor can go upto 610. This could cause overflow issue in the SSSE3 implementation of 32x32 quantization process. This commit resolves this issue by replacing the addition operations with saturated addition operations in 32x32 block quantization. Change-Id: Id6b98996458e16c5b6241338ca113c332bef6e70
-
- 04 Sep, 2013 - 2 commits
-
-
Jim Bankoski authored
Vp9 postproc is disabled for now as its not been shown to help and may be merged with vp8. Change-Id: I25620d6cd34c6e10331b18c7b5ef7482e39c6057
-
Jim Bankoski authored
Moves counting of mv branches to where we have a new mv, instead of after the whole frame is summed. Change-Id: I945d9f6d9199ba2443fe816c92d5849340d17bbd
-
- 03 Sep, 2013 - 1 commit
-
-
Paul Wilkins authored
Speed 4 fixed partition size. Use fixed size unless it does not fit inside image, in which case use the largest size that does. Change-Id: I250f7a80506750dd82ab355721624a1344247223
-
- 01 Sep, 2013 - 1 commit
-
-
Jingning Han authored
This commit fixed the potential overflow issue in the SSE2 implementation of 32x32 forward DCT. It resolved the corrupted coded frames in the border of scenes. Change-Id: If87eef2d46209269f74ef27e7295b6707fbf56f9
-
- 30 Aug, 2013 - 1 commit
-
-
Yunqing Wang authored
While static-thresh is on, we only need to transmit skip flag if skip = 1. The cost of skip bit is added to the total rate cost. Change-Id: I64e73e482bc297eba22907026298a15fa8cc3920
-
- 29 Aug, 2013 - 1 commit
-
-
Paul Wilkins authored
Added some code to output normalized rd hit count stats. In effect this approximates to the average number of rd operations/tests per pixel for the sequence. The results are not quite accurate and I have not bothered to account for partial SB64s at frame edges and for key frames However they do give some idea of the number of modes / prediction methods being tested for each pixel across the different partition sizes. This indicates how much scope their is for further gains either by reducing the number of partitions examined or the modes per partition through heuristics. Patch 3 moved place where count incremented so partial rd tests that are aborted with INT_MAX return are also counted. Example numbers for first 50 frames of Akiyo. Speed 0 ~84.4 rd operations / pixel Speed 1 ~28.8 Speed 2 ~11.9 Change-Id: Ib956e787e12f7fa8b12d3a1a2f6cda19a65a6cb8
-