summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-19Modified no memory rate control.Paul Wilkins
This 2-pass rate control setting allocates bits based on first pass stats to each kf group, gf group and individual frame but does not correct the bits left and allocation after each frame. In other words it recommends a bit allocation for each frame but does not try and correct any over or under spend on a frame over the remainder of the clip. This reduces the accuracy of rate control in terms of hitting an average bitrate but prevents problems that may arise because early frames either use to many or too few bits. This mode is currently more inclined to undershoot than overshoot (particularly at higher data rates). Also minor changes to rate of adaption when recode loop is not enabled. This mode is currently enabled by default for VBR. It gives the following % performance gains. derf +0.467, +1.072 yt 2.962, 2.645 stdhd 1.682, 1.595, yt-hd 2.3, 2.174 Change-Id: I3c84a9bf8884e5b345698ff0e19187f792c2f3a0
2013-10-19Reduced delta for kf/gf/arf when at maxq.Paul Wilkins
Delta reduced because of concern about popping on some very hard clips. Also allow some frame recode at speed 2 for kf/gf/arf. Change-Id: Ib47dff42da41aa6eec83b7285fcaaca24abb851e
2013-10-18Disable d207 intra prediction SSSE3 functionsYunqing Wang
Commit "d207 intra prediction ssse3 using bytes" caused mismatch while building 32bit PIC code. Disabled these SSSE3 functions until we fix the bug. Change-Id: Ic444e531d3d4058092fe6eab09006b44fcb18e4c
2013-10-18Merge "vp9 dec/com: only update frame counts when necessary"James Zern
2013-10-18Merge "vp9 com/dec: avoid reading unavailable above/left"James Zern
2013-10-18vp9 dec/com: only update frame counts when necessaryJames Zern
don't update them when frame_parallel_mode is true Change-Id: I22ff131a6c6eea238415d10b729f195c7d6dc60d
2013-10-18Merge "Use lookup table to simplify logic"Yaowu Xu
2013-10-18Merge "Using stride (# of elements) instead of pitch (bytes) in fdct16x16."Dmitry Kovalev
2013-10-18vp9 com/dec: avoid reading unavailable above/leftJames Zern
in most cases at least the left column was a harmless race as it was left unused later in the code. Change-Id: I43211df66fb157c6feecf08c681add4fcf18b644
2013-10-18Merge "Converted assert to error checking"Yaowu Xu
2013-10-18Merge "Passing block index explicitly instead of using get_sb_index()."Dmitry Kovalev
2013-10-18Using stride (# of elements) instead of pitch (bytes) in fdct16x16.Dmitry Kovalev
Just making fdct consistent with iht/idct/fht functions which all use stride (# of elements) as input argument. Change-Id: I2d95fdcbba96aaa0ed24a80870cb38f53487a97d
2013-10-18Converted assert to error checkingYaowu Xu
Change-Id: Icb8c677f910f588cc7c97e70f024787fe6789257
2013-10-18Merge "Added checking for invalid size"Yaowu Xu
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-18Added checking for invalid sizeYaowu Xu
Change-Id: I9672a61e60a26e2934796f088880ce4cb49605be
2013-10-18Merge "Add missing calls to emms in the adaptive quantization code"Paul Wilkins
2013-10-17fix a VP8 build issueYaowu Xu
coef_counts is now in cpi->mb, instead of cpi. The commit corrected the mis-use and enable succefual build. Change-Id: I0e77909d34571cfd2560c66b46b1f8fa0cd1a6b4
2013-10-17Use lookup table to simplify logicYaowu Xu
In deciding the transform size for a given block in a given TX_MODE. Change-Id: I1467da09853e69cd320695a24c04e19a2f3d04fb
2013-10-17Merge "Adding allow_hp as an argument to mv search functions."Dmitry Kovalev
2013-10-17Merge "Using TREE_SIZE macro for vp9_segment_tree."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-17Merge "Prevent first pass from outputing invalid info"Yaowu Xu
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-16Using TREE_SIZE macro for vp9_segment_tree.Dmitry Kovalev
Change-Id: I2965453135643d8f061b9fa9406fdca2db9c961e
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-16Prevent first pass from outputing invalid infoYaowu Xu
First pass does not produce compressed data, therefore encode/decode match check is not initialized. Change-Id: I1971a6747337872a850987cc70ba267bd0f1d564
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-16Merge "Cleanup of decode_coefs() function."Dmitry Kovalev
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-16Merge "Using constants instead of plain numbers."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-16Merge "lint-hunks: remove runtime/int filter"James Zern
2013-10-15Merge "Updated encoder to handle intra-only frames"Adrian Grange
2013-10-15Merge "Remove Windows-style newlines using dos2unix"Johann
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