- 16 Apr, 2013 - 2 commits
-
-
Yunqing Wang authored
In decoder, the scaling calculation, such as (mv * x_num / x_den), is fairly time-consuming. In this patch, we check if the scaling happens or not at frame level, and then decide which function to call to skip scaling calculation when no scaling is needed. Tests showed a 3% decoder performance gain. Change-Id: I270901dd0331048e50368cfd51ce273dd82b8733
-
Scott LaVarnway authored
Now that the predictor is the dest, we do not need the extra parameters. Change-Id: I31e2c3d2015f4a1cd12e7f04536d8db478582a0a
-
- 15 Apr, 2013 - 11 commits
-
-
Dmitry Kovalev authored
Using regular 0 and 1 constants now. Change-Id: Ie763503cbb727847cc8f1d6506cd6f2ee607f056
-
Dmitry Kovalev authored
This is the first CL with vp9_reader changes. All another macro definitions will be replaced after. Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063
-
Ronald S. Bultje authored
Keyframes don't set this variable, so it would use the last set values from inter frames. Change-Id: Ie1ef45ece2c44b21b5d55f6cea9f7d6e7a445692
-
Jingning Han authored
With this, the RD loop properly supports rectangular blocks. Change-Id: Iece79048fb4e84741ee1ada982da129a7bf00470
-
Ronald S. Bultje authored
Static threshold results slightly up (+0.1% on derf), probably b/c we now take the filter (sharp/lowpass) into account for the breakout decision. Change-Id: I9f597601da434205142afd05f32690e7ba8fd690
-
Dmitry Kovalev authored
Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d
-
Dmitry Kovalev authored
Using ROUND_POWER_OF_TWO macro, using array initialization syntax for less code. Change-Id: I661453a6b29a9046fcff0a3f18fccb452b5eb39d
-
Scott LaVarnway authored
Now that the predictor is the dest, we do not need the extra parameters. Change-Id: I78db73d39b5aff62f15303f3d51ad2797eae74b6
-
Ronald S. Bultje authored
Change-Id: I697514efd6024e1b4153bbde58ae5e323b030981
-
Ronald S. Bultje authored
Change-Id: I1f2dbf04a0140a7cc2060b0a9efb4ed8e5270d3d
-
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 - 8 commits
-
-
Dmitry Kovalev authored
Removing redundant code. Change-Id: I71bfc40a1fb06d8e3149ed5400aa4dfd87a51aac
-
Dmitry Kovalev authored
Change-Id: I7d3b2ef26aba3dfb1d5c83309aab2024e04ee819
-
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
-
Scott LaVarnway authored
Change-Id: I8fff2216c169c872f7073e66357e400f78a3445d
-
Yaowu Xu authored
To match the order of directional intra prediction modes for larger blocks, also renamed the i4x4 prediction modes to mirror the larger variants. Change-Id: I77cea4d0add6c7758460bf9c7a2fe59aca601f0b
-
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
-
Scott LaVarnway authored
The build predictors now output directly to the dest. These copies are no longer required. Change-Id: I8e91eda6b49993e6c16cfadc705d82a7e80f19b2
-
- 11 Apr, 2013 - 19 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
-
Dmitry Kovalev authored
Change-Id: I9951a06dbe4514cc1cf69ff4349c4e12cb4a318c
-
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
-
John Koleszar authored
These functions now are handled through the common superblock code. Change-Id: Ib6688971bae297896dcec42fae1d3c79af7a611c
-
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
-
Dmitry Kovalev authored
Change-Id: If69c3d795f87af5cc7bfdfe70ef733c41b4d55c8
-
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
Adds a framework for doing arbitrary functions on each transform- sized block in the mb/sb. Change-Id: Iaffb1ae8db5ff2abfa8720c608c78376b42f2096
-
John Koleszar authored
Use sb-common version instead. Change-Id: If2552b5a39fd2e5272f66a41c5667dda85fd3939
-
Dmitry Kovalev authored
Removing duplicated code from vp9_encodemv.c and reusing ROUND_POWER_OF_TWO macro definitions. Change-Id: I9caf0c17f761ada7905cb99a3e2a31f871fef0f9
-
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
-