summaryrefslogtreecommitdiff
path: root/vp8
AgeCommit message (Collapse)Author
2012-06-11Fix bad mergeJohn Koleszar
Change-Id: I45849dde0ee9b7e87fa32adb65ade8486bb66556
2012-06-11Merge "Reset Q for key frame when spatial resizing occurs."John Koleszar
2012-06-07Remove unused code in drop_frameYunqing Wang
Removed unused parameters and code related to drop_frame. Change-Id: I594e050d49b1805c6f72abf06005ef624256bb57
2012-06-06Reset Q for key frame when spatial resizing occurs.Marco Paniconi
The logic for spatial resizing is done after the Q is selected for the frame. This causes a problem that the Q we select for the (resized) key frame may be based on a different resolution than the frame we will encode. This fix is to ensure that, when resize is on, the selected Q is still based on the resolution of the frame to be encoded. Change-Id: Ia49a9eac5f64e48d1c00dfc7ed4ce26fe84d3fa1
2012-06-04Remove extra enumJohann
VP8_REFFRAME is the same as vpx_ref_frame_type Change-Id: I63c2ddfb39f6ec87d1e5eb6a8852846464552b1b
2012-06-04Remove redundant assignmentJohann
clang complains about self-assignment Change-Id: Iead70eed0a960e84a4b167f67f05b05e2965b3b6
2012-06-04Explicitly discard fwrite/fread return valuesJohann
Using if(); triggers an empty body warning with clang Change-Id: I0fa2ee676400a974b40f8eaafca9ae668107eebb
2012-05-31Fixes a win build issue related to denoising.Stefan Holmer
Change-Id: I912384f526865089aa03ca8875591324e5c1c449
2012-05-31Fixes a clang linking error.Stefan Holmer
Change-Id: I1d2db53129dc6ec068093ad1e5fc0d94110473b3
2012-05-31Fixes a win build issue related to denoising.Stefan Holmer
Change-Id: I912384f526865089aa03ca8875591324e5c1c449
2012-05-31Fixes a clang linking error.Stefan Holmer
Change-Id: I1d2db53129dc6ec068093ad1e5fc0d94110473b3
2012-05-30Added another denoising threshold for finding DC shifts.Stefan Holmer
Compares the sum of differences between the input block and the averaged block. If they differ too much the block will not be filtered. Negligible perfomance hit. Change-Id: Ib1c31a265efd4d100b3abc4a1ea6675038c8ddde
2012-05-30Make libvpx Chromium build friendlyAlpha Lam
Add PRIVATE macro for adding private_extern directive for yasm to hide global symbols. This is only enabled if -DCHROMIUM is used with YASM. Also fixed a small problem with rtcd_defs.sh to guard TEMPORAL_DENOISING. Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
2012-05-30fix denoiser for temporal patterns and rdJim Bankoski
This extends the denoiser to work for temporally scalable coding. I believe this also fixes a very rare but really bad bug in the original implementation. Change-Id: I8b3593a8c54b86eb76f785af1970935f7d56262a
2012-05-30Inline Intrinsic optimized DenoiserChristian Duvivier
Faster version of denoiser, cut cost by 1.7x for C path, by 3.3x for SSE2 path. Change-Id: I154786308550763bc0e3497e5fa5bfd1ce651beb
2012-05-30Added another denoising threshold for finding DC shifts.Stefan Holmer
Compares the sum of differences between the input block and the averaged block. If they differ too much the block will not be filtered. Negligible perfomance hit. Change-Id: Ib1c31a265efd4d100b3abc4a1ea6675038c8ddde
2012-05-25Merge "fix denoiser for temporal patterns and rd"Jim Bankoski
2012-05-24Merge changes I231c062e,Idadc42c7John Koleszar
* changes: Add external resize tests Prevent external frame size changes in two-pass
2012-05-24Merge "Fix another multithreaded encoder loopfilter race condition"John Koleszar
2012-05-24fix denoiser for temporal patterns and rdJim Bankoski
This extends the denoiser to work for temporally scalable coding. I believe this also fixes a very rare but really bad bug in the original implementation. Change-Id: I8b3593a8c54b86eb76f785af1970935f7d56262a
2012-05-23Merge "Make libvpx Chromium build friendly"John Koleszar
2012-05-23Make libvpx Chromium build friendlyAlpha Lam
Add PRIVATE macro for adding private_extern directive for yasm to hide global symbols. This is only enabled if -DCHROMIUM is used with YASM. Also fixed a small problem with rtcd_defs.sh to guard TEMPORAL_DENOISING. Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
2012-05-23Fix another multithreaded encoder loopfilter race conditionAttila Nagy
After a key frame encoding, the frame type could change while filtering is still going on. Pass the frame type as parameter to the loopfilter function and don't read it from common storage. vp8cx_set_alt_lf_level has to be done before packing the stream. Currently alt_lf_level is not used so there hasn't been any visible problem here. Change-Id: Ia114162158cd833c2b16e3b89303cc9c91f19165
2012-05-23Prevent external frame size changes in two-passJohn Koleszar
The two-pass code does not support the case where the application changes the frame size dynamically. Add this case to the validation checks in the vpx_codec_enc_config_set() path. Change-Id: Idadc42c7c3bd566ecdbce30d8dd720add097f992
2012-05-23Merge changes I38e93fe2,I6d6a0fb6,I51155833,If4c3e5d4,Ia2f40ef2John Koleszar
* changes: Add initial keyframe tests Move all tests to test/ directory Enable unit tests by default Build unit tests monolithically configure: initial support for CXX, CXXFLAGS variables
2012-05-23Fix memory leak in vpx_codec_enc_config_set()John Koleszar
Resolution changes in calls to vpx_codec_enc_config_set() would cause a memory leak due to failing to release the lookahead and alt ref buffers. Change-Id: I48392ea25e71fe2760d60cfde3fb3874598cc85f
2012-05-23multi-res: modify memory allocation codeYunqing Wang
Reverted part of change in memory alllocation code, which ensures that the function returns 0 and encoder works correctly when CONFIG_MULTI_RES_ENCODING isn't turned on. Change-Id: Id5d5e7f2c8bd9e961a6dca79d257e8185f0d592a
2012-05-23Fix another multithreaded encoder loopfilter race conditionAttila Nagy
After a key frame encoding, the frame type could change while filtering is still going on. Pass the frame type as parameter to the loopfilter function and don't read it from common storage. vp8cx_set_alt_lf_level has to be done before packing the stream. Currently alt_lf_level is not used so there hasn't been any visible problem here. Change-Id: Ia114162158cd833c2b16e3b89303cc9c91f19165
2012-05-22Move all tests to test/ directoryJohn Koleszar
Consolodate the unit tests under vp8/ to the test/ directory Change-Id: I6d6a0fb60f5e3874a4d6710e9e121dd3e81a93db
2012-05-22Build unit tests monolithicallyJohn Koleszar
Rework unit tests to have a single executable rather than many, which should avoid pollution of the visual studio project namespace, improve build times, and make it easier to use the gtest test sharding system when we get these going on the continuous build cluster. Change-Id: If4c3e5d4b3515522869de6c89455c2a64697cca6
2012-05-22Merge "multi-res: force Key frame sychronization"Yunqing Wang
2012-05-21Inline Intrinsic optimized DenoiserChristian Duvivier
Faster version of denoiser, cut cost by 1.7x for C path, by 3.3x for SSE2 path. Change-Id: I154786308550763bc0e3497e5fa5bfd1ce651beb
2012-05-16multi-res: force Key frame sychronizationYunqing Wang
In multi-resolution encoding, frame_type decision for each frame is made by the lowest-resolution encoder. For all other higher- resolution encoders, kf_mode is always set to VPX_KF_DISABLED, and they are forced to use the same frame_type picked by the lowest-resolution encoder. Change-Id: Ic4d52ec65bbc012ca9c2d236210e28a295591eaf
2012-05-11fix warnings for building on win32Scott Graham
Change-Id: If6e11ba3d681e831d7d98662c0abdd2ac16b3811
2012-05-11Merge branch 'origin/eider' into masterJohn Koleszar
Conflicts: vp8/common/entropymode.c vp8/common/entropymode.h vp8/encoder/encodeframe.c vp8/vp8_cx_iface.c Change-Id: I708b0f30449b9502b382e47b745d56f5ed2ce265
2012-05-09Merge "vp8e - boolcoder unit test"Jim Bankoski
2012-05-08Use consistent range for VP8E_SET_NOISE_SENSITIVITYJohn Koleszar
Accept the same range of inputs for the VP8E_SET_NOISE_SENSITIVITY control, regardless of whether temporal denoising is enabled or not. This is important for maintaining compatibility with existing applications. Change-Id: I94cd4bb09bf7c803516701a394cf1a63bfec0097
2012-05-08vp8e - boolcoder unit testJim Bankoski
Adds a unit test to the boolcoder that tests encoding and decoding thousands of different bits, with different probabilities in different patterns. Code borrowed from the webp project - and its committers. Change-Id: Icabbb884d57e666496490c961dd29b246144ab3e
2012-05-04fix vp8_ namespace issuesJohn Koleszar
Make functions only referenced from one translation unit static. Other symbols with extern linkage get a vp8/vpx prefix. Change-Id: I928c7e0d0d36e89ac78cb54ff8bb28748727834f
2012-05-04Formalize encodeframe.c forward delclarationsJohn Koleszar
Change If4321cc5 fixed a bug caused by forward declarations not being kept in sync across C files, resulting in a function call with the wrong arguments. The commit moves the affected function declarations into a header file, along with the other symbols from encodeframe.c that were being sloppily shared. Change-Id: I76a7b4c66d4fe175f9cbef7e52148655e4bb9ba1
2012-05-04Fix multi-resolution threaded encodingAttila Nagy
mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in threaded encoding. Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
2012-05-04remove deprecated pre-v0.9.0 APIJohn Koleszar
Remove a bunch of compatibility code dating back to before the initial libvpx release. Change-Id: Ie50b81e7d665955bec3d692cd6521c9583e85ca3
2012-05-04Make global data constAttila Nagy
Removes all runtime initialization of global data. This commit is a squashed version of the following series cherry-picked from master. This is necessary because of a change that was merged to the tester that depends on the scaler being moved to the RTCD framework, which is a worthwhile thing to include in Eider anyway. - a91b42f02 Makes all global data in entropy.c const - b35a0db0e Makes all global data in tokenize.c const - 441cac8ea Makes all mode token tables const - 5948a0210 Ports vpx_xcaler to new RTCD method - 317d4244c Makes all mode token tables const part 2 Change-Id: Ifeaea24df2b731e7c509fa6c6ef6891a374afc26
2012-05-04Fix multi-resolution threaded encodingAttila Nagy
mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in threaded encoding. Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
2012-05-03Merge "Add VPX_TS_ prefix to MAX_LAYERS, MAX_PERIODICITY" into eiderJohn Koleszar
2012-05-02multi-res: restore v1.0.0 APIJohn Koleszar
Move the notion of 0 bitrate implying skip deeper into the codec, rather than doing it at the multi-encoder API level. This preserves v1.0.0 ABI compatibility, rather than forcing a bump to v2.0.0 over a minor change. Also, this allows the case where the application can selectively enable and disable the larger resolution(s) without having to reinitialize the codec instace (for instance, if no target is receiving the full resolution stream). It's not clear how deep to push this check. It may be valuable to allow the framerate adaptation code to run, for example. Currently put the check as early as possible for simplicity, should reevaluate this as this feature gains real use. Change-Id: I371709b8c6b52185a1c71a166a131ecc244582f0
2012-05-02Merge "Fix compiler warnings" into eiderJohn Koleszar
2012-05-02Add VPX_TS_ prefix to MAX_LAYERS, MAX_PERIODICITYJohn Koleszar
Preserved the prior names for compatibility, will remove in the future. Change-Id: I8773f959ebce72f60168a2972f7a8ffe6642b9b2
2012-05-02Fix TEXTRELs in the ARM asm.Timothy B. Terriberry
Besides imposing a performance penalty at startup in most configurations, these relocations break the dynamic linker for native Fennec, since it does not support them at all. Change-Id: Id5dc768609354ebb4379966eb61a7313e6fd18de
2012-05-02Fix trailing commas in enums.Timothy B. Terriberry
These are warnings in most builds, but show up as compile errors on some platforms when these headers are included from C++ code. Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5