summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-09-12Merge "Changes in speed 2 settings"Paul Wilkins
2013-09-11Merge "Improved 8t filters"Scott LaVarnway
2013-09-11Merge "resolve clang issue : implicit convert tx_mode -> tx_size"Jim Bankoski
2013-09-11Improved 8t filtersScott LaVarnway
Reformatted version of a patch submitted by Erik/Tamar from Intel. For the test clips used, the decoder performance improved by ~2%. Change-Id: Ifbc37ac6311bca9ff1cfefe3f2e9b7f13a4a511b
2013-09-11Changes in speed 2 settingsDeb Mukherjee
Propose some changes to the speed 2 settings to improve quality. In particular, turns off the adjust_thresholds_by_speed feature which improves results by 6%. Also removes the code for adjust_thresholds_by_speed since it conflicts with the adaptive rd thresh feature. Overall, with this change speed 2 is -15.2% from speed 0 settings, on derf, which is significantly better than -21.6% down before. Change-Id: I6e90a563470979eb0c258ec32d6183ed7ce9a505
2013-09-11code cleanupYunqing Wang
Removed unused function. Change-Id: Icb12a09e4d303968be6aec9fae1ef05935913a4f
2013-09-10Merge "Remove redundant condition check in 32x32 quant"Jingning Han
2013-09-10Merge "vpx_mem: increase default alignment"James Zern
2013-09-10Merge "Enable and fix resize_test for VP9"Adrian Grange
2013-09-10Merge "Remove the use of uninitialized_safe in encode_sb_"Jingning Han
2013-09-10Remove redundant condition check in 32x32 quantJingning Han
The c code implementation of 32x32 quantization does the zbin check of all coefficients prior to the quant/dequant loop, hence removing the redundant zbin check inside the loop. This only affects the c code version. SSSE3 version does not separate the zbin check out. Change-Id: Ic197a7d61d0b25fcac3cc092987651378cb56e4e
2013-09-10Enable and fix resize_test for VP9Adrian Grange
Added the resize_test unit test to the VP9 set. Set g_in_frames = 0 to avoid a problem when the total number of frames being encoded is smaller than g_in_frames. In this case the test will not have access to the encoded frames and will not be able to compare them for testing for encoder/decoder mismatch. Change-Id: I0d2ff8ef058de7002c5faa894ed6ea794d5f900b
2013-09-10Merge "Small tweaks on the constant quality mode"Deb Mukherjee
2013-09-10Small tweaks on the constant quality modeDeb Mukherjee
Improves results a little. derf is now +1.078% over bitrate control. Change-Id: I4812136f3e67be21d14ec089419976a32a841785
2013-09-10Stop partition checking when distortion is smallYunqing Wang
If the current obtained distortion is very small, which happens for static image case, we pick the current partition type without further split checking. This won't affect regular videos. For static videos, we got 10%~12% encoding speed gain. PSNR was better for some clips, and worse for others. Overall it was even. Change-Id: If787a57bedf46fc595ca4f5ded2b0c0a69e9fdef
2013-09-10Merge "Modify encode breakout for static frames"Yunqing Wang
2013-09-10Modify encode breakout for static framesYunqing Wang
Thank Paul for the suggestions. While turning on static-thresh for static-image videos, a big jump on bitrate was seen. In this patch, we detected static frames in the video using first-pass stats. For different cases, disable encode breakout or reduce encode breakout threshold to limit the skipping. More modification need be done to break incorrect partition picking pattern for static frames while skipping happens. Change-Id: Ia25f47041af0f04e229c70a0185e12b0ffa6047f
2013-09-10Merge "Enable accuracy/memory check for 16x16 transforms"Jingning Han
2013-09-10Merge "Rework 16x16 transform unit test"Jingning Han
2013-09-10Merge "Speed up idct16x16 by rearrange instructions."hkuang
2013-09-10Modified mode skip functionality.Paul Wilkins
A previous speed feature skipped modes not used in earlier partitions but this not longer worked as intended following changes to the partition coding order and in conjunction with some other speed features (Especially speed 2 and above). This modified mode skip feature sets a mask after the first X modes have been tested in each partition depending on the reference frame of the current best case. This patch also makes some changes to the order modes are tested to fit better with this skip functionality. Initial testing suggests speed and rd hit count improvements of up to 20% at speed 1. Quality results. (derf -1.9%, std hd +0.23%). Change-Id: Idd8efa656cbc0c28f06d09690984c1f18b1115e1
2013-09-10Added extra check to rd_auto_partition_range()Paul Wilkins
Added check that the returned max and minimum are valid in bottom and right border cases. Change-Id: I2d6cdc9b5f04c7d0ff512ddcf3228331e028bf9b
2013-09-09test/idct_test: add missing vpx_integer.h includeJames Zern
Change-Id: I9de764638ec981bb34fc8e183985d8c285b006fb
2013-09-09Speed up idct16x16 by rearrange instructions.hkuang
Speed improve from 376% to 400% faster base on assembly-perf. Change-Id: If0b2eccc39d5793dc101ce9feb7fcadf88396ea2
2013-09-09Enable accuracy/memory check for 16x16 transformsJingning Han
This commit completes the per coefficient accuracy check and memory overflow check for SSE2 and other implemented versions of 16x16 transform. Change-Id: If26a3e4f6ba82ccecc13f0b73cb8f7bb6ac14584
2013-09-09Merge "API extensions and sample app for spacial scalable encoder"Ivan Maltz
2013-09-09Rework 16x16 transform unit testJingning Han
This commit refactors the 16x16 transform unit test. It enables the test on all implemented versions of forward and inverse 16x16 transform modules. Change-Id: I0c7d5f3c5fdd5d789a25f73e287aeeaf463b9d69
2013-09-09API extensions and sample app for spacial scalable encoderIvan Maltz
Sample app: vp9_spatial_scalable_encoder vpx_codec_control extensions: VP9E_SET_SVC VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER VP9E_SET_MIN_Q, VP9E_SET_MAX_Q expanded buffer size for vp9_convolve modified setting of initial width in vp9_onyx_if.c so that layer size can be set prior to initial encode Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS) Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
2013-09-09Remove the use of uninitialized_safe in encode_sb_Jingning Han
Initialize the probability model context with default value in encode_sb. Change-Id: Id826114024dfc21c7ef41aea9f4a0316d4a5cb95
2013-09-09Merge "Revert "New mode_info_context storage""James Zern
2013-09-09Revert "New mode_info_context storage"James Zern
This reverts commit dae17734ece414091ba1184f7becd0aa6c0004f1 Encode crashes, leaks and increases integer overflow errors. Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2
2013-09-09changed to enable vp9_postprocYaowu Xu
In configure when internal-stats is enabled, because postprocessing code is needed for computing stats for enabling internal-stats Change-Id: I3601dc5a4aa65feb99465452486a21e75eb62c1f
2013-09-09Merge "Reduce the amount of extension in src frames"Yaowu Xu
2013-09-09Merge "Enable kf restrictions at speed 4"Paul Wilkins
2013-09-08Reduce the amount of extension in src framesYaowu Xu
The commit changes the border pixel extension from 160 pixel each side to what is necessary in arnr filter or motion estimation portion, i.e. 16 pixel on top and left side. For right or bottom side, the extension is changed to either round up image size to multiple of 64 or at least 16 pixels. Change-Id: Ic05e19b94368c1ab4df568723aae5734e6c3d2c5
2013-09-08resolve clang issue : implicit convert tx_mode -> tx_sizeJim Bankoski
Change-Id: Ifc9da470358f58e800e3d0d70a565b61e5f7834a
2013-09-08Merge "New mode_info_context storage"Jim Bankoski
2013-09-06Fix overflow issue in 16x16 quantization SSSE3Jingning Han
The 16x16 transform unit test suggested that the peak coefficient value can reach 32639. This could cause potential overflow issue in the SSSE3 implmentation of 16x16 block quantization. This commit fixes this issue by replacing addition with saturated addition. Change-Id: I6d5bb7c5faad4a927be53292324bd2728690717e
2013-09-06vpx_mem: increase default alignmentJames Zern
this prevents returning an address smaller than the natural heap alignment from vpx_malloc on e.g., x86_64 Change-Id: I283e858664a8529f28b22060c3815116a7798c0d
2013-09-06Merge "Support a constant quality mode in VP9"Deb Mukherjee
2013-09-06Enable kf restrictions at speed 4Paul Wilkins
Change-Id: I453409d3be3f5fe118b15affde45cb52184aef20
2013-09-06Support a constant quality mode in VP9Deb Mukherjee
Adds a new end-usage option for constant quality encoding in vpx. This first version implemented for VP9, encodes all regular inter frames using the quality specified in the --cq-level= option, while encoding all key frames and golden/altref frames at a quality better than that. The current performance on derfraw300 is +0.910% up from bitrate control, but achieved without multiple recode loops per frame. The decision for qp for each altref/golden/key frame will be improved in subsequent patches based on better use of stats from the first pass. Further, the qp for regular inter frames may also be varied around the provided cq-level. Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
2013-09-06cleanup cpplint warningsYaowu Xu
Suggested by James Zern to clear out cpplint warnings for all unit test code. Change-Id: I731a3fa4d2a257eb9ef733426ba84286fbd7ea34
2013-09-06New mode_info_context storageScott LaVarnway
mode_info_context was stored as a grid of MODE_INFO structs. The grid now constists of a pointer to a MODE_INFO struct and a "in the image" flag. The MODE_INFO structs are now stored as a stream, eliminating unnecessary copies and is a little more cache friendly. For the test clips used, the decoder performance improved by ~4.3% (1080p) and ~9.7% (720p). Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p) and 5.9% (720p). Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
2013-09-06Merge "fix loop filter setup_mask could reach out of bounds issue"Jim Bankoski
2013-09-05Merge "Speed up idct8x8 by rearrange instructions. Speed improve from 264% ~ ↵hkuang
270% to 280% ~ 300% base on assembly-perf."
2013-09-05fix loop filter setup_mask could reach out of bounds issueJim Bankoski
Change-Id: Ic8446c4f26b6782a6dc482c19ea73c77646df418
2013-09-05Merge "Enable 32x32 Transform unit test"Jingning Han
2013-09-05Enable 32x32 Transform unit testJingning Han
This commit enabled a full functional test on 32x32 forward/inverse transform, including round-trip error and memory overflow check. It tests the prototype functions in C and all other implementations if applicable. Change-Id: I9cc50b05abdb4863e7abbcb29209a19b1fe90da7
2013-09-05Merge "Use saturated addition in SSSE3 of 32x32 quant"Jingning Han