- 02 Aug, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I94f6b4272b95ac101de6d10f048116ba065788b0
-
Dmitry Kovalev authored
Change-Id: Ic878d31df2ce783a2c9a8c4bc9ed301ec8ffe25e
-
- 01 Aug, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I8715f08a3554bdb557c5f935f1dfbd671f18e766
-
- 27 Jul, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I5a3e83102784cabb918a5404405fcab99c5bb9b6
-
- 25 Jul, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Removing unused constants, macros, and function declarations. Using ROUND_POWER_OF_TWO macro, vp9_zero, vp9_copy where possible. Moving #include from *.h to *.c. Merging for loops for motion vectors. Change-Id: Ic3bf841764a2bb177128bb3a6d7aa8f68229cd13
-
- 18 Jul, 2013 - 1 commit
-
-
Ronald S. Bultje authored
This prevents a duplicate memcpy of a 128-byte struct every time set_scale_factors() is called (which is a lot), thus leading to a decrease from 3.7 MB to 1.85 MB of struct copying per 64x64 block RD/partition loop. Overall, this decreases encoding time of the first 50 frames of bus @ 1500kbps (speed 0) from 1min5.9 to 1min4.9, i.e. about a 1.5% overall speedup. We can likely get more gains by removing the copy of the other struct (and replacing it with an indexing) as well. Change-Id: I3dceb7e79f71e6fe911b11cc994cf89a869dde7a
-
- 16 Jul, 2013 - 1 commit
-
-
Yaowu Xu authored
This is a short term optimization till we work out a decoder implementation requiring no frame border extension. Change-Id: I02d15bfde4d926b50a4e58b393d8c4062d1be70f
-
- 11 Jul, 2013 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: I3ce849452ed4f08527de9565a9914d5ee36170aa
-
- 10 Jul, 2013 - 1 commit
-
-
Jim Bankoski authored
Change-Id: Ie0cb732fdcb98616a422c4463bff80642248d136
-
- 02 Jul, 2013 - 1 commit
-
-
Ronald S. Bultje authored
Change-Id: Ibfd2def2c088f4bc541a1de25990d73480b53d4b
-
- 27 Jun, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Using vp9_set_pred_flag function instead of custom code, adding decode_tokens function which is now called from decode_atom, decode_sb_intra, and decode_sb. Change-Id: Ie163a7106c0241099da9c5fe03069bd71f9d9ff8
-
- 21 Jun, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Using MV instead of int_mv for function arguments. Change-Id: Ic25e13dccbc98fac1fa1b3255127e00cca2a57f6
-
- 10 Jun, 2013 - 1 commit
-
-
Tero Rintaluoma authored
Fixed point scaling factors are calculated once for each reference frame by using integer division. Otherwise fixed point scaling routines are used in all scaling calculations. This makes it possible to calculate fixed point scaling factors on device driver software and pass them to hardware and thus avoid division on hardware. TODO: - Missing check for maximum frame dimensions (currently scaling uses 14 bits) - Missing check for maximum scaling ratio (upscaling 16:1, downscaling 2:1) Problems: - Straightforward fixed point implementation can cause error +-1 compared to integer division (i.e. in x_step_q4). Should only be an issue for frames larger than 16k. Change-Id: I3cf4dabd610a4dc18da3bdb31ae244ebaf5d579c
-
- 07 Jun, 2013 - 1 commit
-
-
Ronald S. Bultje authored
Code intra/inter, then comp/single, then the ref frame selection. Use contextualization for all steps. Don't code two past frames in comp pred mode. Change-Id: I4639a78cd5cccb283023265dbcc07898c3e7cf95
-
- 31 May, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: Ie869ea4992e26867caec46cb878fc86a646aeb9f
-
Dmitry Kovalev authored
Change-Id: I02c17fb733c0f3c22dc3167c3d3182797415f1ae
-
Ronald S. Bultje authored
We leave it in rdopt.c as a local define for now - this can be removed later. In all other places, we remove it, thereby slightly decreasing the size of some arrays in the bitstream. Change-Id: Ic2a9beb97a4eda0b086f62c039d994b192f99ca5
-
- 17 May, 2013 - 1 commit
-
-
John Koleszar authored
This is a mostly-working implementation of an extra channel in the bitstream. Configure with --enable-alpha to test. Notable TODOs: - Add extra channel to all mismatch tests, PSNR, SSIM, etc - Configurable subsampling - Variable number of planes (currently always uses all 4) - Loop filtering - Per-plane lossless quantizer - ARNR support This implementation just uses the same contents as the Y channel for the A channel, due to lack of content and general pain in playing back 4 channel content. A later patch will use the actual alpha channel passed in from outside the codec. Change-Id: Ibf81f023b1c570bd84b3064e9b4b8ae52e087592
-
- 15 May, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I2408ad22717784a40e23701ccb9d978265440e4f
-
Dmitry Kovalev authored
Change-Id: I5da9c16bab26f6ff0c9d3a2a29ef6c84f5093161
-
- 10 May, 2013 - 1 commit
-
-
John Koleszar authored
The previous code was somewhat vestigial for 16x16 MI units, but was incorrect when called with chroma blocks larger than 4x4 because the block index caused a reference to a non-existent BMI. This patch uses the same MV for all chroma subblocks in SPLITMV mode, which is suboptimal for non-4:2:0 subsamplings, but as SPLITMV may be removed in the near future, will use this as a stop gap. Change-Id: I3211cee5ccf1cfb426e5eef5353b0ce5bb92b4cd
-
- 08 May, 2013 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ia85b987c935d545920dcae5a6f44136b1a08a008
-
- 07 May, 2013 - 3 commits
-
-
Paul Wilkins authored
Delete code under the CONFIG_COMP_INTERINTRA_PRED flag. Change-Id: I3d1079cf46305c08f7e11d738596ea112e7b547f
-
Paul Wilkins authored
Clean out code under CONFIG_ENABLE_6TAP flag. Change-Id: Ic45b624081181027d6ba24d55dd644c3197f9830
-
Jingning Han authored
Pull sb8x8 out of experimental list. verified via borg run tests. Fixed unit test failures. Change-Id: I12a4bbd17395930580c048ab68becad1ffe46e76
-
- 30 Apr, 2013 - 1 commit
-
-
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
-
- 26 Apr, 2013 - 2 commits
-
-
Ronald S. Bultje authored
Change-Id: I087e08e7909a406b71715b8525c104208daa6889
-
Scott LaVarnway authored
This originally was "Removed update_blockd_bmi()". Now, this patch removed bmi from blockd and uses the bmi found in mode_info_context. Eliminates unnecessary bmi copies between blockd and mode_info_context. Change-Id: I287a4972974bb363f49e528daa9b2a2293f4bc76
-
- 23 Apr, 2013 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: If8ba37bf0b86e8dea88c27d911e8ddb0f6d5a3c5
-
Jingning Han authored
This commit enables rectangular block prediction of compound inter-intra mode. It combines the mb/sb32/sb64 prediction functions into a unified version with configurable block width and height. This fixes the enc/dec mismatch of the codebase when comp-interintra-pred is enabled. Change-Id: I1d0db2f1f184007802df04fcd12b9dadb3189ff0
-
- 22 Apr, 2013 - 3 commits
-
-
Deb Mukherjee authored
Removing this experiment for now, since it has been broken with the latest code changes. Change-Id: I1be2181b56de490fcb577f5905b5e147a8ed82d8
-
John Koleszar authored
Continue moving framebuffers to per-plane data. Change-Id: I237e5a998b364c4ec20316e7249206c0bff8631a
-
John Koleszar authored
Removes the redundant dst pointers from vp9_build_inter_predictors_sb{y,uv} and the remaining mb specific functions. Change-Id: I7b6bf439d9394b85ea79b4fe61a3ffc1025720da
-
- 19 Apr, 2013 - 6 commits
-
-
John Koleszar authored
First in a series of commits moving the framebuffers pointers to per-plane data, so that they can be indexed numerically rather than by name. Change-Id: I6e0d60fd4d51e6375c384eb7321776564df21775
-
John Koleszar authored
All build_inter_predictors can now be serviced by the same inner function. Change-Id: I40b08bee8f047286db4b1aad9dcae37b879c3f2a
-
John Koleszar authored
Similar to the prior change that removed the rounding from non-SPLITMV modes. Improves quality by a similar amount (Additional +0.087% on derf) Change-Id: I39d80b4a3037a3aa7e285eb2320346ddaf646f52
-
John Koleszar authored
Updates to make non-SPLITMV inter predictors work for all plane types. Change-Id: I25dbef40b7ffcac30254b43eed1e22fc732378ae
-
John Koleszar authored
Consider the previous behavior for the MV 1 3/8 (11/8 pel). In the existing code, the fractional part of the MV is considered separately, and rounded is applied, giving a result of 6/8. Rounding is not required in this case, as we're increasing the precision from a q3 to a q4, and the correct value 11/16 can be represented exactly. Slight gain observed (+.033 average on derf) Change-Id: I320e160e8b12f1dd66aa0ce7966b5088870fe9f8
-
John Koleszar authored
This commit converts the luma versions of vp9_build_inter_predictors_sb to use a common function. Update the convolution functions to support block sizes larger than 16x16, and add a foreach_predicted_block walker. Next step will be to calculate the UV motion vector and implement SBUV, then fold in vp9_build_inter16x16_predictors_mb and SPLITMV. At the 16x16, 32x32, and 64x64 levels implemented in this commit, each plane is predicted with only a single call to vp9_build_inter_predictor. This is not yet called for SPLITMV. If the notion of SPLITMV/I8X8/I4X4 goes away, then the prediction block walker can go away, since we'll always predict the whole bsize in a single step. Implemented using a block walker at this stage for SPLITMV, as a 4x4 "prediction block size" within the BLOCK_SIZE_MB16X16 macroblock. It would also support other rectangular sizes too, if the blocks smaller than 16x16 remain implemented as a SPLITMV-like thing. Just using 4x4 for now. There's also a potential to combine with the foreach_transformed_block walker if the logic for calculating the size of the subsampled transform is made more straightforward, perhaps as a consequence of supporing smaller macroblocks than 16x16. Will watch what happens there. Change-Id: Iddd9973398542216601b630c628b9b7fdee33fe2
-
- 18 Apr, 2013 - 1 commit
-
-
Jingning Han authored
Use in-place buffers (dst of MACROBLOCKD) for macroblock prediction. This makes the macroblock buffer handling consistent with those of superblock. Remove predictor buffer MACROBLOCKD. Change-Id: Id1bcd898961097b1e6230c10f0130753a59fc6df
-