- 12 May, 2011 2 commits
-
-
John Koleszar authored
This patch improves the accuracy of frame rate estimation by using a larger, 1 second window. It also more quickly adapts to step changes in the input frame rate (ie 30fps to 15fps) Change-Id: I39e48a8f5ac880b4c4b2ebd81049259b81a0218e
-
Scott LaVarnway authored
This sad cost is being generated but never used. Change-Id: I562eebdcb792b743770954feca365b5b37491ecd
-
- 11 May, 2011 1 commit
-
- 09 May, 2011 1 commit
-
-
Yunqing Wang authored
In NEWMV mode, currently, full search is used as the refining search after n-step search. By replacing it with an iterative diamond search of radius 1 largely reduced the computation complexity, but still maintained the same encoding quality since the refining search is done for every macroblock instead of only a small precentage of macroblocks while using full search. Tests on the test set showed a 3.4% encoding speed increase with none psnr & ssim loss. Change-Id: Ife907d7eb9544d15c34f17dc6e4cfd97cb743d41
-
- 06 May, 2011 1 commit
-
-
Aron Rosenberg authored
The existing emulation of posix semaphores on Windows uses SetEvent() and WaitForSingleObject(), which implements a binary semaphore, not a counting semaphore as implemented by posix. This causes deadlock when used with the expected posix semantics. Instead, this patch uses the CreateSemaphore() and ReleaseSemaphore() calls (introduced in Windows 2000) which have the expected behavior. This patch also reverts commit eb16f00c, which split a semaphore that was being used with counting semantics into two binary semaphores. That commit is unnecessary with corrected emulation. Change-Id: If400771536a27af4b0c3a31aa4c4e9ced89ce6a0
-
- 05 May, 2011 1 commit
-
-
Yunqing Wang authored
This patch is to fix a rare hang in multi-thread encoder that was only seen on Windows. Thanks for John's help in debugging the problem. More test is needed. Change-Id: Idb11c6d344c2082362a032b34c5a602a1eea62fc
-
- 03 May, 2011 1 commit
-
-
Yaowu Xu authored
The commit also removed the slow ssim calculation that uses a 7x7 kernel, and revised the comments to better describe how sample ssim values are computed and averaged Change-Id: I1d874073cddca00f3c997f4b9a9a3db0aa212276
-
- 26 Apr, 2011 2 commits
-
-
John Koleszar authored
Combine calc_iframe_target_size, previously only used for forced keyframes, with calc_auto_iframe_target_size, which handled most keyframes. Change-Id: I227051361cf46727caa5cd2b155752d2c9789364
-
John Koleszar authored
This is a first step in cleaning up the redundancies between vp8_calc_{auto_,}iframe_target_size. The pick_frame_size() function is moved to ratectrl.c, and made to be the primary interface. This means that the various calc_*_target_size functions can be made private. Change-Id: I66a9a62a5f9c23c818015e03f92f3757bf3bb5c8
-
- 25 Apr, 2011 4 commits
-
-
Johann authored
the decision to run the regular or simple loopfilter is made outside the function and managed with pointers stop tracking the option in two places. use filter_type exclusively Change-Id: I39d7b5d1352885efc632c0a94aaf56b72cc2fe15
-
John Koleszar authored
Remove estimate_min_frame_size() and calc_low_ss_err(), as they are never referenced. Change-Id: I3293363c14ef70b79c4678ca27aa65b345077726
-
John Koleszar authored
Rather than using a default size of 1/2 or 3/2 seconds for the first frame, use a fraction of the initial buffer level to give the application some control. This will likely undergo further refinement as size limits on key frames are currently under discussion on codec-devel@, but this gives much better behavior for small buffer sizes as a starting point. Change-Id: Ieba55b86517b81e51e6f0a9fe27aabba295acab0
-
John Koleszar authored
Adds a control to limit the maximum size of a keyframe, as a function of the per-frame bitrate. See this thread[1] for more detailed discussion: [1]: http://groups.google.com/a/webmproject.org/group/codec-devel/browse_thread/thread/271b944a5e47ca38 Change-Id: I7337707642eb8041d1e593efc2edfdf66db02a94
-
- 21 Apr, 2011 1 commit
-
-
Adrian Grange authored
The arguments to these fprintfs are int not long int so the format specifier should be "%d" and not "%ld". This was writing garbage in the linux build. Change-Id: I3d2aa8a448d52e6dc08858d825bf394929b47cf3
-
- 19 Apr, 2011 1 commit
-
-
John Koleszar authored
Remove tot_key_frame_bits and prior_key_frame_size[] as they were tracked but never used. Remove intra_frame_target, as it was only used to initialize prior_key_frame_size. Refactor vp8_adjust_key_frame_context() some to remove unnecessary calculations. Change-Id: Icbc2c83d2b90e184be03e6f9679e678f3a4bce8f
-
- 13 Apr, 2011 2 commits
-
-
Fritz Koenig authored
opsnr.stt file was using \t for delimiters on everything except between VPXSSIM and Time. Change-Id: I6284c4e40c05ff642bf4b0170dca062c279a42df
-
John Koleszar authored
This patch cleans up the source buffer storage and copy mechanism to allow access through a standard push/pop/peek interface. This approach also avoids an extra copy in the case where the source is not a multiple of 16, fixing issue #102. Change-Id: I05808c39f5743625cb4c7af54cc841b9b10fdbd9
-
- 11 Apr, 2011 1 commit
-
-
Yunqing Wang authored
Remove encoding speed limitation in real-time mode. Change-Id: Ib5e35d8bb522b2a25f3e4ad5cfe2788ebebb3617
-
- 01 Apr, 2011 1 commit
-
-
Yunqing Wang authored
MV sad cost error is only used in full-pixel motion search, which only need full-pixel resolution instead of quarter-pixel resolution. This change reduced mvsadcost table size, and removed unneccessary pamameter passing since this table is constant once it is generated. Change-Id: I9f931e55f6abc3c99011321f1dfb2f3562e6f6b0
-
- 30 Mar, 2011 1 commit
-
-
Attila Nagy authored
After picking filter level, post the loopfilter semaphore just when multiple threads are in use. Change-Id: If7bfb64601d906adef703f454dafc25e978b93c6
-
- 18 Mar, 2011 1 commit
-
-
John Koleszar authored
A large number of functions were defined with external linkage, even though they were only used from within one file. This patch changes their linkage to static and removes the vp8_ prefix from their names, which should make it more obvious to the reader that the function is contained within the current translation unit. Functions that were not referenced were removed. These symbols were identified by: $ nm -A libvpx.a | sort -k3 | uniq -c -f2 | grep ' [A-Z] ' \ | sort | grep '^ *1 ' Change-Id: I59609f58ab65312012c047036ae1e0634f795779
-
- 11 Mar, 2011 5 commits
-
-
Paul Wilkins authored
Clean up vp8_init_config() a bit and remove null pointer case, as this code can't be called any more and is not an adequate trap anyway, as a null pointer would cause exceptions before hitting the test. Change-Id: I937c00167cc039b3aa3f645f29c319d58ae8d3ee
-
Paul Wilkins authored
Issue 291 highlighted the fact that CQ mode was not working as expected in 1 pass mode, This commit fixes that specific problem but in so doing I also uncovered an overflow issue in the VBR code for 1 pass and some data values not being correctly initialized. For some clips (particularly short clips), the resulting improvement is dramatic. Change-Id: Ieefd6c6e4776eb8f1b0550dbfdfb72f86b33c960
-
Jim Bankoski authored
Change-Id: Ie388d4618c44b131f96b9fe526618b457f020dfa
-
Jim Bankoski authored
Change-Id: I91921b0a90dbaddc7010380b038955be347964b3
-
Attila Nagy authored
In multithreaded mode the loopfilter is running in its own thread (filter level calculation and frame filtering). Filtering is mostly done in parallel with the bitstream packing. Before starting the packing the loopfilter level has to be calculated. Also any needed reference frame copying is done in the filter thread. Currently the encoder will create n+1 threads, where n > 1 is the number of threads specified by application and 1 is the extra filter thread. With n = 1 the encoder runs in single thread mode. There will never be more than n threads running concurrently. Change-Id: I4fb29b559a40275d6d3babb8727245c40fba931b
-
- 10 Mar, 2011 1 commit
-
-
Adrian Grange authored
The firstpass motion map consists of an 8-bit flag for each MB indicating how strongly the firstpass code believes it should be filtered during the second pass ARNR filtering. For long or large format material the motion map can become extremely large and hamper the operation of the encoding process. This change removes the motion map altogether, leaving the second pass to rely on the magnitude of the motion compensated error to determine the filter weight to use for the MB during ARNR filtering. Tests on the derf set indicate that the effect of this change is neutral, with some small wins and losses. The motion map has therefore been removed based on a cost/benefit evaluation. Change-Id: I53e07d236f5ce09a6f0c54e7c4ffbb490fb870f6
-
- 03 Mar, 2011 2 commits
-
-
Mikhal Shemer authored
Change-Id: I7b2fb326e1aabc08b032177a7b914a5b8bb7376f
-
Mikhal Shemer authored
Change-Id: I9d8a98a2f7ed1e3116d0bae35164618c41998bac
-
- 25 Feb, 2011 2 commits
-
-
Attila Nagy authored
Change-Id: I726976a297a593a35ed6cba3c660e372562f7b27
-
Attila Nagy authored
Check is done first when function si entered. Change-Id: Ief0d0cbd4860aaf492b78728f8d22f24029b1174
-
- 22 Feb, 2011 1 commit
-
-
Attila Nagy authored
It is not used in realtime mode. Reduces memory footprint. Change-Id: I7f163225762368df5457cfd413050161d3704a3f
-
- 18 Feb, 2011 4 commits
-
-
John Koleszar authored
Removed a number of files that were unused or little-used. Change-Id: If9ae5e5b11390077581a9a879e8a0defe709f5da
-
John Koleszar authored
Clean up some unnecessary scoping around pick_filter_level. Change-Id: Ic57fa33e3fcae37fe6beae977e5743783399d5af
-
Attila Nagy authored
No need to reinitialize for base Q changes. Change-Id: Ie76ec21dd3c5582d5183dbed75ed73a1eed3e291
-
Attila Nagy authored
Change-Id: I58154faf4f3ece24f9927a5c3ab7e830e0887fb6
-
- 16 Feb, 2011 1 commit
-
-
Yunqing Wang authored
Currently, when the video frame width is not multiples of 16, the source buffer has a stride of non-multiples of 16, which forces an unaligned load in SAD function and hurts the performance. To avoid that, this change allocates source buffers to be multiples of 16. Change-Id: Ib7506e3eb2cea06657d56be5a899f38dfe3eeb39
-
- 15 Feb, 2011 1 commit
-
-
James Zern authored
vpx_free if used contains this check. If replaced, well behaved free will behave similarly. Change-Id: I25483aaa8b39255b9a8cf388d6e5eaa20a908ae1
-
- 14 Feb, 2011 1 commit
-
-
James Berry authored
checks added to make sure that cpi->tplist is freed correctly in vp8_dealloc_compressor_data and vp8_alloc_compressor_data. Change-Id: I66149dbbd25c958800ad94f4379d723191d9680d
-
- 11 Feb, 2011 1 commit
-
-
Yunqing Wang authored
As mentioned in check-in "Improve motion search in real-time mode", MV prediction calculation causes speed loss for speed 7 and above. This change added a flag to turn off this calculation for speed>6 in real-time mode. Change-Id: I9f4ae5a8bf449222d1784b54e7d315fc8347b2d1
-