- 29 Apr, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I6b520553cb5334b44356dc4651a2dbc1cb93cca5
-
- 23 Apr, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Actually, it would be great to have two separate enums INTRA_MODES and INTER_MODES in future. Change-Id: I6c4147cf0002853da9c1e03fe9514eab876f01c8
-
- 21 Apr, 2014 - 1 commit
-
-
Jingning Han authored
This commit enables a background detection approach for adaptive quantizer control. It combines the cyclic refresh pattern and the background information to determine the segment id for adaptive quantizer selection, prior to the non-RD mode decision process. It hence allows proper quantization information update for a more precise rate-distortion modeling in the non-RD mode decision. The compression performance of speed -5 for rtc set is improved by 2.5%, at no speed change. Change-Id: Ic3713e8ed9185b403b5b1679d19dabd57506d452
-
- 17 Apr, 2014 - 4 commits
-
-
Jingning Han authored
Use the correct buffer to update the coding mode decision for sub8x8 blocks. Change-Id: I091ef27d2047eeb8b73ceb7c2c7c45b38ba8c6d5
-
Jingning Han authored
The background detection only tracks luma component. This commits removes the frame buffer pointer retrieval for chroma components. Change-Id: I098bd2950f5e5829ed5dc2b48568167248da7fad
-
Jim Bankoski authored
This patch sets up a quad_tree structure (pc_tree) for holding all of pick_mode_context data we use at any square block size during encoding or picking modes. That includes contexts for 2 horizontal and 2 vertical splits, one none, and pointers to 4 sub pc_tree nodes corresponding to split. It also includes a pointer to the current chosen partitioning. This replaces code that held an index for every level in the pick modes array including: sb_index, mb_index, b_index, ab_index. These were used as stateful indexes that pointed to the current pick mode contexts you had at each level stored in the following arrays array ab4x4_context[][][], sb8x4_context[][][], sb4x8_context[][][], sb8x8_context[][][], sb8x16_context[][][], sb16x8_context[][][], mb_context[][], sb32x16[][], sb16x32[], sb32_context[], sb32x64_context[], sb64x32_context[], sb64_context and the partitioning that had been stored in the following: b_partitioning, mb_partitioning, sb_partitioning, and sb64_partitioning. Prior to this patch before doing an encode you had to set the appropriate index for your block size ( switch statement), update it ( up to 3 lookups for the index array value) and then make your call into a recursive function at which point you'd have to call get_context which then had to do a switch statement based on the blocksize, and then up to 3 lookups based upon the block size to find the context to use. With the new code the context for the block size is passed around directly avoiding the extraneous switch statements and multi dimensional array look ups that were listed above. At any level in the search all of the contexts are local to the pc_tree you are working on (in?). In addition in most places code that used to call sub functions and then check if the block size was 4x4 and index was > 0 and return now don't preferring instead to call the right none function on the inside. Change-Id: I06e39318269d9af2ce37961b3f95e181b57f5ed9
-
Jingning Han authored
There is no need to initialize source/dst frame buffers at frame level. These will be done at block coding stage. This commit hence removes the redundant operations. Change-Id: I11d9f2556058c6205c8e58ed53e31f78622c41b7
-
- 16 Apr, 2014 - 2 commits
-
-
Jingning Han authored
This commit compares the current original frame to the previous original frame at 64x64 block level and decides if the entire block belongs to background area. If it is in the background area, skip non-RD partition search and copy the partition types of the collocated block in the previous frame. For vidyo1 in the rtc set, this makes the speed -5 coding speed about 8% faster. The overall compression performance is down by 1.37% for rtc set. Change-Id: Iccf920562fcc88f21d377fb6a44c547c8689b7ea
-
Paul Wilkins authored
Delete code relating to the old VP8_TUNE_SSIM flag as this code does not currently work and is largely made redundant in VP9 by the various AQ modes. Change-Id: I71f28e1f680573d296422254489000678552b17b
-
- 15 Apr, 2014 - 2 commits
- 14 Apr, 2014 - 2 commits
-
-
Dmitry Kovalev authored
Change-Id: Id687aa617650a859463e7ae63dd4c0dc4f3e4779
-
Yaowu Xu authored
Change-Id: I6ea1c335da9ca5b65f6a11466b417ad196fd0d65
-
- 11 Apr, 2014 - 3 commits
-
-
Yaowu Xu authored
Change-Id: I258351fc1fff70ff2e9fa4845e575b0bb6a423d1
-
Yaowu Xu authored
With a more approriate one vp9_setup_src_planes() as only src buffer pointers need to be initialized here. Change-Id: I40fac4d8b2d39eb7d0c65b9b6afab45138a13936
-
Dmitry Kovalev authored
Change-Id: I2d1b5c1481aefe226082e1f096ca9edd340d4d31
-
- 10 Apr, 2014 - 1 commit
-
-
Yunqing Wang authored
Minor change to use matching type in comparison. Change-Id: I670cae2d584918c67c1af791a797629f392f599e
-
- 09 Apr, 2014 - 6 commits
-
-
Dmitry Kovalev authored
This reverts commit 22a3e307 Change-Id: I460d905edf5fb2006da58c18fbe02c04d0c631bb
-
Dmitry Kovalev authored
Change-Id: I51c71dd4aee6592fb90feebcf864bccc87dacec6
-
Yunqing Wang authored
Cleanup. Change-Id: I54d989e24b35323cda7290654e425565d5c9ea2d
-
Dmitry Kovalev authored
Change-Id: I9b8f9a3f4fa9d48695149dd68ecb5e8d84accafe
-
Dmitry Kovalev authored
Change-Id: Icbfeb04647d654253866d290abd4775a877b4f61
-
Yunqing Wang authored
Calculate the difference variance between last source frame and current source frame. The variance is calculated at 16x16 block level. The variances are compared to several thresholds to decide final partition sizes. An adaptive strategy is implemented to decide using SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions in the video. The switching test is done once every search_type_check_frequency frames. The selection of source_var_thresh needs to be investigated further later. RTC set Borg test showed 0.424% overall psnr gain, and 0.357% ssim gain. For clips with large enough static area, the encoding speedup is around 2% to 15%. Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
-
- 08 Apr, 2014 - 1 commit
-
-
Jingning Han authored
This commit allows the non-RD mode decision flow to select prediction filter type in NEWMV mode. It provides 8.14% compression performance gains in both settings of AQ=0 and 3. The current speed impact is about 5% to 10% slower. Change-Id: Id66ecebf77abd8f90fb3f6a066c0e8dfb4bf1c42
-
- 07 Apr, 2014 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: Iad4002d7aecaae0e25d88e286bacde7e6cd7264f
-
Dmitry Kovalev authored
Change-Id: I9c5f7edc2d5d1ec5aee396b87bdfc99ee21c435a
-
Marco Paniconi authored
Copy up to a certain bsize, otherwise set to a fixed bsize. This helsp to reduce artifact near moving boundary caused by full partition copy without checking motion of super-block. This artifact can occur at speeds 3,4 in real-time mode. Issue: https://code.google.com/p/webm/issues/detail?id=738. Change-Id: I05812521fd38816a467f72eb6a951cae4c227931
-
- 04 Apr, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ie364fe837002de96923da2c1c0ff8bb4b8d469a7
-
- 03 Apr, 2014 - 2 commits
-
-
Dmitry Kovalev authored
Now interp_kernel is obtained when it is really required (based on mbmi->interp_filter value). Change-Id: I4c7a93c179d1045eba16e7526c293d02c9b8b47e
-
Paul Wilkins authored
This was broken by change Icc4b66f3935fad5ec4516a4d57e843d12c365e64 Change-Id: I49e3fc525664eb7a433f55f76b8f8628fe251eab
-
- 02 Apr, 2014 - 4 commits
-
-
Dmitry Kovalev authored
Change-Id: I87b0668e23c54429a06bba85437606c4780be9ba
-
Deb Mukherjee authored
Turns off the DISABLE_RC_LONG_TERM_MEM macro and makes other changes in the way the bits are updated, to make 2-pass rate control track target bitrates closer. Change-Id: I5f3be4b11c2908e6a9a9a1dd4fcf4e65531c44d8
-
Dmitry Kovalev authored
Change-Id: I4341d16ef83acd1cc9e55f7c5eff4af921bf57d4
-
Dmitry Kovalev authored
Renames: mi_8x8 -> mi mode_info_stride -> mi_stride Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
-
- 01 Apr, 2014 - 1 commit
-
-
Dmitry Kovalev authored
Change-Id: Ie2ea9dd8bd338cc9fe12ca9033df64f7644c68b3
-
- 31 Mar, 2014 - 2 commits
-
-
Alex Converse authored
This fixes active map for non-rd realtime speeds. Change-Id: I1bf416de3f7ef2e5dd2eabde052cce3c0683a52c
-
Jingning Han authored
This commit optimizes the bit allocation for the non-RD coding flow. It applies slightly better quantizer to the frames, where all blocks run a non-RD partition search. Such frames typically have better rate-distortion trade off, thus improving the reconstruction quality for next few frames reference at reasonably low increment in rate cost. The coding performance for rtc set at speed -5 with error-resilient tuned on and rate control set as cbr is improved by 19.58%. It improved the coding speed by about 10% for a portion of local test clips. Change-Id: I9d56696cd4359dc8136ca10aff10fff05aaa2686
-
- 27 Mar, 2014 - 2 commits
-
-
Jingning Han authored
Properly obtain and buffer the segment_id in non-RD mode information update process. Change-Id: I43230001872f6a986d12c0d94e98fdec0db3be2c
-
Marco Paniconi authored
Change-Id: Iffa45b9b04196c1ded6037622a8644a2500a62de
-
- 26 Mar, 2014 - 1 commit
-
-
Jingning Han authored
This commit enables the non-RD mode decision coding flow to adaptively apply partition search in non-refresh frame, when the collocated block in previous frame suggests there might be a motion activity. It refactors the update_state_rt() function to support buffer swap of mode_info struct, thereby unifying the encoding stage across various non-RD coding modes. It provides 5% compression performance gains in speed -6 for rtc test set, at about 12% speed slow down. Change-Id: Iefa374aed5a11c4b7ff9a3ed36a98ea8bd184edb
-