summaryrefslogtreecommitdiff
path: root/vp8/encoder
AgeCommit message (Collapse)Author
2010-06-24Added first-pass sse2 version of Yaowu's new fdct.Scott LaVarnway
Change-Id: Ib479210067510162879c368428b92690591120b2
2010-06-24Redo the forward 4x4 dctYaowu Xu
The new fdct lowers the round trip sum squared error for a 4x4 block ~0.12. or ~0.008/pixel. For reference, the old matrix multiply version has average round trip error 1.46 for a 4x4 block. Thanks to "derf" for his suggestions and references. Change-Id: I5559d1e81d333b319404ab16b336b739f87afc79
2010-06-24vp8cx : bestsad declared and initialized incorrectly.Fritz Koenig
bestsad needs to be a int and set to INT_MAX because at the end of the function it is compared to INT_MAX to determine if there was a match in the function. Change-Id: Ie80e88e4c4bb4a1ff9446079b794d14d5a219788
2010-06-24vp8cx : bestsad declared and initialized incorrectly.Fritz Koenig
bestsad should be an int initialized to INT_MAX. The optimized SAD function expects a signed value for bestsad to use for comparison and early loop termination. When no match is made, which is determined by a comparison of bestsad to INT_MAX, INT_MAX is returned.
2010-06-21Fix breakout thresh computation for golden & AltRef framesagrange
1. Unavailability of each reference frame type should be tested independently, 2. Also, only the VP8_GOLD_FLAG needs to be tested before setting golden frame specific thresholds, and only VP8_ALT_FLAG needs testing before setting thresholds relevant to the AltRef frame. (Raised by gbvalor, in response to Issue 47) Change-Id: I6a06fc2a6592841d85422bc1661e33349bb6c3b8
2010-06-21Changed unary operator from ! to ~agrange
Since the intent is to reset the appropriate bit in ref_frame_flags not to test a logic condition. Prior result would always have been ref_frame_flags being set to 0. (Issue reported by dgohman, issue 47) Change-Id: I2c12502ed74c73cf38e98c9680e0249c29e16433
2010-06-21Moved DOUBLE_DIVIDE_CHECK to denominator (was on numerator)agrange
The DOUBLE_DIVIDE_CHECK macro prevents from divide by 0, so must be on the denominator to work as intended. Change-Id: Ie109242d52dbb9a2c4bc1e11890fa51b5f87ffc7
2010-06-18vp8_block_error_xmm: remove unnecessary instructionsJim Bankoski
Remove a couple instructions from this function which weren't necessary for correct execution. Change-Id: Ib649674f140689f7e5c1530c35686241688a3151
2010-06-18cosmetics: trim trailing whitespaceJohn Koleszar
When the license headers were updated, they accidentally contained trailing whitespace, so unfortunately we have to touch all the files again. Change-Id: I236c05fade06589e417179c0444cb39b09e4200d
2010-06-14Fix compiler warningsGuillermo Ballester Valor
Change-Id: I2a97f08cc3c7808ce5be39e910cc5147ecf03a1d
2010-06-14sse2 version of vp8_regular_quantize_bScott LaVarnway
Added sse2 version of vp8_regular_quantize_b which improved encode performance(for the clip used) by ~10% for 32 bit builds and ~3% for 64 bit builds. Also updated SHADOW_ARGS_TO_STACK to allow for more than 9 arguments. Change-Id: I62f78eabc8040b39f3ffdf21be175811e96b39af
2010-06-13Merge "Make this/next iiratio unsigned."John Koleszar
2010-06-13Merge "Tuning of baseline Rd equation to improve behavior at the"Paul Wilkins
2010-06-12Make this/next iiratio unsigned.John Koleszar
This patch addresses issue #79, which is a regression since commit 28de670 "Fix RD bug." If the coded error value is zero, the iiratio calculation effectively multiplies by 1000000 by the DOUBLE_DIVIDE_CHECK macro. This can result in a value larger than INT_MAX, giving a negative ratio. Since the error values are conceptually unsigned (though they're stored in a double) this patch makes the iiratio values unsigned, which allows the clamping to work as expected.
2010-06-11Enable vp8_sad16x16x4d_sse3 in non-RTCD caseJohn Koleszar
Typo caused C version of 16x16x4 SAD to be called when built with --disable-runtime-cpu-detect. Change-Id: I0fe6fa67280b3a5f13acb3c8ed914f039aaaf316
2010-06-11Tuning of baseline Rd equation to improve behavior at thePaul Wilkins
low and high Q ends.
2010-06-10Merge "Adjust to avoid long line"Paul Wilkins
2010-06-10Adjust to avoid long linePaul Wilkins
2010-06-10Merge "Correct comment"Paul Wilkins
2010-06-10Merge "Fix RD bug."Paul Wilkins
2010-06-08minor cleanup of quantizer and fdct codeYaowu Xu
Change-Id: I7ccc580410bea096a70dce0cc3d455348d4287c5
2010-06-08fix a typoYaowu Xu
Change-Id: I180a05ad57ee6164a6a169ee08e8affd09671eee
2010-06-08Correct commentPaul Wilkins
2010-06-07Fix RD bug.Paul Wilkins
2010-06-07Remove duplicate and unused functionsYaowu Xu
Change-Id: I944035e720ef834561a9da0d723879a4f787312c
2010-06-04LICENSE: update with latest textJohn Koleszar
Change-Id: Ieebea089095d9073b3a94932791099f614ce120c
2010-05-27Fix stats format and correct data size and bit rate outputYaowu Xu
Change-ID: I093abe6094589a0d73f6ca85b825678a19e68285
2010-05-26Merge "Correct bit allocation when the alternative reference frame"Paul Wilkins
2010-05-25Correct bit allocation when the alternative reference framePaul Wilkins
is constructed from multiple source frames Change-Id: I2e026c10d02b071b401c9fe8ab8dcfc0ac306103
2010-05-24install includes in DIST_DIR/include/vpx, move vpx_codec/ to vpx/John Koleszar
This renames the vpx_codec/ directory to vpx/, to allow applications to more consistently reference these includes with the vpx/ prefix. This allows the includes to be installed in /usr/local/include/vpx rather than polluting the system includes directory with an excessive number of includes. Change-Id: I7b0652a20543d93f38f421c60b0bbccde4d61b4f
2010-05-24Merge "Fixed an encoder debug/relese mismatch in x86_64-win64-vs8"John Koleszar
2010-05-24Fixed minor bug for realtime-only buildingYunqing Wang
2010-05-20Fixed incorrect casts that broke rate control in some situations.Paul Wilkins
2010-05-19Fixed an encoder debug/relese mismatch in x86_64-win64-vs8Yaowu Xu
Visual c++ compiler uses xmm registers for floating point operations for 64 bit architecture, therefore its calling convention requires the preservation of xmm6-xmm15 in any function that have used these registers. However, the sse2 functions, that were originally written for 32 bit windows, may have used xmm6 and xmm7 without preserving the content. In this particular case, the compiler used xmm6 to save the variable "two_pass_min_rate", the value of the variable is mucked up by our sse2 optimized loop filter functions, hence the results of release/debug mismatching.
2010-05-19remove unneeded variablesPavol Rusnak
2010-05-18Initial WebM releaseJohn Koleszar