summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2013-10-18Passing block index explicitly instead of using get_sb_index().Dmitry Kovalev
That makes decoder and encoder (only bitstream writing part) a little bit simpler and faster. Moving get_sb_index() function to the encoder. Change-Id: Ie91aaeefd69c84b085948267b33556a7666c6278
2013-10-18Merge "Add missing calls to emms in the adaptive quantization code"Paul Wilkins
2013-10-17Merge "Adding allow_hp as an argument to mv search functions."Dmitry Kovalev
2013-10-17Merge "Removing last_kf_gf_q member from VP9Common structure."Dmitry Kovalev
2013-10-17Add missing calls to emms in the adaptive quantization codeGuillaume Martres
Also avoid using floating-point operations when adaptive quantization is disabled. Change-Id: I54936d7afb661df049cdb3ecd246d04ac2a9d8d3
2013-10-17Adding allow_hp as an argument to mv search functions.Dmitry Kovalev
Making this change in order to move allow_high_precision_mv field from MACROBLOCKD structure to VP9_COMMON (because it is a frame level flag). Change-Id: I1d006ba36d938e0caf4d40fa051e2e38df9c1108
2013-10-17Using stride (# of elements) instead of pitch (bytes) in fdct32x32.Dmitry Kovalev
Just making fdct consistent with iht/idct/fht functions which all use stride (# of elements) as input argument. Change-Id: Id623c5113262655fa50f7c9d6cec9a91fcb20bb4
2013-10-16Removing last_kf_gf_q member from VP9Common structure.Dmitry Kovalev
It looks like we don't actually use this value. Change-Id: If21d52b597337e7755f7ea817824fc2b1e477a14
2013-10-16Merge changes I6226456d,I97925178,I766c4b74Guillaume Martres
* changes: Use a separate MODE_INFO stream for each tile column Get rid of "this_mi", use "mi_8x8[0]" everywhere instead Make the static_segmentation feature work again
2013-10-16Use a separate MODE_INFO stream for each tile columnGuillaume Martres
This should make parallel tiles decoding easier to implement. Change-Id: I6226456dd11f275fa991e4a7a930549da6675915
2013-10-16Get rid of "this_mi", use "mi_8x8[0]" everywhere insteadGuillaume Martres
The only case where they were intentionally pointing to different structures was in mbgraph, and this didn't have the expected behavior because both of these pointers are used interchangeably through the code Change-Id: I979251782f90885fe962305bcc845bc05907f80c
2013-10-16Make the static_segmentation feature work againGuillaume Martres
Change-Id: I766c4b74db526efa4ff6dd2d95ef3e0beb45b6e5
2013-10-16Merge "Adding get_band_translate() function."Dmitry Kovalev
2013-10-16Merge "Prevent accidental changes to the previous frame mode_infos"Guillaume Martres
2013-10-16Merge "change to use vp9_idct_32x32_add"Yaowu Xu
2013-10-16Adding get_band_translate() function.Dmitry Kovalev
Moving code that gets band_translate array from get_scan_and_band() function to get_band_translate() function. Renaming get_scan_and_band() to get_scan(). Change-Id: I43047c205a1ca2a6e24be44db39dc04b7a385008
2013-10-16Inlining and removing fwd_txm16x16 and fwd_txm8x8 pointers.Dmitry Kovalev
Change-Id: I3528ba1c3fee761918509f9d9dc2d842c69f5a44
2013-10-16change to use vp9_idct_32x32_addYaowu Xu
instead of vp9_idct32x32_1024_add by making use the eob positions Change-Id: Iafcad20f0c75d8e00536c6a20dda76fe40a973fb
2013-10-16Merge "Removing print_prob_tree function and vp9_coeff_probs typedef."Dmitry Kovalev
2013-10-16Merge "Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h."Dmitry Kovalev
2013-10-16Initial 1-pass.Marco Paniconi
Change-Id: I58c5436f5c95f6012fb2891cd2a02f76e4870b6a
2013-10-16Implement variance-based adaptive quantizationGuillaume Martres
This should be similar to what x264 does with --aq-mode 1. It works well with clips like parkjoy and touhou (http://x264.nl/developers/Dark_Shikari/LosslessTouhou.mkv). At low bitrates, the segmentation signaling overhead may negate the benefits of this feature. (PGW) Default changed to feature OFF to allow provisional merge. Change-Id: I938abf9bb487e1d4ad3b0264ea03d9826275c70b
2013-10-15Merge "Updated encoder to handle intra-only frames"Adrian Grange
2013-10-15Merge "Make vp9_zero use cases of consistent format"Jingning Han
2013-10-15Updated encoder to handle intra-only framesAlexander Voronov
Updated the encoder to handle frames that are coded intra-only. Intra-only frames must be non-showable, that is, the "show frame" flag must be set to 0 in the frame header. Tested by forcing the ARF frames to be coded intra- only. Note: The rate control code will need to be modified to account for intra-only frames better than they are currently handled. Change-Id: I6a9dd5337deddcecc599d3a44a7431909ed21079
2013-10-15Merge "Remove unused variable vp9_64x64_zeros"Jingning Han
2013-10-15Merge "Fix a few indent format issues in buffer defs"Jingning Han
2013-10-15Merge "Remove unused comment"Jingning Han
2013-10-15Merge "Re-design all-zero-coeff block index buffer use"Jingning Han
2013-10-15Make vp9_zero use cases of consistent formatJingning Han
Remove the semicolon in the definition of vp9_zero macro. Make all the use cases of vp9_zero of consistent format. Change-Id: Ibaf9751e8595872b12766381a93d185a4d90df8f
2013-10-15Remove unused variable vp9_64x64_zerosJingning Han
Remove the unused variable vp9_64x64_zeros from vp9_encodeframe_. Change-Id: I34bfdcab9a9105440ad05154c1e0516e70258785
2013-10-15Fix a few indent format issues in buffer defsJingning Han
Change-Id: Iac55891ac9e6f13718c9f822aa099b5ca491832a
2013-10-15Remove unused commentJingning Han
Change-Id: I2d96940fae4c7a16661a43c2bf6907d8b1c1a127
2013-10-15Removing unused 8x4 transform from the encoder.Dmitry Kovalev
Change-Id: Icbcf68b5b685a56f255ebc3859c9692accdadf9e
2013-10-15Re-design all-zero-coeff block index buffer useJingning Han
Use the zcoeff_blk buffer of PICK_MODE_CONTEXT to store the indexes of all-zero-coeff block of the current best mode. Remove the temporary buffer best_zcoeff_blk defined in the rate-distortion optimization loop. This improves the speed performance by about 0.5% in all speed settings. Change-Id: Ie3e15988ddfa581eafa2e19a8228d3fe4a46095c
2013-10-14Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h.Dmitry Kovalev
Change-Id: Idd7bdb0c364d94c5a0d24c87bb8574292e4c840c
2013-10-14Removing print_prob_tree function and vp9_coeff_probs typedef.Dmitry Kovalev
Change-Id: If14265084e9b4c85c75b43e8d33a6fafad468cbc
2013-10-14Merge "Move token_cache from cost_coeffs to MACROBLOCK"Jingning Han
2013-10-14Move token_cache from cost_coeffs to MACROBLOCKJingning Han
This commit moves token_cache buffer into macroblock struct, instead of defining as a local variable in cost_coeffs. This avoids repeatedly re-allocating memory space in the rate-distortion optimization loop. The runtime at speed 0 reduces: bus 2000kbps, 161692ms to 159951ms football 600kbps, 229505ms to 225821ms Change-Id: If7da6b0b6d8c5138a16271a33c4548fba33d8840
2013-10-11Consistent names for inverse hybrid transforms (2 of 2).Dmitry Kovalev
Renames: vp9_iht_add -> vp9_iht4x4_add vp9_iht_add_8x8 -> vp9_iht8x8_add vp9_iht_add_16x16 -> vp9_iht16x16_add Change-Id: I8f1a2913e02d90d41f174f27e4ee2fad0dbd4a21
2013-10-11Merge "Consistent names for inverse hybrid transforms (1 of 2)."Dmitry Kovalev
2013-10-11Merge "Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB."Dmitry Kovalev
2013-10-11Merge "Change in rddiv parameter to make it a power of 2"Deb Mukherjee
2013-10-11Consistent names for inverse hybrid transforms (1 of 2).Dmitry Kovalev
Renames: vp9_short_iht4x4_add -> vp9_iht4x4_16_add vp9_short_iht8x8_add -> vp9_iht8x8_64_add vp9_short_iht16x16_add_c -> vp9_iht16x16_256_add Change-Id: Ibca7a188fd062b196787ac5efc1ea545e7f166c0
2013-10-11Merge "Adding const to the input argument of all 1D transforms."Dmitry Kovalev
2013-10-11Merge "Masking intra mode choice adaptively"Yaowu Xu
2013-10-11Adding const to the input argument of all 1D transforms.Dmitry Kovalev
Also adding static to iadst16_1d and fadst16 functions. Change-Id: I13c7df3b776f0f8efc6e80099bdb0a2f6d29edaf
2013-10-11Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB.Dmitry Kovalev
Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing them with one constant. Inlining appropriate arguments for functions: vp9_cond_prob_diff_update (encoder) vp9_diff_update_prob (decoder) Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338
2013-10-11Merge "Removing vp9_tree_p typedef."Dmitry Kovalev
2013-10-11Change in rddiv parameter to make it a power of 2Deb Mukherjee
Converts the constant rddiv parameter to 128 (from 100) and implements RDCOST with bit-shift rather than multiplication. Other parameters are also adjusted to roughly keep the same balance between Rate and Distortion. There is a slight speed-up of about 0.5-1% (at speed 0) as testted on football_cif. There is a slight change in performance due to small change in the parameters. derfraw300: +0.033% stdhdraw250; +0.102% Change-Id: I70ac69f58fa71c83108f68fe41796cd19d1fc760