summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-12-13remove unused temporal preproc codeJohn Koleszar
This code is unused, as the current preproc implementation uses the same spatial filter that postproc uses. Change-Id: Ia06d5664917d67283f279e2480016bebed602ea7
2010-12-13Reduce size of TOKENEXTRA structJohn Koleszar
Change the size of structure elements to reduce memory utilization. Removed the 'section' member entirely, as it is set but never read. Change-Id: Iad043830392fb4168cb3cd6075fb0eb70c7f691c
2010-12-10Merge "vp8 fast quantizer sse2 optimizations for eob."Fritz Koenig
2010-12-09vp8 fast quantizer sse2 optimizations for eob.Fritz Koenig
Changed the end of block computation to use pmaxw. Removed additional pushing and popping of registers that was not needed. Change-Id: I08cb9b424513cd8a2c7ad8cea53b4e2adc66ef98
2010-12-09fix uninitialized read in encode breakoutJohn Koleszar
Change I3430820 performed an uninitialized read when encode_breakout == 0, since the sum and sse wouldn't be set: if(x->encode_breakout) VARIANCE_INVOKE(..., get16x16var)(..., &sum, &sse); if (cpi->active_map_enabled && x->active_ptr[0] == 0) { ... } else if (sse < x->encode_breakout) Change-Id: I915eb76d1227b4b6d1137a0dedf2c143860098a2
2010-12-09Correct q_low and q_high limits for the recode loopPaul Wilkins
Corrected the initial Q range limits for the recode loop to reflect the current allowed range for the frame. In experimental work on constrained quality this bug was causing unnecessary recodes. Change-Id: I7e256fbfa681293b0223fe21ec329933d76c229f
2010-12-08Merge "vp8e - static threshold play"Yaowu Xu
2010-12-08Merge "vp8e - remove unnecessary variance calc"Yaowu Xu
2010-12-07vp8e - static threshold playJim Bankoski
Realized no need for new assembly code sum is already calculated. Change-Id: Ie2d94feb4b7c1f77c5359bca29b66228e41638c9
2010-12-07Merge "vp8_rd_pick_best_mbsegmentation code restructure"Scott LaVarnway
2010-12-06Merge "adjust RDMULT for UV plane in quantization RDO"Yaowu Xu
2010-12-06adjust RDMULT for UV plane in quantization RDOYaowu Xu
This patch adds a weighting factor on RDMULT for UV blocks. The change has an overall gain about 0.5% based on ssim, between 0.1 and 0.2% by psnr numbers. Change-Id: I97781b077ce3bb7e34241b03268491917e8d1d72
2010-12-06Fix a memory leak problem in encoderYunqing Wang
Deallocating the buffers before re-allocating them. The fix passed James Berry's test program for memory leak check. Change-Id: I18c3cf665412c0e313a523e3d435106c03ca438d
2010-12-06vp8_rd_pick_best_mbsegmentation code restructureScott LaVarnway
Moved the code from the segmentation loop into a function which is now called for each segment. This will allow us to change the segment order checking more easily. Change-Id: I9510d26f0acae5a73043fcca8f1984b121d3e052
2010-12-06Merge "Improve MV prediction accuracy to achieve performance gain"Scott LaVarnway
2010-12-06Fix for manual Golden frame frequencyPatrik Westin
When auto_golden wasn't set it forced all frames to be a golden frame. Now the manual configured frequency is adhered to. Change-Id: I360acac9bc487db0d9c4d4da6ee41f70c227c539
2010-12-04Merge "Change to inter_minq table."Paul Wilkins
2010-12-04Change to inter_minq table.Paul Wilkins
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
2010-12-03Improve MV prediction accuracy to achieve performance gainYunqing Wang
Add vp8_mv_pred() to better predict starting MV for NEWMV mode in vp8_rd_pick_inter_mode(). Set different search ranges according to MV prediction accuracy, which improves encoder performance without hurting the quality. Also, as Yaowu suggested, using diamond search result as full search starting point and therefore adjusting(reducing) full search range helps the performance. Change-Id: Ie4a3c8df87e697c1f4f6e2ddb693766bba1b77b6
2010-12-03Merge 'Add simple version of activity masking.'John Koleszar
Merge commit 'refs/changes/79/779/2' of https://review.webmproject.org/p/libvpx Conflicts: vp8/encoder/encodeintra.c vp8/encoder/encodemb.c Change-Id: Id607063fabe92d99eeb3c380e8ca670b01bfb3ef
2010-12-01Set refresh_alt_ref_frame on keyframe encode.Fritz Koenig
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
2010-11-27vp8e - remove unnecessary variance calcJim Bankoski
only do the variance calculation if necessary ( eg needed for breakout test)
2010-11-24allow dimensions as low as 1 pixelPascal Massimino
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
2010-11-23Merge "vpxdec: fix use of uninitialized memory for raw files"John Koleszar
2010-11-23Merge changes I3aed713e,I9ef7f56e,Ic18c60dfJohn Koleszar
* changes: vp8_set_maps: remove hard-coded width/height vp8mt_alloc_temp_buffers: make prototype return void Disable compile warning for ERROR macro
2010-11-23vpxdec: fix use of uninitialized memory for raw filesJohn Koleszar
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
2010-11-22Recalibration of bits per MB tablesPaul Wilkins
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
2010-11-22Merge "Added extra two pass stats gathering."Paul Wilkins
2010-11-19Added extra two pass stats gathering.Paul Wilkins
Added code to record spend so far against planed budget. Change-Id: I5a3335346fa1771b2b1219df9f6127f9993d2594
2010-11-17remove warningPascal Massimino
was having: "vp8/encoder/onyx_if.c:5365: warning: comparison of unsigned expression >= 0 is always true"
2010-11-17Merge "Removed unnecessary checks."Scott LaVarnway
2010-11-17Removed unnecessary checks.Scott LaVarnway
macro_block_yrd and vp8_rdcost_mby are not called for SPLITMV. Change-Id: I2224d3c8725df526d48426447482768d543752f1
2010-11-17Replaced recode loop test with a function callPaul Wilkins
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
2010-11-17vp8_set_maps: remove hard-coded width/heightJohn Koleszar
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
2010-11-17vp8mt_alloc_temp_buffers: make prototype return voidJohn Koleszar
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
2010-11-17Disable compile warning for ERROR macroJohn Koleszar
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
2010-11-16Merge "Comments for alt ref flags."Fritz Koenig
2010-11-16Comments for alt ref flags.Fritz Koenig
Clarify what the alt ref flags do when encoding. Change-Id: I71f78e0f42edae633fb91840f29dfbe64362c44c
2010-11-16Merge "correct errors in token alphabet descriptions"Yaowu Xu
2010-11-16Add x86_64-darwin10-gcc target.tomfinegan
Adds native build configuration for Snow Leopard. Useful when users configure without arguments on OSX 10.6. Change-Id: I0bd63912a25bbfb9d4c8d58a781d0f390792429c
2010-11-16correct errors in token alphabet descriptionsYaowu Xu
There were a few errors in the comment section that describe VP8 token alphabet table. Change-Id: Ie6728a0e08bc3798893221b60408d5b201064bdc
2010-11-15Remove stack shadowing for x86-x64 for SAD functions.Fritz Koenig
x86-64 passes arguments in registers. There is no need to push them to the stack before using them. This fixes 15acc84f10cefd98b2f8dbd2eac2cc92c5a3f851 where ebx was not getting preserved on x86. Change-Id: I1214b5f818a0201f75ab6ad7d5c6f448e09b16c2
2010-11-15Merge "Bad cost tables used in ARNR filtering."Paul Wilkins
2010-11-15Bad cost tables used in ARNR filtering.Paul Wilkins
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
2010-11-15Merge "make rdmult adaptive for intra in quantizer RDO"Yaowu Xu
2010-11-12Fixed bug first cluster timecode of webm file is wrong.Frank Galligan
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
2010-11-11make rdmult adaptive for intra in quantizer RDOYaowu Xu
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
2010-11-11quantizer: fix assertion in fast quantizer pathJohn Koleszar
The fast quantizer assembly code has not been updated to match the new exact quantizer, which was made the default in commit 6adbe09. 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
2010-11-11Revert "Remove stack shadowing for x86-64"Fritz Koenig
This reverts commit 15acc84f10cefd98b2f8dbd2eac2cc92c5a3f851. Change-Id: Ia640be8cbc134432914849c1750f62575ea084e6
2010-11-11Merge "Relax rate control for last few frames"Paul Wilkins