summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix building of static libs on universal-darwinJohn Koleszar2011-08-031-1/+1
| | | | | | | | | The static libs should not be built from sources during the top level of a universal build. This regression was introduced in commit 495b241fa6b03345baf2b2f39aa8c06c735fccc2, which made the static libs selectable under CONFIG_STATIC. Change-Id: I585167e17459877e0fa7fa19e1046c3703d91c97
* Fix asm offsets generation for universal-darwin buildsJohn Koleszar2011-08-031-9/+9
| | | | | | Added BUILD_PFX to correct dependencies. Change-Id: Ia07602bd98ef2253242b1bd66ef05e3b1e64ba7d
* include asm_com/dec_offsets for make distJames Berry2011-08-023-2/+2
| | | | Change-Id: Ia1ad66066a24c01915cd9e3ff75c7e070cc984c8
* Sync `vpxenc --timebase` usage wording with docs change.Lou Quillio2011-08-021-2/+2
| | | | Change-Id: Ia406272a97806c0194435bb7f24e24d353ef5cc6
* Merge "include the arm header files in make dist" into cayugaJohn Koleszar2011-08-024-5/+13
|\
| * include the arm header files in make distJohann2011-08-014-5/+13
| | | | | | | | Change-Id: Ibcf5b4b14153f65ce1b53c3bfba87ad2feb17bbd
* | Merge "Fix building with --disable-postproc" into cayugaJohn Koleszar2011-08-024-2/+9
|\ \ | |/ |/|
| * Fix building with --disable-postprocJohn Koleszar2011-08-014-2/+9
| | | | | | | | Change-Id: I7e6bc28e7974a376da747300744e0dd5dc1d21e9
* | Merge "build error fix - obj_int_extract.bat" into cayugaJohn Koleszar2011-08-011-0/+1
|\ \ | |/ |/|
| * build error fix - obj_int_extract.batJames Berry2011-08-011-0/+1
| | | | | | | | | | | | | | obj_int_extract.bat was not being copied correctly for make dist. It now is. Change-Id: I976479f90bbfa4798f241db1055e1e3b04ca2830
* | Disable FORTIFY_SOURCE on glibc targetsJohn Koleszar2011-08-011-0/+4
|/ | | | | | | Improve binary distributions by defeating longjmp interception. See http://code.google.com/p/webm/issues/detail?id=166 for more information. Change-Id: I5ac731ec3f3570088597201d0f411473e2dffa4f
* install asm_offsets.hJohn Koleszar2011-07-291-0/+1
| | | | | | Ensure vpx_ports/asm_offsets.h is installed with make dist Change-Id: If9f32273fff975d60de1583b039dbbce8a7ccd27
* Merge "Convert rc_max_intra_bitrate_pct to control"John Koleszar2011-07-294-24/+26
|\
| * Convert rc_max_intra_bitrate_pct to controlJohn Koleszar2011-07-284-24/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Since this is the only ABI incompatible change since the last release, convert it to use the control interface instead. The member of the configuration struct is replaced with the VP8E_SET_MAX_INTRA_BITRATE_PCT control. More significant API changes were expected to be forthcoming when this control was first introduced, and while they continue to be expected, it's not worth breaking compatibility for only this change. Change-Id: I799d8dbe24c8bc9c241e0b7743b2b64f81327d59
* | Correctly track sharpness in vp8cx_pick_filter_level_fastJohn Koleszar2011-07-291-1/+1
| | | | | | | | | | | | | | Make sure to update last_sharpness_level from the current sharpness_level whenever it changes. Change-Id: I0258d2f5b11a407abf6176a8d4c4994d925943f0
* | Merge "configure: add --enable-static option"John Koleszar2011-07-283-7/+23
|\ \ | |/ |/|
| * configure: add --enable-static optionJames Zern2011-07-253-7/+23
| | | | | | | | | | | | Fixes issue #62. Change-Id: I0567cf7897c0942666c19b3231c8c3b8e9c3e7cc
* | Preload reference area in sub-pixel motion search (real-time mode)Yunqing Wang2011-07-272-41/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implemented same idea in change "Preload reference area to an intermediate buffer in sub-pixel motion search." The changes were made to vp8_find_best_sub_pixel_step() and vp8_find_best_half _pixel_step() functions which are called when speed >= 5. Test result (using tulip clip): 1. On Core2 Quad machine(Linux) rt mode, speed (-5 ~ -8), encoding speed gain: 2% ~ 3% rt mode, speed (-9 ~ -11), encoding speed gain: 1% ~ 2% rt mode, speed (-12 ~ -14), no noticeable encoding speed gain 2. On Xeon machine(Linux) Test on speed (-5 ~ -14) didn't show noticeable speed change. Change-Id: I21bec2d6e7fbe541fcc0f4c0366bbdf3e2076aa2
* | Merge "Fix range checks in motion search"Yunqing Wang2011-07-273-11/+17
|\ \
| * | Fix range checks in motion searchYunqing Wang2011-07-273-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | There were some situations that the start motion vectors were out of range. This fix adjusted range checks to make sure they are checked and clamped. Change-Id: Ife83b7fed0882bba6d1fa559b6e63c054fd5065d
* | | vpxenc: cosmetics: timebase help update / spellingJames Zern2011-07-261-4/+7
| | | | | | | | | | | | | | | | | | The timebase update fixes Issue #61. Change-Id: I425158da7ea639464f61e6dd604ac9e6c72b7266
* | | Merge "cosmetics: consistently use [u]int64_t"John Koleszar2011-07-2614-101/+101
|\ \ \
| * | | cosmetics: consistently use [u]int64_tJames Zern2011-07-2614-101/+101
| | |/ | |/| | | | | | | | | | | | | | | | Removes mixed usage of (unsigned) long long and INT64. Fixes Issue #208. Change-Id: I220d3ed5ce4bb1280cd38bb3715f208ce23cf83a
* | | Merge ""Eliminated TOKENEXTRABITS" broke the windows build."Johann2011-07-261-1/+0
|\ \ \
| * | | "Eliminated TOKENEXTRABITS" broke the windows build.Scott LaVarnway2011-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Fixed. Change-Id: I3348e8dbcaee6ace263af413701101d77636e5df
* | | | Merge "Eliminated TOKENEXTRABITS"Scott LaVarnway2011-07-253-70/+71
|\ \ \ \ | |/ / / | | / / | |/ / |/| |
| * | Eliminated TOKENEXTRABITSScott LaVarnway2011-07-253-70/+71
| |/ | | | | | | | | | | Noticed small performance gains, depending on material. Change-Id: I334369f6312bc19aa73481fc3f790ab181e11867
* | Merge "Use CONFIG_FAST_UNALIGNED consistently in codec"Yunqing Wang2011-07-252-20/+15
|\ \ | |/ |/|
| * Use CONFIG_FAST_UNALIGNED consistently in codecYunqing Wang2011-07-252-20/+15
| | | | | | | | | | | | | | CONFIG_FAST_UNALIGNED is enabled by default. Disable it if it is not supported by hardware. Change-Id: I7d6905ed79fed918bca074bd62820b0c929d81ab
* | Specify size for argument pushed to stackYunqing Wang2011-07-251-1/+1
|/ | | | | | The change fixes building error on Win64. Change-Id: I63d25b26220c4da8a98ca2e36530cbb802468e6b
* Merge "fix sharpness bug and clean up"Johann2011-07-229-109/+60
|\
| * fix sharpness bug and clean upJohann2011-07-229-109/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sharpness was not recalculated in vp8cx_pick_filter_level_fast remove last_filter_type. all values are calculated, don't need to update the lfi data when it changes. always use cm->sharpness_level. the extra indirection was annoying. don't track last frame_type or sharpness_level manually. frame type only matters for motion search and sharpness_level is taken care of in frame_init move function declarations to their proper header Change-Id: I7ef037bd4bf8cf5e37d2d36bd03b5e22a2ad91db
* | Merge "Preload reference area to an intermediate buffer in sub-pixel motion ↵Yunqing Wang2011-07-2210-10/+292
|\ \ | | | | | | | | | search"
| * | Preload reference area to an intermediate buffer in sub-pixel motion searchYunqing Wang2011-07-2210-10/+292
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In sub-pixel motion search, the search range is small(+/- 3 pixels). Preload whole search area from reference buffer into a 32-byte aligned buffer. Then in search, load reference data from this buffer instead. This keeps data in cache, and reduces the crossing cache- line penalty. For tulip clip, tests on Intel Core2 Quad machine(linux) showed encoder speed improvement: 3.4% at --rt --cpu-used =-4 2.8% at --rt --cpu-used =-3 2.3% at --rt --cpu-used =-2 2.2% at --rt --cpu-used =-1 Test on Atom notebook showed only 1.1% speed improvement(speed=-4). Test on Xeon machine also showed less improvement, since unaligned data access latency is greatly reduced in newer cores. Next, I will apply similar idea to other 2 sub-pixel search functions for encoding speed > 4. Make this change exclusively for x86 platforms. Change-Id: Ia7bb9f56169eac0f01009fe2b2f2ab5b61d2eb2f
* | | Merge "Add .size directive to ARM asm functions."Johann2011-07-211-3/+20
|\ \ \
| * | | Add .size directive to ARM asm functions.Timothy B. Terriberry2011-07-211-3/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes them show up properly in debugging tools like gdb and valgrind. Change-Id: I0c72548a1090de88ba226314e5efe63360b7e07f
* | | | Merge "Mark ARM asm objects as allowing a non-executable stack."Johann2011-07-211-0/+3
|\ \ \ \
| * | | | Mark ARM asm objects as allowing a non-executable stack.Timothy B. Terriberry2011-07-211-0/+3
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the magic .note.GNU-stack section at the end of each ARM asm file (when built with gas), indicating that a non-executable stack is allowed. Without this section, the linker will assume the object requires an executable stack by default, forcing an executable stack for the entire program. Change-Id: Ie86de6a449b52d392b9e5e0479833ed8c508ee65
* | | | Merge "Increase chrow row alignment to 16 bytes."John Koleszar2011-07-214-27/+54
|\ \ \ \
| * | | | Increase chrow row alignment to 16 bytes.Timothy B. Terriberry2011-07-204-27/+54
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done by expanding luma row to 32-byte alignment, since there is currently a bunch of code that assumes that uv_stride == y_stride/2 (see, for example, vp8/common/postproc.c, common/reconinter.c, common/arm/neon/recon16x16mb_neon.asm, encoder/temporal_filter.c, and possibly others; I haven't done a full audit). It also uses replaces the hardcoded border of 16 in a number of encoder buffers with VP8BORDERINPIXELS (currently 32), as the chroma rows start at an offset of border/2. Together, these two changes have the nice advantage that simply dumping the frame memory as a contiguous blob produces a valid, if padded, image. Change-Id: Iaf5ea722ae5c82d5daa50f6e2dade9de753f1003
* | | | Merge "Add improvements made in good-quality mode to real-time mode"Yunqing Wang2011-07-211-0/+4
|\ \ \ \ | |_|_|/ |/| | |
| * | | Add improvements made in good-quality mode to real-time modeYunqing Wang2011-07-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several improvements we made in good-quality mode can be added into real-time mode to speed up encoding in speed 1, 2, and 3 with small quality loss. Tests using tulip clip showed: --rt --cpu-used=-1 (before change) PSNR: 38.028 time: 1m33.195s (after change) PSNR: 38.014 time: 1m20.851s --rt --cpu-used=-2 (before change) PSNR: 37.773 time: 0m57.650s (after change) PSNR: 37.759 time: 0m54.594s --rt --cpu-used=-3 (before change) PSNR: 37.392 time: 0m42.865s (after change) PSNR: 37.375 time: 0m41.949s Change-Id: I76ab2a38d72bc5efc91f6fe20d332c472f6510c9
* | | | encoder: don't set the fragment bit for the last partitionAttila Nagy2011-07-201-2/+5
| |/ / |/| | | | | | | | Change-Id: Icb4e4f0d7c3074a8507852178be87541a1cb5bac
* | | Merge "Moved vp8_encode_bool into boolhuff.h"Scott LaVarnway2011-07-197-116/+106
|\ \ \
| * | | Moved vp8_encode_bool into boolhuff.hScott LaVarnway2011-07-197-116/+106
| | |/ | |/| | | | | | | | | | | | | | | | | | | allowing the compiler to inline this function. For real-time encodes, this gave a boost of 1% to 2.5%, depending on the speed setting. Change-Id: I3929d176cca086b4261267b848419d5bcff21c02
* | | Revert "Disable __longjmp_chk protection"John Koleszar2011-07-191-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b73a3693e581583e9ec676f4396d0c3d173e2462. This version of the check doesn't work with generic-gnu, and figuring out the correct symbol version at configure time is probably more work than this is worth. May revisit in the future. Change-Id: I6c75e88bd3bd82a4b21e09a25780fe53aacb7d70
* | | remove old armv5 codeJohann2011-07-191-52/+0
|/ / | | | | | | | | | | armv5 dequantizer is not referenced Change-Id: Id1cc617dcee35ebd6a406816ec6aaa26e8bbc8ad
* | Improved 1-pass CBR rate controlJohn Koleszar2011-07-185-42/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch attempts to improve the handling of CBR streams with respect to the short term buffering requirements. The "buffer level" is changed to be an average over the rc buffer, rather than a long running average. Overshoot is also tracked over the same interval and the golden frame targets suppressed accordingly to correct for overly aggressive boosting. Testing shows that this is fairly consistently positive in one metric or another -- some clips that show significant decreases in quality have better buffering characteristics, others show improvenents in both. Change-Id: I924c89aa9bdb210271f2e03311e63de3f1f8f920
* | Merge "Disable __longjmp_chk protection"John Koleszar2011-07-181-0/+18
|\ \
| * | Disable __longjmp_chk protectionJohn Koleszar2011-07-131-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | glibc implements some checking on longjmp() calls by replacing it with an internal function __longjmp_chk(), when FORTIFY_SOURCE is defined. This can be problematic when compiling the library under one version of glibc and running it under another. Work around this issue for the one symbol affected for now, before taking out the undef hammer. Fixes http://code.google.com/p/webm/issues/detail?id=166 Change-Id: Ifc5e25cdec17915e394711f2185b3e9214572d10