- Dec 04, 2010
-
-
Paul Wilkins authored
The inter_minq table controls the range of quantizers available for a particular frame in two pass relative to a max Q value. The changes reduces the range somewhat. The effect of this was a small increase (0.3% average) in psnr for the test set but it should also help encode speed somewhat for higher quality modes as it will reduce the number of iterations in the recode loop. The change damps the range of quantizers available locally within a section of a clip and should therefore help keep quality more uniform. If there is systematic overshoot or undershoot the range can shift gradually to accommodate. However, there is some increased risk of overshoot or undershoot against the target bit rate in VBR mode and this risk will be more pronounced for short clips. The change damps the range of quantizers available locally within a section of a clip and should therefore help keep quality more uniform. If there is systematic overshoot or undershoot the range can shift gradually to accommodate. However, there is some increased risk of overshoot or undershoot against the target bit rate in VBR mode and this risk will be more pronounced for short clips. Change-Id: I84465567d49ae767c6c73ff2a2aac30c895adb52
-
- Dec 01, 2010
-
-
Fritz Koenig authored
On a keyframe alt ref and golden are refreshed. The flag was not being set and so on the frame after a keyframe, motion search would occur on the alt ref frame. This is not necessary because the alt ref frame identical to the last frame in this scenario. Handle corner case where a forward alt-ref frame is put directly after a keyframe. Change-Id: I9be4cf290d694f8cf2f9a31852014b5ccf1504d3
-
- Nov 25, 2010
-
-
Pascal Massimino authored
remove warning comment in vpxenc.c: in case of 1x1 picture, detect_bytes will be equal to '3' and we'll fall back to RAW_TYPE. fix read_frame() by tracking the pre-read buffer length in the struct detect Change-Id: If1ed86ee5260dcdbc8f9d10da6cbb84a4cc2f151
-
- Nov 23, 2010
-
-
John Koleszar authored
-
John Koleszar authored
* changes: vp8_set_maps: remove hard-coded width/height vp8mt_alloc_temp_buffers: make prototype return void Disable compile warning for ERROR macro
-
John Koleszar authored
The sz member of the vpx_codec_stream_info_t structure must be initialized when passed to vpx_codec_peek_stream_info(). Change-Id: I2d13d287d9639262b932cf44671a595fdf3c38ef
-
- Nov 22, 2010
-
-
Paul Wilkins authored
The baseline bits per MB prediction tables have been re calibrated based on the assumption that bits per mb is inversely proportional to the quantizer level. Change-Id: Ibd355c7acac4b8053dda1baf1032fe35f11da7f7
-
Paul Wilkins authored
-
- Nov 19, 2010
-
-
Paul Wilkins authored
Added code to record spend so far against planed budget. Change-Id: I5a3335346fa1771b2b1219df9f6127f9993d2594
-
- Nov 18, 2010
-
-
Pascal Massimino authored
was having: "vp8/encoder/onyx_if.c:5365: warning: comparison of unsigned expression >= 0 is always true"
-
- Nov 17, 2010
-
-
Scott LaVarnway authored
-
Scott LaVarnway authored
macro_block_yrd and vp8_rdcost_mby are not called for SPLITMV. Change-Id: I2224d3c8725df526d48426447482768d543752f1
-
Paul Wilkins authored
Replaced existing code to decide if a frame recode is required with a function call. This is to simplify addition of extra clauses that may be needed for the planned constrained quality mode. Also fixed a bug where by alt ref not considered in the test. Change-Id: I3d40bb21abe3e19f8456761e6849deb171738b60
-
John Koleszar authored
The example for disabling the active map used a hard-coded 320x240 resolution, rather than using what was passed on the command line. Fixes #218 Change-Id: I3aed713e8aa7fcbf18dfbffd57f142b5cd9ee492
-
John Koleszar authored
This function was never called in a context expecting a return value, the return value was always a constant, and the !CONFIG_MULTITHREAD path didn't have a return statement, which caused a compiler warning. This patch changes the function to return void instead. Fixes issue #231 Change-Id: I9ef7f56e54418b7265026c54fc4ed5660c1418d1
-
John Koleszar authored
The ERROR macro collides wiith the MS SDK on Windows. Since we're not making any win32 calls in this function, just #undef it first to take ownership. Change-Id: Ic18c60dfa3a33c52e6c49d3f4f8d3e7e3ac3341d
-
Fritz Koenig authored
-
- Nov 16, 2010
-
-
Fritz Koenig authored
Clarify what the alt ref flags do when encoding. Change-Id: I71f78e0f42edae633fb91840f29dfbe64362c44c
-
Yaowu Xu authored
-
Tom Finegan authored
Adds native build configuration for Snow Leopard. Useful when users configure without arguments on OSX 10.6. Change-Id: I0bd63912a25bbfb9d4c8d58a781d0f390792429c
-
Yaowu Xu authored
There were a few errors in the comment section that describe VP8 token alphabet table. Change-Id: Ie6728a0e08bc3798893221b60408d5b201064bdc
-
- Nov 15, 2010
-
-
Fritz Koenig authored
x86-64 passes arguments in registers. There is no need to push them to the stack before using them. This fixes 15acc84f where ebx was not getting preserved on x86. Change-Id: I1214b5f818a0201f75ab6ad7d5c6f448e09b16c2
-
Paul Wilkins authored
-
Paul Wilkins authored
The use of incorrect mv costing tables in the ARNR sub-pel filtering code led to corruption of the altref buffer in some cases, particularly at low data rates. The average gain from this fix is about 0.3% but there are a few extreme cases where nasty and visible artifacts manifested and for these few data points the improvement is > 10%. PGW and AWG Change-Id: I95cc02b196a433e71d0d2bd2b933fe68ed31e796
-
Yaowu Xu authored
-
- Nov 12, 2010
-
-
Frank Galligan authored
When the first pts equaled 0 ivfenc was incorrectly increasing the pts by 1. I changed the pts and last pts to be signed. I also set the default value of last pts to -1. Change-Id: I30bcec5af9b16d93fa9e3abbea7764b133e9cd73
-
- Nov 11, 2010
-
-
Yaowu Xu authored
This intends to correct the tendency that VP8 aggressively favors rate on intra coded frames. Experiments tested different numbers in [0, 1] and found 9/16 overall provided about 2-4% gains for all-intra coded clips based on vpx-ssim metric. The impact on regular encoded clips is much smaller but positive overall. Overall impact on psnr is also positive even though very small. Change-Id: If808553aaaa87fdd44691f9787820ac9856d9f8a
-
John Koleszar authored
The fast quantizer assembly code has not been updated to match the new exact quantizer, which was made the default in commit 6adbe090. Specifically, they are not aware of the potential for the coefficient to be scaled, which results in the quantized result exceeding the range of the DCT. This patch restores the previous behavior of using the non-shifted coefficients when in the fast quantizer code path, but unfortunately requires rebuilding the tables when switching between the two. Change-Id: I0a33f5b3850335011a06906f49fafed54dda9546
-
Fritz Koenig authored
This reverts commit 15acc84f. Change-Id: Ia640be8cbc134432914849c1750f62575ea084e6
-
Paul Wilkins authored
-
- Nov 10, 2010
-
-
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
-
Fritz Koenig authored
Fixed up the fdct for mmx and 8x4 sse2 to match them most recent changes. Change-Id: Ibee2d6c536fe14dcf75cd6eb1c73f4848a56d719
-
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
-
Paul Wilkins authored
VBR rate control can become very noisy for the last few frames. If there are a few bits to spare or a small overshoot then the target rate and hence quantizer may start to fluctuate wildly. This patch prevents further adjustment of the active Q limits for the last few frames. Patch also removes some redundant variables and makes one small bug fix. Change-Id: Ic167831bec79acc9f0d7e4698bcc4bb188840c45
-
Paul Wilkins authored
Small changes to the default zero bin and rounding tables. Though the tables are currently the same for the Y1 and Y2 cases I have left them as separate tables in case we want to tune this later. There is now some adjustment of the zbin based on the prediction mode. Previously this was restricted to an adjustment for gf/arf 0,0 MV. The exact quantizer now marginal outperforms and is the default. The overall average gain is about 0.5% Change-Id: I5e4353f3d5326dde4e86823684b236a1e9ea7f47
-
- Nov 09, 2010
-
-
John Koleszar authored
-
- Nov 05, 2010
-
-
John Koleszar authored
Change-Id: I4081917b46013fa8f4218cade8bd12cb2d013aee
-
John Koleszar authored
The check '(user_data_end - partition < partition_size)' must be evaluated as a signed comparison, but because partition_size was unsigned, the LHS was promoted to unsigned, causing an incorrect result on 32-bit. Instead, check the upper and lower bounds of the segment separately. Change-Id: I6266aba7fd7de084268712a3d2a81424ead7aa06
-
John Koleszar authored
Change Ice204e86 identified a problem with bitrate undershoot due to low precision in the timestamps passed to the library. This patch takes a different approach by calculating the duration of this frame and passing it to the library, rather than using a fixed duration and letting the library average it out with higher precision timestamps. This part of the fix only applies to vpxenc. This patch also attempts to fix the problem for generic applications that may have made the same mistake vpxenc did. Instead of calculating this frame's duration by the difference of this frame's and the last frame's start time, we use the end times instead. This allows the framerate calculation to scavenge "unclaimed" time from the last frame. For instance: start | end | calculated duration ======+=======+==================== 0ms 33ms 33ms 33ms 66ms 33ms 66ms 99ms 33ms 100ms 133ms 34ms Change-Id: I92be4b3518e0bd530e97f90e69e75330a4c413fc
-