summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-11-17Merge "Added predictor stride argument(s) to subtract functions"Scott LaVarnway
2011-11-16Merge "avoid resetting framerate during vpx_codec_enc_config_set()"Johann
2011-11-15Added predictor stride argument(s) to subtract functionsScott LaVarnway
Patch set 2: 64 bit build fix Patch set 3: 64 bit crash fix [Tero] Patch set 4: Updated ARMv6 and NEON assembly. Added also minor NEON optimizations to subtract functions. Patch set 5: x86 stride bug fix Change-Id: I1fcca93e90c89b89ddc204e1c18f208682675c15
2011-11-11Add x86_64-win64-gcc to supported targetsRafaël Carré
libvpx builds and runs correctly when built with x86_64-w64-mingw32-gcc Version tested: 4.6.1 Change-Id: I9aa953d615551ca4834c9a5f8b68778d032a6cf5
2011-11-11Update LICENSE to reflect WebM authorsJohn Koleszar
This code is Copyright The WebM Project Authors, not only Google. Change-Id: Ib5a9dec4ba3177ccb2b06dcfe9605d2b3a3a3d8b
2011-11-11avoid resetting framerate during vpx_codec_enc_config_set()John Koleszar
The calculated frame_rate is a state variable in the codec, and shouldn't be maintained in the configuration struct. Move it to the main part of cpi so that it isn't clobbered when the configuration struct is updated. The initial framerate estimate is moved from the vp8_cx_iface.c wrapper into the body of init_config() in onyx_if.c, so that it is only called once and not reset on every call to vp8_change_config(). Change-Id: I8d9a3d1283330d1ee297d07e9d78d1f2875f2465
2011-11-10Merge "vpxdec: avoid redefining fileno() on mingw"Johann
2011-11-09vpxdec: avoid redefining fileno() on mingwJames Zern
Correct ifdef check for Visual Studio's compiler, mingw builds can use unistd.h. Change-Id: I25c5ee46ef75ffbff03f560293dfb3d6bed55f70
2011-11-09vpxenc: use off64_t for mingwJames Zern
fixes fseek errors on large files resulting in corrupt/truncated output (issue #364). Change-Id: If0e189a1591d0e95d7d237332e0bea1cf2ec5aa1
2011-11-09Merge "Relocated idct/add calls for encoder"Scott LaVarnway
2011-11-09Merge "ARMv6 optimized Intra4x4 prediction"Johann
2011-11-09Merge "Reset FPU state after calc_plane_error()"John Koleszar
2011-11-09Merge "Compiler warning fix for const array."John Koleszar
2011-11-09Merge "Remove unused file recon.c"John Koleszar
2011-11-09Relocated idct/add calls for encoderScott LaVarnway
Call the idct/add after the tokenize. This is WIP with the goal of creating a common idct/add for the encoder and decoder. This move is necessary because the decoder's version of the idct clobbers qcoeff, which is used by the tokenize. Change-Id: I6b08d8e8397cd873647fa4fb9469884e3c876756
2011-11-09ARMv6 optimized Intra4x4 predictionTero Rintaluoma
Added ARM optimized intra 4x4 prediction - 2x faster on Profiler compared to C-code compiled with -O3 - Function interface changed a little to improve BLOCKD structure access Change-Id: I9bc2b723155943fe0cf03dd9ca5f1760f7a81f54
2011-11-08threading: avoid defining _WIN32_WINNTJames Zern
The referenced function (SignalObjectAndWait) isn't used. Reduces the warnings with mingw32-w64 which defines this. Change-Id: I4ce592879ec9372bf196dac640204c4d370bd210
2011-11-08Remove unused file recon.cJohn Koleszar
File not referenced from anywhere and no longer compiles. Change-Id: I38b11bd60db615c2c2c9d7ad35caba3a1adf1750
2011-11-08Fix checks in MB quantizer initializationYunqing Wang
vp8cx_mb_init_quantizer() needs to be called at least once to get all values calculated. This change added one check to decide if we could skip initialization or not. Change-Id: I3f65eb548be57580a61444328336bc18c25c085b
2011-11-08Merge "Third set of checks of buffer level against maximum buffer size"Adrian Grange
2011-11-08Merge "Additional clipping of buffer level to maximum buffer size"Adrian Grange
2011-11-07Merge "win64: use -f x64 in asflags instead of -f win64"Johann
2011-11-07Third set of checks of buffer level against maximum buffer sizeAdrian Grange
Additional check of buffer level to ensure it doesn't exceed the maximum buffer size. Change-Id: I1ba4f8b09bbec89646885040ff47470196af521e
2011-11-07Additional clipping of buffer level to maximum buffer sizeAdrian Grange
Added additional check of buffer level against maximum buffer size. Change-Id: Iaf1fbaf008601161e402b43ce82c3dbc129bf740
2011-11-07win64: use -f x64 in asflags instead of -f win64Rafaël Carré
Change-Id: Id1be1a91c7f0fd286c403489ff447837029ba17f
2011-11-07Added check to make sure maximum buffer size not exceededAdrian Grange
Added code to clip the buffer level to the maximum buffer size. Without this the buffer level would increase unchecked. This bug was found when encoding an essentially static scene at 2Mb/s. The encoder is unable to generate frames consistent with the high data-rate because Q bottoms out at Qmin. As frames generated are consistently undersized the buffer level increases and does not get checked against the maximum size specified by the user (or default). Change-Id: Id8a3c6323d3246da50f7cb53ddbf78b5528032c6
2011-11-04fix file permissionsJames Zern
all of googletest import (0ab00a22) was marked executable Change-Id: Id7b7ee03efc21ab998bb03349bd91644e8af25da
2011-11-04Compiler warning fix for const array.Fritz Koenig
Fix compiler warning for passing a non const array to a function expecting a const array by using an intermediary pointer and casting. Change-Id: I9bdd358ebdc926223993fb8fb2098ffedd2f3fc7
2011-11-04Add unit test support via google testJames Berry
Change-Id: I0ab00a22fbea1f38c96ef92ef7eaeda782c0c8d3
2011-11-04Merge "Add checks in MB quantizer initialization"Yunqing Wang
2011-11-04Merge "Fix issue 374: eob read incorrectly"Scott LaVarnway
2011-11-04Merge "Changing decoder input partition API to input fragments."John Koleszar
2011-11-04Fix issue 374: eob read incorrectlyTero Rintaluoma
Updated eob changes to check_reset_2nd_coeffs function. Change-Id: Id1b21c91c7f0fd286640b487ffe47867009b717d
2011-11-03Merge "Change use of eob in the encoder"Scott LaVarnway
2011-11-03Change use of eob in the encoderTero Rintaluoma
Changed 'int eob' to 'char *eob' in BLOCKD so that both encoder and decoder will use eobs[25] array from MACROBLOCKD structure. In future, this will enable use of the decoder side IDCT in the encoder. Change-Id: I6e1c011628cb8864fd4a0b80f0279ce16a5ca978
2011-11-02Merge "added code to clear 2nd order block when appropriate"Yaowu Xu
2011-11-01Merge "Fix: Increase default cx_data_size"John Koleszar
2011-11-01Merge "vpxenc: fix crash w/empty input file"John Koleszar
2011-11-01Changing decoder input partition API to input fragments.Stefan Holmer
Adding support for several partitions within one input fragment. This is necessary to fully support all possible packetization combinations in the VP8 RTP profile. Several partitions can be transmitted in the same packet, and they can only be split by reading the partition lengths from the bitstream. Change-Id: If7d7ea331cc78cb7efd74c4a976b720c9a655463
2011-11-01Add checks in MB quantizer initializationYunqing Wang
In some situations (f.g. error-resilient is turned on), vp8cx_mb _init_quantizer() was called once per macroblock. Added checks to avoid calculations when there is no change. Change-Id: Ie4f0a5ade2202041254990a4e9d5b03bd1ac5aea
2011-11-01vpxenc: fix crash w/empty input fileJames Zern
Fixes issue #362. Change-Id: Iba6d7e49ed610b44c8a4c0f3d6330a93feb0373d
2011-10-31Correct SPLITMV clampingJohn Koleszar
Prior to this fix, the clamping state of the last subblock partition dominated, whereas the correct behavior is to clamp if any partition needs clamping. This bug was introduced by v0.9.6-232-g6b25501 See also: [1]: http://code.google.com/p/webm/issues/detail?id=371 [2]: https://bugzilla.mozilla.org/show_bug.cgi?id=696390 Change-Id: I444db492b4c4f05f039c7da6f4216da8207dc138
2011-10-28added code to clear 2nd order block when appropriateYaowu Xu
It is discovered that in rare situations the 2nd order block may produce a few small magnitude coefficients that has no effect on reconstruction. The situations are a combination of low quantizer values (high quality) and low energy in residual signals (content dependent). This commit added code to detect such cases and reset the 2nd order block to all 0. Patch 1 to 4 used code to do all-zero-check on idct result buffer, and tests on derf set showed a consistent gain of .12%-.14% on all metrics.But due to a recent change Ie31d90b, the idct result buffer is not longer populated. So patch 5&6 use an alternative method to detect the situations. Tests on derf set now shows a consistent quality gain of .16%-.20%. As suggested by Jim, Patch 7&8 removed the condition of all first order block not having any coefficient, instead we reset 2nd order coefficients to all 0 if sum of absolute value of the coefficients is small. So it does slightly more than just detecting the oddity as discussed above, but tests on derf set now show a consistent gain of .20%-.23% on all metrics. It is worth noting here that this change does not have any effect on mid/high quantizer range, it only affects the quantizer value 18 or blow. Within this range, the change helps compression by up to 2.5% on clips in the derf set. Change-Id: I718e19cf59a4fc2462cb7070832759beb9f7e7dd
2011-10-28Merge "Improved decode_split_mv()"Scott LaVarnway
2011-10-27Merge "Fix ARM build problem introduced by CL I3fab6f2b"Johann
2011-10-27Improved decode_split_mv()Scott LaVarnway
Tests showed ~1.2% performance boost on the HD clip used. Performance will vary based on material. Change-Id: Icbcf1a828750d5b4ae5252bf596b3ef594042e8a
2011-10-27Merge "Improved mv_bias"Scott LaVarnway
2011-10-27Fix ARM build problem introduced by CL I3fab6f2bAttila Nagy
Update ARM asm implementation of vp8_start_encode to new definition. Change-Id: Ic44791c969e351082331ba6146c3384c01a0dfad
2011-10-26Merge "Reduce partial frame copy in encoder's pick_filter_level_fast"Johann
2011-10-26Improved mv_biasScott LaVarnway
Small performance gains. Change-Id: I709b9390a8a27a70f5f23574313b8db85ac7f23d