- 10 May, 2013 1 commit
-
-
John Koleszar authored
Make framebuffer allocations according to the chroma subsamping factors in use. A bit is placed in the raw part of the frame header for each of the two subsampling factors. This will be moved in a future commit to make them part of the TBD feature set bits, probably only set on keyframes, etc. Change-Id: I59ed38d3a3c0d4af3c7c277617de28d04a001853
-
- 08 May, 2013 2 commits
-
-
Dmitry Kovalev authored
We don't have two loopfilter types anymore. Change-Id: I53c0137361342c7d00887ad03be3490f0dfa3532
-
Jingning Han authored
Update and buffer left/above partition information context per 8x8 block. This allows to further enable recursive partition down to 4x4 block size, and hence deprecating I4X4_PRED and SPLITMV. This commit also fixes a context buffer swap/restore issue in 32x32 partition type search. This gives 0.1% performance gain for derf/yt. Will refactor the superblock partition type search into recursion form. Change-Id: Ib61975aca5f12b78d8018481d7fa1393d085689b
-
- 07 May, 2013 3 commits
-
-
Paul Wilkins authored
Delete code under the CONFIG_CODE_ZEROGROUP flag. Change-Id: I5fe6c7b42a5da9b73118e33594301da4129f320a
-
Paul Wilkins authored
Delete code under the CONFIG_COMP_INTERINTRA_PRED flag. Change-Id: I3d1079cf46305c08f7e11d738596ea112e7b547f
-
Jingning Han authored
Pull sb8x8 out of experimental list. verified via borg run tests. Fixed unit test failures. Change-Id: I12a4bbd17395930580c048ab68becad1ffe46e76
-
- 03 May, 2013 1 commit
-
-
Adrian Grange authored
The number of reference buffers is extended to 8 and a reference sign-bias added for the LAST_FRAME. Whilst the number of reference buffers used by an individual frame remains unchanged at 3, these may now be selected from 8 possible buffers. Change-Id: I2d247b9c1c2b3a339d6c9fac125e81ba373f75a7
-
- 01 May, 2013 1 commit
-
-
Scott LaVarnway authored
Currently, only two values are used. Removed the unused values. Change-Id: Idc5b8be354d84ffc68df39ea3e45f9f50d977b35
-
- 30 Apr, 2013 2 commits
-
-
Ronald S. Bultje authored
Work-in-progress, not yet ready for review. TODO items: - bitstream writing (encoder) and reading (decoder) - decoder reconstruction Change-Id: I5afb7284e7e0480847b47cd0097cb469433c9081
-
Dmitry Kovalev authored
Moving common code from encoder and decoder to vp9_get_qindex function. Also moving quant-related constants from vp9_onyxc_int.h to vp9_quant_common.h. Change-Id: I70c5bfbaa1c8bf00fde0bfc459d077f88b6d46c8
-
- 29 Apr, 2013 1 commit
-
-
Ronald S. Bultje authored
Output changes slightly because of a minor bug in (at least) the sb32x16 block2above tx16x16 tables that previously existed in vp9_blockd.c. Change-Id: I624af28ac200a8322d64454cf05c79e9502968cc
-
- 26 Apr, 2013 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I5429c02246d198eb1b6aadbc3313b26bf3436062
-
Ronald S. Bultje authored
Change-Id: I087e08e7909a406b71715b8525c104208daa6889
-
- 25 Apr, 2013 1 commit
-
-
Dmitry Kovalev authored
Using ALLOWED_REFS_PER_FRAME constants instead of hard coded 3, replacing memcpy with plain struct assignment. Change-Id: Ibc86f5d175fcb3f3a3eddacf593525370f1f854c
-
- 24 Apr, 2013 2 commits
-
-
Yaowu Xu authored
Function set_mb_row() and set_mb_col() do similar work and are always called together, this commit merged them into a single function for clarity and easy maintainence. This was a TODO item. Change-Id: I956bd9ed6afb8b2b0469b20fd8bc893b26f8a0f3
-
Jingning Han authored
This commit enables selecting probability models for recursive block partition information syntax, depending on its above/left partition information, as well as the current block size. These conditional probability models are reasonably stationary and consistent across frames, hence the backward adaptive approach is used to maintain and update the contextual models. It achieves coding performance gains (on top of enabling rectangular block sizes): derf: 0.242% yt: 0.391% hd: 0.376% stdhd: 0.645% Change-Id: Ie513d9673337f0d27abd65fb566b711d0844ec2e
-
- 23 Apr, 2013 1 commit
-
-
Deb Mukherjee authored
Fix to increase allocation of tokens at very high rates. Change-Id: Ia27aa0316b0fab664230800f9c9947b5c68ecd58
-
- 22 Apr, 2013 2 commits
-
-
Deb Mukherjee authored
This patch does not seem to give any benefits. Change-Id: I9d2b4091d6af3dfc0875f24db86c01e2de57f8db
-
Deb Mukherjee authored
Adds an experiment that codes an end-of-orientation symbol for every eligible zero encountered in scan order. This cleans out various other sub-experiments that were part of the origiinal patch, which will be later included if found useful. Results are slightly positive on all sets (0.1 - 0.2% range). Change-Id: I57765c605fefc7fb9d1b57f1b356843602abefaf
-
- 19 Apr, 2013 1 commit
-
-
Scott LaVarnway authored
For 1080 material, this buffer is currently 2,270,928 bytes. This patch swaps ptrs instead of copying and uses the last show_frame flag instead of setting the entire buffer to zero. For the test clip used, the decoder improved by up to 1%. Change-Id: I686825712ad56043e09ada9808dc489f875a6ce0
-
- 17 Apr, 2013 1 commit
-
-
Jingning Han authored
Enable recursive partition information coding from SB64X64 down to MB16X16. The bit-stream syntax is now supporting rectangular block sizes. It starts from SB64X64 and recursively describes the partition type of the current block. If the partition type is PARTITION_NONE, the block is coded as a single unit; if it is PARTITION_HORZ or PARTITION_VERT, the block is segmented into two independently coded rectangular units, with no further partition needed; otherwise, the block is segmented into 4 square blocks. i.e., PARTITION_SPLIT case, each can be potentially further partitioned. Forward adaptive probability modeling is used for the partition information coding, conditioned on the current block size. Change-Id: I499365fb547839d555498e3bcc0387d8a3587d87
-
- 16 Apr, 2013 2 commits
-
-
Dmitry Kovalev authored
New names are y_dc_delta_q, uv_dc_delta_q, uv_ac_delta_q. Change-Id: I4acae1fc23a4697ce2c5a5becb8dc28ef0a4b552
-
John Koleszar authored
This flag was added to VP8 to allow a mode where MB-level skipping was not allowed, saving a bit per mb. It was never used in practice, and hasn't been tested in VP9, so remove it. Change-Id: Id450ec6904c6d06c1919508e7efc52d05cde5631
-
- 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
-
- 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
Adding ALLOWED_REFS_PER_FRAME constant instead of hard coded number 3. Change-Id: I46146aa837896936f920c748c7d4aa4c27f026e4
-
- 05 Apr, 2013 2 commits
-
-
Ronald S. Bultje authored
This is a VP8-only feature (part of profile 3) that is unsupported in VP9. Change-Id: I78016eede8d9c834d44d4c517f3e8b8fc2a378b1
-
Dmitry Kovalev authored
Change-Id: If7fa8aea02f26c2c2bb5daf4e65c3e661d7031ca
-
- 03 Apr, 2013 1 commit
-
-
Dmitry Kovalev authored
Renaming sb32_coded to prob_sb32_coded and sb64_coded to prob_sb64_coded. Change-Id: I6de5cad00a57c3e066d53467f8c38cb6073dce11
-
- 26 Mar, 2013 2 commits
-
-
Ronald S. Bultje authored
Pearson correlation for above or left is significantly higher than for previous-in-scan-order (absolute values depend on position in scan, but in general, we gain about 0.1-0.2 by using either above or left; using both basically just makes this even better). For eob branch skipping, we continue to use the previous token in scan order. This helps about 0.9% on derf after re-training on a limited data set. Full re-training and results on larger-resolution clips are pending. Note that this commit breaks trellis, so we can probably get further gains out of it by fixing trellis at some later point. Change-Id: Iead68e296fc3a105cca746b5e3da9555d6010cfe
-
John Koleszar authored
Adds a per-frame, strength adjustable, in loop deringing filter. Uses the existing vp9_post_proc_down_and_across 5 tap thresholded blur code, with a brute force search for the threshold. Results almost strictly positive on the YT HD set, either having no effect or helping PSNR in the range of 1-3% (overall average 0.8%). Results more mixed for the CIF set, (-0.5 min, 1.4 max, 0.1 avg). This has an almost strictly negative impact to SSIM, so examining a different filter or a more balanced search heuristic is in order. Other test set results pending. Change-Id: I5ca6ee8fe292dfa3f2eab7f65332423fa1710b58
-
- 20 Mar, 2013 1 commit
-
-
Dmitry Kovalev authored
Renaming Width to width, Height to height and Version to version in several structs and function signatures. Change-Id: I084c3f7e747cb2ce3345aff27a3dff9b13a87543
-
- 18 Mar, 2013 1 commit
-
-
John Koleszar authored
If the intended display size is different than the size the frame is coded at, then send that size explicitly in the bitstream. Adds a new bit to the frame header to indicate whether the extra size fields are present. Change-Id: I525c66f22d207efaf1e5f903c6a2a91b80245854
-
- 09 Mar, 2013 1 commit
-
-
Deb Mukherjee authored
Adds probability updates for extra bits for the nzcs, code for getting nzc stats, plus some minor cleanups and fixes. Change-Id: If2814e7f04fb52f5025ad9f400f3e6c50a00b543
-
- 07 Mar, 2013 1 commit
-
-
Deb Mukherjee authored
This patch revamps the entropy coding of coefficients to code first a non-zero count per coded block and correspondingly remove the EOB token from the token set. STATUS: Main encode/decode code achieving encode/decode sync - done. Forward and backward probability updates to the nzcs - done. Rd costing updates for nzcs - done. Note: The dynamic progrmaming apporach used in trellis quantization is not exactly compatible with nzcs. A suboptimal approach has been used instead where branch costs are updated to account for changes in the nzcs. TODO: Training the default probs/counts for nzcs Change-Id: I951bc1e22f47885077a7453a09b0493daa77883d
-
- 05 Mar, 2013 1 commit
-
-
Ronald S. Bultje authored
Split macroblock and superblock tokenization and detokenization functions and coefficient-related data structs so that the bitstream layout and related code of superblock coefficients looks less like it's a hack to fit macroblocks in superblocks. In addition, unify chroma transform size selection from luma transform size (i.e. always use the same size, as long as it fits the predictor); in practice, this means 32x32 and 64x64 superblocks using the 16x16 luma transform will now use the 16x16 (instead of the 8x8) chroma transform, and 64x64 superblocks using the 32x32 luma transform will now use the 32x32 (instead of the 16x16) chroma transform. Lastly, add a trellis optimize function for 32x32 transform blocks. HD gains about 0.3%, STDHD about 0.15% and derf about 0.1%. There's a few negative points here and there that I might want to analyze a little closer. Change-Id: Ibad7c3ddfe1acfc52771dfc27c03e9783e054430
-
- 27 Feb, 2013 2 commits
-
-
John Koleszar authored
This patch extends the previous support for using references of a different resolution in ZEROMV mode to all inter prediction modes. Subpixel based best-mv scoring is disabled when the reference frame differs in resolution from the current frame. Change-Id: Id4dc3e5e6692de98d9857fd56bfad3ac57e944ac
-
John Koleszar authored
This patch allows coding frames using references of different resolution, in ZEROMV mode. For compound prediction, either reference may be scaled. To test, I use the resize_test and enable WRITE_RECON_BUFFER in vp9_onyxd_if.c. It's also useful to apply this patch to test/i420_video_source.h: --- a/test/i420_video_source.h +++ b/test/i420_video_source.h @@ -93,6 +93,7 @@ class I420VideoSource : public VideoSource { virtual void FillFrame() { // Read a frame from input_file. + if (frame_ != 3) if (fread(img_->img_data, raw_sz_, 1, input_file_) == 0) { limit_ = frame_; } This forces the frame that the resolution changes on to be coded with no motion, only scaling, and improves the quality of the result. Change-Id: I1ee75d19a437ff801192f767fd02a36bcbd1d496
-
- 23 Feb, 2013 1 commit
-
-
Ronald S. Bultje authored
Change-Id: I5416455f8f129ca0f450d00e48358d2012605072
-
- 15 Feb, 2013 1 commit
-
-
Ronald S. Bultje authored
Change-Id: I7a5314daca993d46b8666ba1ec2ff3766c1e5042
-