summaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2012-12-27Merge branch 'vp9-preview' of review:webm/libvpxJohn Koleszar
Merge the vp9-preview branch into master. Change-Id: If700b9054676f24bed9deb59050af546c1ca5296
2012-12-13Unit tests do not build for iOSJohann
Change-Id: I63423f8f2ec152cb490ddd9e6a94e431a11858f6
2012-12-10configure: add --enable-external-build supportJohn Koleszar
First attempt at avoiding all the compile-time environment detection for cases where you can generate the environments statically, as when the real build is being performed by another build system. Change-Id: Ie3cf95d71d6c5169900f31e263b84bc123cdf73f
2012-11-16Compound inter-intra experimentDeb Mukherjee
A patch on compound inter-intra prediction. In compound inter-intra prediction, a new predictor for 16x16 inter coded MBs are obtained by combining a single inter predictor with a 16x16 intra predictor, in a manner that the weight varies with distance from the top/left boundary. The current search strategy is to combine the best inter mode with the best intra mode obtained independently. Results so far: derf +0.31% yt +0.32% std-hd +0.35% hd +0.42% It is conceivable that the results would improve somewhat with a more thorough search strategy where all intra modes are searched given the best mv, or even a joint search for the best mv and the best intra mode. Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
2012-11-10New b-intra mode where direction is contextualDeb Mukherjee
Preliminary patch on a new 4x4 intra mode B_CONTEXT_PRED where the dominant direction from the context is used to encode. Various decoder changes are needed to support decoding of B_CONTEXT_PRED in conjunction with hybrid transforms since the scan order and tokenization depends on the actual direction of prediction obtained from the context. Currently the traditional directional modes are used in conjunction with the B_CONTEXT_PRED, which also seems to provide the best results. The gains are small - in the 0.1% range. Change-Id: I5a7ea80b5218f42a9c0dfb42d3f79a68c7f0cdc2
2012-11-07Merge with upstream experimental changesJohn Koleszar
Include upstream changes (unit test fixes, in particular) into the merged code base. Change-Id: I096f8a9d09e2532fbec0c95d7a995ab22fa54b29
2012-11-07Rough merge of master into experimentalJohn Koleszar
Creates a merge between the master and experimental branches. Fixes a number of conflicts in the build system to allow *either* VP8 or VP9 to be built. Specifically either: $ configure --disable-vp9 $ configure --disable-vp8 --disable-unit-tests VP9 still exports its symbols and files as VP8, so that will be resolved in the next commit. Unit tests are broken in VP9, but this isn't a new issue. They are fixed upstream on origin/experimental as of this writing, but rebasing this merge proved difficult, so will tackle that in a second merge commit. Change-Id: I2b7d852c18efd58d1ebc621b8041fe0260442c21
2012-11-07merge full pixel refmv experimentYaowu Xu
Change-Id: Ib39ad47a7d188f3b45416937b7eeb28c3e79b74c
2012-11-06Add option to disable documentationJohann
Documentation is typically auto-detected by checking for php and doxygen. Add an option to explicitly disable it. Remove toggle keywords from libraries, examples, documentation and unit tests. They were not consistent with the default status. Change-Id: I21049675ccfd8e58ac612cd058641b197db5c0eb
2012-11-01Rename vp8/ codec directory to vp9/.Ronald S. Bultje
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
2012-10-30Merge "Separated experiment for subpel refmv selection" into experimentalPaul Wilkins
2012-10-30Remove old experiment.Paul Wilkins
Delete code relating to featureupdates experiment. Change-Id: If218762c658bb8cbb3007cf2069123b3e05adcbc
2012-10-30Separated experiment for subpel refmv selectionYaowu Xu
As suggested by Paul, this commit separate the subpel refmv selection into a separate experiment. It also changed a couple variable names to better reflect the nature of the variables. Change-Id: Id951c3cadc61a982dd15afe641000f60213b8995
2012-10-30Remove "switchable_interp" from experiment listYaowu Xu
Now this experiment has been merged. Change-Id: I6c93784df89434c52a4eb8f977cd3745e269abf9
2012-10-29Make implicit_segmentation-related code an experiment.Ronald S. Bultje
This way, the code is not compiled in by default, thus decreasing overall binary size. Change-Id: I85cac8f5a22a51a7d99c820ef6d6ed179d4106a0
2012-10-22Merging in the TX_SELECT experimentDeb Mukherjee
Change-Id: I0d306b0062be59bc785b65882691c956c8b5e7c8
2012-10-22Merge of the newmventropy experimentDeb Mukherjee
Removes the old mv encoding code. Change-Id: I1026d48cc5ac15ccb776f98463e929254c3dc7da
2012-10-22Merging the hybrid transform experimentsDeb Mukherjee
Change-Id: I99f1982b30a630a9a070a8326d83b34a33cba14c
2012-10-10Merge of the TX_16X16 experimentDeb Mukherjee
Change-Id: I22aa803ffff330622cdb77277e7b196a9766f882
2012-10-10Add option to disable documentationJohann
Documentation is typically auto-detected by checking for php and doxygen. Add an option to explicitly disable it. Remove toggle keywords from libraries, examples, documentation and unit tests. They were not consistent with the default status. Change-Id: I21049675ccfd8e58ac612cd058641b197db5c0eb
2012-10-09Selectable transform size try 2.Ronald S. Bultje
Results: derf (vanilla or +hybridtx) +0.2% and (+hybrid16x16 or +tx16x16) +0.7%-0.8%; HD (vanilla or +hybridtx) +0.1-0.2% and (+hybrid16x16 or +tx16x16) +1.4%, STD/HD (vanilla or +hybridtx) about even, and (+hybrid16x16 or +tx16x16) +0.8-1.0%. Change-Id: I03899e2f7a64e725a863f32e55366035ba77aa62
2012-09-06New motion vector entropy codingDeb Mukherjee
Adds a new experiment with redesigned/refactored motion vector entropy coding. The patch also takes a first step towards separating the integer and fractional pel components of a MV. However the fractional pel encoding still depends on the integer pel part and so they are not fully independent. Further experiments are in progress to see how much they can be decoupled without affecting performance. All components including entropy coding/decoding, costing for MV search, forward updates and backward updates to probability tables, have been implemented. Results so far: derf: +0.19% std-hd: +0.28% yt: +0.80% hd: +1.15% Patch: Simplifies the fractional pel models: derf: +0.284% std-hd: +0.289% yt: +0.849% hd: +1.254% Patch: Some changes in the models, rebased. derf: +0.330% std-hd: +0.306% yt: +0.816% hd: +1.225% Change-Id: I646b3c48f3587f4cc909639b78c3798da6402678
2012-08-30hybrid transform of 16x16 dimensionJingning Han
Enable ADST/DCT of dimension 16x16 for I16X16 modes. This change provides benefits mostly for hd sequences. Set up the framework for selectable transform dimension. Also allowing quantization parameter threshold to control the use of hybrid transform (This is currently disabled by setting threshold always above the quantization parameter. Adaptive thresholding can be built upon this, which will further improve the coding performance.) The coding performance gains (with respect to the codec that has all other configuration settings turned on) are derf: 0.013 yt: 0.086 hd: 0.198 std-hd: 0.501 Change-Id: Ibb4263a61fc74e0b3c345f54d73e8c73552bf926
2012-08-24New Motion Reference SearchPaul Wilkins
Alternative strategy for finding a list of candidate motion vectors to use as reference values in mv coding and as nearest and near. Sort by sad in vp8_find_best_ref_mvs() rather than just pick the best. Allow 0,0 as a best ref option but not a nearest or near unless there are no alternatives. Encode/Decode verified on at least some clips. Some commented out experimental and stats code still in place. Gain over existing code averages about 1% on derf (alll metrics) with improvement on all clips. Other test results pending. The entropy coding of the mode (nearest/near etc) still depends upon and requires the old "findnear" code so this needs looking at and may provide room for further gains. Change-Id: I871d7cba1d1c379c4bad9bcccce1fb19c46b8247
2012-08-21remove rotation experimentJohn Koleszar
This is being reimplemented more generically in terms of affine transforms. Change-Id: I9300bfde5f8b93c708c64f59427087720f8ed782
2012-08-14Fix warnings.Christian Duvivier
Change-Id: I4b911e4173da30c164bde7ea50bc80a70fbbb745
2012-08-14do not error out on generic-gnu + --enable-sharedMike Frysinger
If you build with --enabled-shared on a Linux arch not explicitly listed, the configure script will abort because it didn't detect "linux" in the fallback generic-gnu tuple. Since this is the fallback tuple and people are passing --enable-shared, assume the user knows what they're in for. Change-Id: Ia35b657e7247c8855e3a94fca424c9884d4241e3
2012-08-13Fix typo, which adds skip testing for 16x16Daniel Kang
Also add warnings for undefined macros in the C pre-processor Change-Id: I1ec30e57c5a49fb72151a4cf140d7eeb0fb1d779
2012-08-08Merging in the sixteenth subpel uv experimentDeb Mukherjee
Merges this experiment in to make it easier to run tests on filter precision, vectorized implementation etc. Also removes an experimental filter. Change-Id: I1e8706bb6d4fc469815123939e9c6e0b5ae945cd
2012-08-07a new way of determining reference motion vectorYaowu Xu
Using surrounding reconstructed pixels from left and above to select best matching mv to use as reference motion vector for mv encoding. Test results: AVGPSNR GLBPSNR VPXSSIM Derf: 1.107% 1.062% 0.992% Std-hd:1.209% 1.176% 1.029% Change-Id: I8f10e09ee6538c05df2fb9f069abcaf1edb3fca6
2012-08-06Add x86_64-darwin11-gcc target.Christian Duvivier
This allows building on MountainLion as the 10.6 SDK has been removed from the latest Xcode version (4.4 4F250). Also fix all warnings for that build. Change-Id: Ib70bca4a25295f13595f0d10ea9f0229631de5a4
2012-08-03Merging in high_precision_mv experimentDeb Mukherjee
Merged in the high_precision_mv experiment to make it easier to work on new mv encoding strategies. Also removed coef_update_probs3(). Change-Id: I82d3b0bb642419fe05dba82528bc9ba010e90924
2012-08-03Replacing the 8x8 DCT with 8x8 ADST/DCT for I8x8Jingning Han
Fixed the code review comments. Under the htrans8x8 experiment the 8X8 DCT in the I8X8 mode is replaced with a combination of 8X8 ADST and DCT. Overall coding gains with the htrans8x8 experiment are: derf: 0.486 std-hd: 1.040 hd: 1.063 yt: 0.506 Note that part of the gain comes from bigger transforms (8x8 instead of 4x4) and part comes from replacing the DCT wth the ADST. Change-Id: I92ca6bbfce11b4165d612b81d9adfad4d010c775
2012-08-03Merge "16x16 DCT blocks." into experimentalDaniel Kang
2012-08-03Merge "Merging and bug-fix in enhanced_interp experiment" into experimentalDeb Mukherjee
2012-08-0216x16 DCT blocks.Daniel Kang
Set on all 16x16 intra/inter modes Features: - Butterfly fDCT/iDCT - Loop filter does not filter internal edges with 16x16 - Optimize coefficient function - Update coefficient probability function - RD - Entropy stats - 16x16 is a config option Have not tested with experiments. hd: 2.60% std-hd: 2.43% yt: 1.32% derf: 0.60% Change-Id: I96fb090517c30c5da84bad4fae602c3ec0c58b1c
2012-08-02Use 8x8 DCT transform for I8X8 prediction modeJingning Han
Apply 2D-DCT transform of dimension 8x8 to encode prediction residuals of I8X8 mode. Brought back block type 3 probability context model for 8x8 tokens, which is used for the coefficients of Y blocks in I8x8 modes. The coefficient costs estimate of I8X8 mode in rate-distortion is also changed appropriately. Performance results: derf: 0.246 yt: 0.114 std-hd: 0.730 hd: 0.670 Change-Id: If1d970eeb4e1827c9f0d2c5b27d33089b347ea27
2012-07-31Merging and bug-fix in enhanced_interp experimentDeb Mukherjee
Merged the enhanced_interp experiment. Found and fixed a bug in the include files framework, whereby certain encoder files were still using the old INTERP_EXTEND value of 3 instead of 4. The thresholds for mv range mcomp.c need a small adjustment to prevent crashes. The results are more or less unchanged. Change-Id: Iac5008390f1efc97ce1102fbb5f8989c847fb579
2012-07-30Adds support for switchable interpolation filters.Deb Mukherjee
Allows for swtiching/setting interpolation filters at the MB level. A frame level flag indicates whether to use a specifc filter for the entire frame or to signal the interpolation filter for each MB. When switchable filters are used, the encoder chooses between 8-tap and 8-tap sharp filters. The code currently has options to explore other variations as well, which will be cleaned up subsequently. One issue with the framework is that encoding is slow. I tried to do some tricks to speed things up but it is still slow. Decoding speed should not be affected since the number of filter taps remain unchanged. With the current version, we are up 0.5% on derf on average but some videos city/mobile improve by close to 4 and 2% respectively. If we did a full-search by turning the SEARCH_BEST_FILTER flag on, the results are somewhat better. The framework can be combined with filtered prediction, and I seek feedback regarding that. Rebased. Change-Id: I8f632cb2c111e76284140a2bd480945d6d42b77a
2012-07-27Merge "Merges several experiments" into experimentalDeb Mukherjee
2012-07-27Merges several experimentsDeb Mukherjee
The following five experiments are merged: newentropy newupdate adaptive_entropy (also includes a couple of parameter changes that improves results a little in common/entropymode.c and encoder/modecosts.c that were not merged from the internal branch) newintramodes expanded_coef_context Change-Id: I8a142a831786ee9dc936f22be1d42a8bced7d270
2012-07-25shared object on mac osxjimbankoski
Change-Id: Ibf357eb492e7d5883fbdf1ddf455e28767c1d65d
2012-07-23Dll build of libvpxJim Bankoski
Change-Id: I74e50b4dfbe73eb98e1dce1695a9973f637220c0
2012-07-19Adds hybrid transformJingning Han
Adds ADST/DCT hybrid transform coding for Intra4x4 mode. The ADST is applied to directions in which the boundary pixels are used for prediction, while DCT applied to directions without corresponding boundary prediction. Adds enum TX_TYPE in b_mode_infor to indicate the transform type used. Make coding style consistent with google style. Fixed the commented issues. Experimental results in terms of bit-rate reduction: derf: 0.731% yt: 0.982% std-hd: 0.459% hd: 0.725% Will be looking at 8x8 transforms next. Change-Id: I46dbd7b80dbb3e8856e9c34fbc58cb3764a12fcf
2012-07-17removed floating point version 8x8 fdctYaowu Xu
the integer version has very good precision, the float version is no longer useful. this commit also removes the experiment option from configure script. Change-Id: Ibb92e63c9f5083357cdf89c559d584a7deb3353f
2012-07-17cleanup experiments in configureYaowu Xu
this commit removes a number of experiment options from configure script. the associated experiments are already fully merged, the options in configure script have no effect at all. Change-Id: I8054ccaee0a04610162ed76ac9e59c4538217113
2012-07-10VP8 optimizations for MIPS dspr2Dragan Mrdjan
Signed-off-by: Raghu Gandham <raghu@mips.com> Change-Id: I3a8bca425cd3dab746a6328c8fc8843c8e87aea6
2012-06-28Add lossless compression mode.Hui Su
This commit adds lossless compression capability to the experimental branch. The lossless experiment can be enabled using --enable-lossless in configure. When the experiment is enabled, the encoder will use lossless compression mode by command line option --lossless, and the decoder automatically recognizes a losslessly encoded clip and decodes accordingly. To achieve the lossless coding, this commit has changed the following: 1. To encode at lossless mode, encoder forces the use of unit quantizer, i.e, Q 0, where effective quantization is 1. Encoder also disables the usage of 8x8 transform and allows only 4x4 transform; 2. At Q 0, the first order 4x4 DCT/IDCT have been switched over to a pair of forward and inverse Walsh-Hadamard Transform (http://goo.gl/EIsfy), with proper scaling applied to match the range of the original 4x4 DCT/IDCT pair; 3. At Q 0, the second order remains to use the previous walsh-hadamard transform pair. However, to maintain the reversibility in second order transform at Q 0, scaling down is applied to first order DC coefficients prior to forward transform, and scaling up is applied to the second order output prior to quantization. Symmetric upscaling and downscaling are added around inverse second order transform; 4. At lossless mode, encoder also disables a number of minor features to ensure no loss is introduced, these features includes: a. Trellis quantization optimization b. Loop filtering c. Aggressive zero-binning, rounding and zero-bin boosting d. Mode based zero-bin boosting Lossless coding test was performed on all clips within the derf set, to verify that the commit has achieved lossless compression for all clips. The average compression ratio is around 2.57 to 1. (http://goo.gl/dEShs) Change-Id: Ia3aba7dd09df40dd590f93b9aba134defbc64e34
2012-06-27Added Prediction Filter to Mode SelectionAdrian Grange
Added the ability to optionally filter the prediction data when inter modes are selected (excludes SPLITMV, for now). The mode selection loop considers both the filtered and non-filtered prediction data when choosing mode. The filter can be turned on/off at the frame-level, or signaled for each MB. Change-Id: I1b783c71d95a361ab36c761b07e8a6b06bc36822
2012-06-20Clean Android build defaultsJohann
Disable unit-tests. The logging in GTest would need to be adjusted. Restructure ARM cpu detection. Flatten if-else logic. Change #if defined(HAVE_*) to #if HAVE_* because we only need to check for features that the library was actually built with. This should have been harmless, as disabled feature sets wouldn't have any features to call. Change-Id: Iea21aa42ce5f049c53ca0376d25bcd0f36f38284