- 16 Apr, 2013 2 commits
-
-
Adrian Grange authored
This function is now called from configures the ARNR filter so it belongs with the other temporal filter functions. Change-Id: I64211875918364b5b8edfb97743e573c6def1663
-
Adrian Grange authored
Normalization of the frame boost value was being done when it reached the value 1028. The intention was to keep to a range of 10 bits, so it should have been clipped above 1023. Change-Id: I0afdddc1d2eb9e7822ec4578903cbe6ec0b33b91
-
- 15 Apr, 2013 1 commit
-
-
Adrian Grange authored
This is work-in-progress, it implements multiple ARF encoding behind an experimental flag. It adds the ability to insert multiple ARF frames into a single ARF group. This patch implements the reordering of the coded frames, and implements a fixed-length coding pattern. It applies a fixed quantizer strategy based on where the frame is in the coding sequence. Further work to modify the rate control strategy is ongoing and will be submitted via a set of future patches. In this first step, each ARF group is recursively bisected and an ARF frame added at that position in the sequence. The recursion continues until ARF frames are within MIN_GF_INTERVAL frames. The code sits behind the "multiple-arf" experimental flag ("CONFIG_MULTIPLE_ARF"). The experimental flag "oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled for this patch to work correctly. Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
-
- 12 Apr, 2013 3 commits
-
-
Jingning Han authored
Combine superblock inter predictors into a unified function that allows configurable block width and height. The inter predictions of block sizes smaller than 16x16 are handled differently. To be continued on merging them later. Change-Id: I14075959dd5e221f00c205c99ca35c1c31ef728e
-
Yaowu Xu authored
So it is consistent with I8x8_PRED. Change-Id: Iefa65124b2419690d83e526c611129c0ede29d11
-
Ronald S. Bultje authored
The probabilities derived from these statistics are used in bitstream writing; therefore, we should only do this when we actually decide to use macroblock coding (over superblock coding). Derf gains +0.15%. Change-Id: I196814c070a7c79889590658ce10a6eb07454389
-
- 11 Apr, 2013 15 commits
-
-
Jingning Han authored
The intra predictor supports configurable block sizes. It can handle intra prediction down to 4x4 sizes, when enabled in BLOCK_SIZE_TYPE. Change-Id: I7399ec2512393aa98aadda9813ca0c83e19af854
-
Ronald S. Bultje authored
Rename pick_mb_modes to pick_mb_mode, since it now handles only a single macroblock. This is consistent with pick_sb_mode handling a single non-macroblock. Change-Id: I896fdfa06436b2d8c24d6474718cc74420df6b3b
-
Deb Mukherjee authored
This patch changes the default with the modecoefprob expt to use mode-based forward updates with one-node pegged modeling. The maximum difference with fully trained tables is now less that 0.1%. Change-Id: I06b44322e10c6703f93f3c1d48d973b1136a0618
-
Scott LaVarnway authored
This patch will use the dest buffer instead of the predictor buffer. This will allow us in future commits to remove the extra mem copy that occurs in the dequant functions when eob == 0. We should also be able to remove extra params that are passed into the dequant functions. Change-Id: I7241bc1ab797a430418b1f3a95b5476db7455f6a
-
John Koleszar authored
Change-Id: I3fe8c529ddec658cfa2376cfc05d9c8a5366e978
-
John Koleszar authored
Use the common block walker to calculate skippability. Change-Id: I6721e42f065df237426c91c1d871ec226ba7cdcb
-
Ronald S. Bultje authored
Use subtract_sb* instead. Change-Id: I3f34140ab97061063a4452945347ef1fe37e13d1
-
Ronald S. Bultje authored
More specifically, remove vp9_quantize_mb*, vp9_optimize_mb*, vp9_inverse_transform_mb* and vp9_transform_mb*. Instead, use the generic _sb* functions that take a size argument, and call them with BLOCK_SIZE_MB16X16. Change-Id: I33024afea95d3a23ffbc1df7da426e4645110f29
-
Ronald S. Bultje authored
It is write-only. Change-Id: I2412344688d96593cc01c038e7f51410d0f85ed0
-
John Koleszar authored
Use sb-common version instead. Change-Id: If2552b5a39fd2e5272f66a41c5667dda85fd3939
-
Ronald S. Bultje authored
Change-Id: Iad69e7a3b7e470acf6094f6a52e7da69066fd552
-
Ronald S. Bultje authored
Change-Id: I87a406fcd18ab043253ca0c009d1182fdc5c3046
-
Ronald S. Bultje authored
With these fixed, the codec produces identical results regardless of what literal values are used for the enum members in BLOCK_SIZE_*. Change-Id: I26db8e08019b58ba432af1f0950ebe6b0eb4ad8c
-
Ronald S. Bultje authored
The resulting values are never used. Change-Id: I688caf30da9aab87aa280cce913eda4f33172293
-
Ronald S. Bultje authored
Change-Id: I0d12f9ef9d960df0172a1377f8e5236eb6d90492
-
- 10 Apr, 2013 3 commits
-
-
Ronald S. Bultje authored
Merge various super_block_yrd and super_block_uvrd versions into one common function that works for all sizes. Make transform size selection size-agnostic also. This fixes a slight bug in the intra UV superblock code where it used the wrong transform size for txsz > 8x8, and stores the txsz selection for superblocks properly (instead of forgetting it). Lastly, it removes the trellis search that was done for 16x16 intra predictors, since trellis is relatively expensive and should thus only be done after RD mode selection. Gives basically identical results on derf (+0.009%). Change-Id: If4485c6f0a0fe4038b3172f7a238477c35a6f8d3
-
Yaowu Xu authored
The strategy to run fast loop filter picking for encoder speed-up should be revisited at a later stage. Change-Id: I3b75e06d767cff41be952a42e63b3292f4eab996
-
Ronald S. Bultje authored
Merge sb32x32 and sb64x64 functions; allow for rectangular sizes. Code gives identical encoder results before and after. There are a few macros for rectangular block sizes under the sbsegment experiment; this experiment is not yet functional and should not yet be used. Change-Id: I71f93b5d2a1596e99a6f01f29c3f0a456694d728
-
- 09 Apr, 2013 2 commits
-
-
Dmitry Kovalev authored
Renaming Y1dequant to y_dequant, UVdequant to uv_dequant, QIndex to qindex. Change-Id: I1c356e5f886deb3f8807dc212de9799b55b09d58
-
Dmitry Kovalev authored
Lower case variable names, less code. Change-Id: I1abc8f592ad2343ab5c76fe2d16262741a4a894a
-
- 08 Apr, 2013 1 commit
-
-
Jingning Han authored
Clamp only the motion vectors inferred from neighboring reference macroblocks. The motion vectors obtained through motion search in NEWMV mode are constrained during the search process, which allows a relatively larger referencing region than the inferred mvs. Hence further clamping the best mv provided by the motion search may affect the efficacy of NEWMV mode. Synchronized the decoding process. The decoded mvs in NEWMV modes should be guaranteed to fit in the effective range. Put a mv range clamping function there for security purpose. This improves the coding performance of high motion sequences, e.g., derf set: foreman 0.233% husky 0.175% icd 0.135% mother_daughter 0.337% pamphlet 0.561% stdhd set: blue_sky 0.408% city 0.455% also saw sunflower goes down by -0.469%. Change-Id: I3fcbba669e56dab779857a8126a91b926e899cb5
-
- 05 Apr, 2013 3 commits
-
-
Ronald S. Bultje authored
This is a VP8-only feature (part of profile 3) that is unsupported in VP9. Change-Id: I78016eede8d9c834d44d4c517f3e8b8fc2a378b1
-
Yaowu Xu authored
Change-Id: Id0c2e44daa936f1d6fb76469fd1bd72a4d7c19fd
-
John Koleszar authored
Continue migrating data from BLOCKD/MACROBLOCKD to the per-plane structures. Change-Id: Ibbfa68d6da438d32dcbe8df68245ee28b0a2fa2c
-
- 04 Apr, 2013 4 commits
-
-
John Koleszar authored
Start grouping data per-plane, as part of refactoring to support additional planes, and chroma planes with other-than 4:2:0 subsampling. Change-Id: Idb76a0e23ab239180c818025bae1f36f1608bb23
-
Yaowu Xu authored
so it is configurable to faciliate testings Change-Id: I247b62736c3a08ec2934793959d1ae605a05efa3
-
Deb Mukherjee authored
Fixes an indexing bug. Looks like the bug has been there for a while. Change-Id: I9fc04b0c30754bcb47366ad94a08112925600c4d
-
Paul Wilkins authored
This function expects real Q values as inputs not index values. The use-age her impacts the Q chosen for force key frames. Though this is a bug fix I have not yet verified whether following the bug fix the q multiplier value used is correct. Change-Id: I49f6da894d90baeb1e86c820c335f02dc80d3b66
-
- 03 Apr, 2013 2 commits
-
-
Yunqing Wang authored
Took vp9_setup_scale_factors_for_frame() out from vp9_setup_interp_filters(), so that it is only called once per frame instead of per macroblock. Decoder tests showed a 1.5% performance gain. Change-Id: I770cb09eb2140ab85132f82aed388ac0bdd3a0aa
-
Dmitry Kovalev authored
Renaming sb32_coded to prob_sb32_coded and sb64_coded to prob_sb64_coded. Change-Id: I6de5cad00a57c3e066d53467f8c38cb6073dce11
-
- 02 Apr, 2013 2 commits
-
-
Dmitry Kovalev authored
Using clamp and MIN/MAX functions instead of plain C code. Lower case variable names. Removing redundant parenthesis. Change-Id: Ibf7cc5fbe4fbdb5029049a599af71534176e6f42
-
Dmitry Kovalev authored
Adding multiple16 function, removing redundant code, better formatting. Change-Id: I50195b78ac8ab803e3d05c8fb05a7ca134fab386
-
- 01 Apr, 2013 1 commit
-
-
Ronald S. Bultje authored
We used to calculate SSIM only over the postproc buffer, whereas we calculate PSNR for both. Compared to postproc-SSIM, this is about 0.3% higher for derf, 1.4% lower for hd and 0.5% lower for stdhd, although it is highly variable on a per-clip basis. Change-Id: I8dd491f0f5b4201dedfb15d288c854d5d4caa10f
-
- 28 Mar, 2013 1 commit
-
-
Deb Mukherjee authored
The patch adds the flexibility to use standard EOB based coding on smaller block sizes and nzc based coding on larger blocksizes. The tx-sizes that use nzc based coding and those that use EOB based coding are controlled by a function get_nzc_used(). By default, this function uses nzc based coding for 16x16 and 32x32 transform blocks, which seem to bridge the performance gap substantially. All sets are now lower by 0.5% to 0.7%, as opposed to ~1.8% before. Change-Id: I06abed3df57b52d241ea1f51b0d571c71e38fd0b
-