- 07 Dec, 2011 - 2 commits
-
-
Yaowu Xu authored
This commit removed the macro CONFIG_MULCONTEXT, which was used to indicate the experiment code for using separate context for altref and normal frames. This commit made the change fully merged in. Change-Id: I525f927f68e2365d37b340ef23b836a136a4f70b
-
Yaowu Xu authored
This commit removed the macro CONFIG_I8X8, which was used to indicate the 8x8 intra prediction experiment, made the change fully merged in. Change-Id: Iafa4443781ce6e83f5591c12ba615a0e92ce0ea0
-
- 06 Dec, 2011 - 1 commit
-
-
Ronald S. Bultje authored
This patch introduces the concept of dual inter16x16 prediction. A 16x16 inter-predicted macroblock can use 2 references instead of 1, where both references use the same mvmode (new, near/est, zero). In the case of newmv, this means that two MVs are coded instead of one. The frame can be encoded in 3 ways: all MBs single-prediction, all MBs dual prediction, or per-MB single/dual prediction selection ("hybrid"), in which case a single bit is coded per-MB to indicate whether the MB uses single or dual inter prediction. In the future, we can (maybe?) get further gains by mixing this with Adrian's 32x32 work, per-segment dual prediction settings, or adding support for dual splitmv/8x8mv inter prediction. Gain (on derf-set, CQ mode) is ~2.8% (SSIM) or ~3.6% (glb PSNR). Most gain is at medium/high bitrates, but there's minor gains at low bitrates also. Output was confirmed to match between encoder and decoder. Note for optimization people: this patch introduces a 2nd version of 16x16/8x8 sixtap/bilin functions, which does an avg instead of a store. They may want to look and make sure this is implemented to their satisfaction so we can optimize it best in the future. Change-ID: I59dc84b07cbb3ccf073ac0f756d03d294cb19281
-
- 02 Dec, 2011 - 1 commit
-
-
Yaowu Xu authored
Added two experimental options to the configure script: 1. newnear: new scheme of doing mv encoding that include a motion vector from last frame in nearest and near mv search 2. mulcontext: tracks entropy context separately for regular frames and alt ref frames. Change-Id: If6e0d5d593351707b497a26eb6a763e080f77e6f
-
- 04 Nov, 2011 - 1 commit
-
-
Yaowu Xu authored
This commit tries to do UV intra mode coding adaptive to Y intra mode. Entropy context is defined as conditional PDF of uv intra mode given the Y mode. All constants are normalized with 256 to be fit in 8 bits. This provides further coding efficiency beyond the quantizer adaptive y intra mode coding. Consistent gains were observed on all clips and all bit rates for HD all key encoding tests. To test, configure with --enable-experimental --enable-uvintra Change-Id: I2d78d73f143127f063e19bd0bac3b68c418d756a
-
- 30 Sep, 2011 - 1 commit
-
-
Paul Wilkins authored
New setting added to configure script
-
- 16 Sep, 2011 - 2 commits
-
-
Yaowu Xu authored
make intra mode coding entropy distribution adaptive to baseQindex, an encoding test on hd clips with all key frame shows universal gain on all clips in both .2%(psnr) and (ssim).3%. To build and test, configure with --enable-experimental --enable-qimode Change-Id: Iaa69241b984d4fdd8baa6d77ee78c0140f5ac00a
-
Yaowu Xu authored
Patch 1 to Patch 3 is an initial implementation of 8x8 intra prediction modes, here are with the following assumptions: a. 8x8 has 4 prediction modes DC, H, V and TM b. UV 4x4 block use the same mode as corresponding 8x8 area c. i8x8 modes are enabled for key frame only for now Patch 4: d. removed debug code from previous patches Patch 5: e. added stats code to collect entropy stats and further cleaned up Patch 6: f. changed mode stats code to collect finer stats of modes Patch 7: g. normalized i8x8 modes distribution to total at 256 (8bits). Patch 8: h. fixed a bug in decoder and removed debug printf output. Patch 9: i. more cleanups to address paul's comment Patch 10: j. messy rebase/merges to bring the commit up to date. Tests on HD clips encoded with all key frame showing consistent gain on all clips and all metrics:~0.5%(psnr) and 0.6%(ssim): http://www.corp.google.com/~yaowu/no_crawl/i8x8hd_allkey_fixedq.html To build and test, configure with: --enable-experimental --enable-i8x8 Change-Id: I9813fe07ae48cab5fdb5d904bca022514ad01e7f
-
- 25 Jul, 2011 - 1 commit
-
-
James Zern authored
Fixes issue #62. Change-Id: I0567cf7897c0942666c19b3231c8c3b8e9c3e7cc
-
- 20 Jul, 2011 - 1 commit
-
-
Deb Mukherjee authored
Please refer to previous commit messages for detailed info: https://on2-git.corp.google.com/g/#change,5940 https://on2-git.corp.google.com/g/#change,6045 Change-Id: I8b16992f2f69c5a808ad40a3e32ef589cce7c59d
-
- 23 Jun, 2011 - 1 commit
-
-
Yaowu Xu authored
experimental branch build was broken from some merge artifacts, this commit fixes those issues to enable the experimental branch to build. Change-Id: Ic52b2d2f1d1b80abb7ecaa4c0927bcf887ac0c2a
-
- 19 May, 2011 - 1 commit
-
-
Stefan Holmer authored
The error-concealer is plugged in after any motion vectors have been decoded. It tries to estimate any missing motion vectors from the motion vectors of the previous frame. Intra blocks with missing residual are replaced with inter blocks with estimated motion vectors. This feature was developed in a separate sandbox (sandbox/holmer/error-concealment). Change-Id: I5c8917b031078d79dbafd90f6006680e84a23412
-
- 29 Apr, 2011 - 1 commit
-
-
Yaowu Xu authored
Renamed configure option "enable-psnr" to "enable-internal-stats" to better reflect the purpose of the option and eliminate the confusion reported in http://code.google.com/p/webm/issues/detail?id=35 Change-Id: If72df6fdb9f1e33dab1329240ba4d8911d2f1f7a
-
- 10 Apr, 2011 - 1 commit
-
-
Ralph Giles authored
This gave a syntax error, preventing configure from completing. Change-Id: I3df765f93c26e5bb3b2aab939d1cd01d6c57d450
-
- 31 Mar, 2011 - 3 commits
-
-
Attila Nagy authored
Detect the number of available cores and limit the thread allocation accordingly. On decoder side limit the number of threads to the max number of token partition. Core detetction works on Windows and Posix platforms, which define _SC_NPROCESSORS_ONLN or _SC_NPROC_ONLN. Change-Id: I76cbe37c18d3b8035e508b7a1795577674efc078
-
Ralph Giles authored
Rules are added to libs.mk to generate a vpx.pc, which is installed as pkgconfig/vpx.pc under the target library directory. This also requires the install path prefix be exported directly in config.mk. Some systems use a tool called pkg-config to query information about intalled libraries or other resources, based on database files provided by the packages themselves at install time. Providing such a file for libvpx simplifies integration with other build systems, and provides an easy avenue for developers to test against their own builds of the library. Change-Id: I4e32a8fbb53fc331aa95eb207c63dd70a76d18ed
-
Ralph Giles authored
The configure script exports the major/minor/patch version numbers, but didn't make the full version string available to Makefile recipes and rules, the way it is available to C code from vpx_version.h. Change-Id: Ic6a9d4c574a6ea66a50c928f4eedeb91d7668eb5
-
- 22 Feb, 2011 - 1 commit
-
-
Johann authored
this has been broken since the initial release Change-Id: If0d4deb2de9f7d0c4c05641e2bbf9cc1bf11e171
-
- 11 Feb, 2011 - 1 commit
-
-
Johann authored
hasn't been kept up to date. remove it to avoid confusion. Change-Id: I52ffde19b59fec5c7a381299ca2e85cb38330be7
-
- 04 Feb, 2011 - 1 commit
-
-
John Koleszar authored
Only suppress unused function warnings, rather than supprressing all unused-* warnings. Unused functions can still be seen with --enable-extra-warnings. Change-Id: Ibca20d859dbffedd76bd082ffe0fa685c3ac198e
-
- 28 Jan, 2011 - 1 commit
-
-
Tero Rintaluoma authored
Adds following targets to configure script to support RVCT compilation without operating system support (for Profiler or bare metal images). - armv5te-none-rvct - armv6-none-rvct - armv7-none-rvct To strip OS specific parts from the code "os_support"-config was added to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS specific parts such as OS specific includes and function calls for timers and threads etc. This was done to enable RVCT compilation for profiling purposes or running the image on bare metal target with Lauterbach. Removed separate AREA directives for READONLY data in armv6 and neon assembly files to fix the RVCT compilation. Otherwise "ldr <reg>, =label" syntax would have been needed to prevent linker errors. This syntax is not supported by older gnu assemblers. Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
-
- 20 Jan, 2011 - 1 commit
-
-
Attila Nagy authored
Add --extra-cflags as config parameter for user defined extra CFLAGS. Add -g to asflags when debug enabled for arm targets. Change-Id: Ibdde7cfdda6736c1c1db45e6466bd08504a51f15
-
- 19 Jan, 2011 - 1 commit
-
-
Yaowu Xu authored
Prior to this change, VP8 min quantizer is 4, which caps the highest quality around 51DB. This experimental change extends the min quantizer to 1, removes the cap and allows the highest quality to be around ~73DB, consistent with the fdct/idct round trip error. To test this change, at configure time use options: --enable-experimental --enable-extend_qrange The following is a brief log of changes in each of the patch sets patch set 1: In this commit, the quantization/dequantization constants are kept unchanged, instead scaling factor 4 is rolled into fdct/idct. Fixed Q0 encoding tests on mobile: Before: 9560.567kbps Overall PSNR:50.255DB VPXSSIM:98.288 Now: 18035.774kbps Overall PSNR:73.022DB VPXSSIM:99.991 patch set 2: regenerated dc/ac quantizer lookup tables based on the scaling factor rolled in the fdct/idct. Also slightly extended the range towards the high quantizer end. patch set 3: slightly tweaked the quantizer tables and generated bits_per_mb table based on Paul's suggestions. patch set 4: fix a typo in idct, re-calculated tables relating active max Q to active min Q patch set 5: added rdmult lookup table based on Q patch set 6: fix rdmult scale: dct coefficient has scaled up by 4 patch set 7: make transform coefficients to be within 16bits patch set 8: normalize 2nd order quantizers patch set 9: fix mis-spellings patch set 10: change the configure script and macros to allow experimental code to be enabled at configure time with --enable-extend_qrange patch set 11: rebase for merge Change-Id: Ib50641ddd44aba2a52ed890222c309faa31cc59c
-
- 16 Nov, 2010 - 2 commits
-
-
tomfinegan authored
Adds native build configuration for Snow Leopard. Useful when users configure without arguments on OSX 10.6. Change-Id: I0bd63912a25bbfb9d4c8d58a781d0f390792429c
-
Jim Bankoski authored
-
- 10 Nov, 2010 - 2 commits
-
-
Fritz Koenig authored
Check to see if postproc was enabled when enabling the postproc visualizer was wrong. Fix for bug introduced in Change Ia74f357d Change-Id: I4bee9ad2caee3cfe3bac6972047f6af7c54cad4e
-
Fritz Koenig authored
Debugging in postproc needs more flags to allow for specific block types to be turned on or off in the visualizations. Must be enabled with --enable-postproc-visualizer during configuration time. Change-Id: Ia74f357ddc3ad4fb8082afd3a64f62384e4fcb2d
-
- 27 Oct, 2010 - 1 commit
-
-
Yunqing Wang authored
Use mpsadbw, and calculate 8 sad at once. Function list: vp8_sad16x16x8_sse4 vp8_sad16x8x8_sse4 vp8_sad8x16x8_sse4 vp8_sad8x8x8_sse4 vp8_sad4x4x8_sse4 (test clip: tulip) For best quality mode, this gave encoder a 5% performance boost. For good quality mode with speed=1, this gave encoder a 3% performance boost. Change-Id: I083b5a39d39144f88dcbccbef95da6498e490134
-
- 25 Oct, 2010 - 1 commit
-
-
Aaron Watry authored
Solaris 10 requires -lposix4 to build successfully on gcc. I only have a Sparc machine to test with on Solaris 10, but this change leaves OpenSolaris x86 in a usable state w/ gnu-generic. I am of the belief that this change should fix Solaris 10 on Sparc, but will leave other Solaris architectures as is. If someone has an x86 Solaris 10 machine to test on, they may add x86-solaris-gcc to libvpx/configure and give it a go. Change-Id: I17a282028bb4d3e9fd8764159f95665160f7b62a
-
- 05 Oct, 2010 - 1 commit
-
-
Jan Kratochvil authored
yasm has to be preferred as currently nasm produces marginally less efficient code (longer opcodes). Filed for nasm as: https://sourceforge.net/tracker/?func=detail&atid=106208&aid=3037462&group_id=6208 OTOH package should be built always the same, no matter which additional packages are / are not present on the system. As the package should be built with nasm (as yasm may not be available) we should not use yasm even if it is possibly available. nasm >= approx. 2.09 is required for the nasm compilation as the former versions had a section alignment bug. Provide nasm compatibility. No binary change by this patch with yasm on {x86_64,i686}-fedora13-linux-gnu. Few longer opcodes with nasm on {x86_64,i686}-fedora13-linux-gnu have been checked as safe. Change-Id: Icb0fe39c64bbcc3bcd7972e392fd03f3273340df
-
- 24 Sep, 2010 - 1 commit
-
-
John Koleszar authored
Build with -O2 rather than -O3, to dissuade the compiler from inlining so much. See issue #1. Change-Id: Iacb8ddb59125d3f01c5fea846b45a1c004c9aee0
-
- 21 Sep, 2010 - 1 commit
-
-
Johann authored
Also, move with other ppc32 options Change-Id: I0b97413c767909c5682afc9bdd954f3d43401f6c
-
- 13 Sep, 2010 - 3 commits
-
-
Suman Sunkara authored
-Updates by making use of spatial correlation. -Checks if the segment_id is same as above or left context and encodes only the update to the map instead of updating individual segment_ids. Change-Id: Ib861df97e8aa2b37516219eeddcdbaf552b6a249
-
John Koleszar authored
Fixes issue 89. Thanks to josejx for the patch. Change-Id: I7e664fed703b49f2fb3af4c5e6ce1173742000c2
-
John Koleszar authored
Change-Id: I88ddb0afb56ef2be8184b56fe125ad938ead7a84
-
- 12 Aug, 2010 - 1 commit
-
-
Johann authored
adds a compile time option: --enable-arm-asm-detok which pulls in vp8/decoder/arm/detokenize.asm currently about break even speed wise, but changes are pending to the fill code (branch and load 3 bytes versus conditionally always load one) and the error handling. Currently it doesn't handle zero runs or overrunning the buffer. this is really just so i don't have to rebase my changes all the time to run benchmarks - now just need to replace one file! Change-Id: I56d0e2354dc0ca3811bffd0e88fe1f952fa6c797
-
- 27 Jul, 2010 - 1 commit
-
-
John Koleszar authored
When running configure automatically through the make dist target, reuse the arguments passed to the original configure command. Change-Id: I40e5b8384d6485a565b91e6d2356d5bc9c4c5928
-
- 22 Jul, 2010 - 2 commits
-
-
Fritz Koenig authored
These files were out of date and no longer maintained. Token decoding has implemented the no-crash code which is incompatible with this arm assembly code. Change-Id: Ibf729886c56fca48181af60b44bda896c30023fc
-
Tom Finegan authored
Add targets x86-win32-vs9 and x86_64-win64-vs9 for support of Visual Studio 2008-- this removes the need to convert the vs8 projects before using them within the IDE. Change-Id: Idb83e2ae701e07d98db1be71638280a493d770a2
-
- 24 Jun, 2010 - 1 commit
-
-
John Koleszar authored
These are mostly vestigial, it's up to the compiler to decide what should be inlined, and this collided with certain Windows platform SDKs. Change-Id: I80dd35de25eda7773156e355b5aef8f7e44e179b
-