- 11 May, 2012 1 commit
-
-
Scott Graham authored
Change-Id: If6e11ba3d681e831d7d98662c0abdd2ac16b3811
-
- 08 May, 2012 1 commit
-
-
Jim Bankoski authored
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
-
- 04 May, 2012 5 commits
-
-
John Koleszar authored
Make functions only referenced from one translation unit static. Other symbols with extern linkage get a vp8/vpx prefix. Change-Id: I928c7e0d0d36e89ac78cb54ff8bb28748727834f
-
John Koleszar authored
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
-
Attila Nagy authored
mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in threaded encoding. Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
-
Attila Nagy authored
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. - a91b42f0 Makes all global data in entropy.c const - b35a0db0 Makes all global data in tokenize.c const - 441cac8e Makes all mode token tables const - 5948a021 Ports vpx_xcaler to new RTCD method - 317d4244 Makes all mode token tables const part 2 Change-Id: Ifeaea24df2b731e7c509fa6c6ef6891a374afc26
-
Attila Nagy authored
mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in threaded encoding. Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
-
- 02 May, 2012 5 commits
-
-
John Koleszar authored
Preserved the prior names for compatibility, will remove in the future. Change-Id: I8773f959ebce72f60168a2972f7a8ffe6642b9b2
-
Timothy B. Terriberry authored
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
-
Timothy B. Terriberry authored
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
-
Timothy B. Terriberry authored
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
-
Attila Nagy authored
Fix code for following warnings: -Wimplicit-function-declaration -Wuninitialized -Wunused-but-set-variable -Wunused-variable Change-Id: I2be434f22fdecb903198e8b0711255b4c1a2947a
-
- 27 Apr, 2012 2 commits
-
-
Adrian Grange authored
The ARNR filter uses MC to find the best match between the ARF and other nearby frames in the filter-set. Since the ARF is a member of the filter-set, MC in that case is unnecesssary. This patch modifies the filter so it does not apply MC in this case. Change-Id: Ic0321199c08db2189a57f28d1700b745bc7ff66d
-
Adrian Grange authored
The ARNR filter uses a motion compensated temporal filter, but the motion estimation implementation accounts for the cost of the mv in its decision making process. The ARNR filter uses a dummy cost table initialized to 0 as a way to ignore the mv costs (which are irrelevant to the filter). This CL modifies the ARNR filter implementation so that the mv costing is ignored without the requirement for dummy tables. Change-Id: I4196aa5c24da63f858ff54fbaa5fc85ae1f1957f
-
- 25 Apr, 2012 1 commit
-
-
Attila Nagy authored
Race was introduced by https://gerrit.chromium.org/gerrit/15563. If loopfilter related config params were changed between frames, or after a KEY frame, there could be a mismatch between encoder's and decoder's recontructed image. In worst case, when frame buffers are reallocated because of a size change, the loopfilter could do an invalid data access (segmentation fault). Fixes: Sync with the loopfilter before applying any encoder changes in vp8_change_config(). Moved the loopfilter synching to the top of encode_frame_to_data_rate() so that it's done before any alteration of the encoder. Change-Id: Ide5245d2a2aeed78752de750c0110bc4b46f5b7b
-
- 23 Apr, 2012 3 commits
-
-
Attila Nagy authored
RD costs were local to MACROBLOCK data and had to be copied all the time to each thread's MACROBLOCK data. Tables moved to a common place and only pointers are setup for each encoding thread. vp8_cost_tokens() generates 'int' costs so changed all types to be int (i.e. removed unsigned). NOTE: Could do some more cleaning in vp8cx_init_mbrthread_data(). Change-Id: Ifa4de4c6286dffaca7ed3082041fe5af1345ddc0
-
Scott LaVarnway authored
and replaced with use_bilinear_mc_filter. Change-Id: Ie9e9f0bccca4ab7d3e23ae045aefed33536103ff
-
Attila Nagy authored
Key frame macrobock and block mode probabilities are constant. Remove the allocation of tables for each codec instance and use instead the default const prob tables. Change-Id: I8361798ac491f9b3889e86925a494c58647c753f
-
- 20 Apr, 2012 1 commit
-
-
John Koleszar authored
Look for changes in the codec's configured w/h instead of its active w/h when forcing keyframes. Otherwise calls to vp8_change_config() will force a keyframe when spatial resampling is active. Change-Id: Ie0d20e70507004e714ad40b640aa5b434251eb32
-
- 19 Apr, 2012 2 commits
-
-
Attila Nagy authored
We can get rid of all remaining global initializers now: vp8_scale_machine_specific_config() vp8_initialize() vp8dx_initialize() Change-Id: I2825cea5d1c01ad9f6c45df49a0f86d803bfeb69
-
Attila Nagy authored
Mode token tabels precalculated in entropymode.c. Removes vp8_initialize_common()as all common global data is precalculated const now. Change-Id: I9b2ccc883e4f618069e1bc180dad3a823394eb73
-
- 17 Apr, 2012 2 commits
-
-
Attila Nagy authored
Removes all runtime initialization of global data in tokenize.c. DCT token and cost tabels are pre-generated. Second patch in a series to make sure code is reentrant. Change-Id: Iab48b5fe290129823947b669413101f22a1bcac0
-
Attila Nagy authored
Removes all runtime initialization of global data in entropy.c. Precalculated values are used for initializing all entropy related tabels. First patch in a series to make sure code is reentrant. Change-Id: I9aac91a2a26f96d73c6470d772a343df63bfe633
-
- 16 Apr, 2012 1 commit
-
-
John Koleszar authored
When producing an invisible ARF, the time stamp counters aren't updated since the last time stamp is seen by the codec twice. The prior code was trapping this case with refresh_alt_ref, but this isn't correct for other uses of the ARF. Instead, use the show_frame flag. Change-Id: If67fff7c6c66a3606698e34e2fb5731f56b4a223
-
- 29 Mar, 2012 1 commit
-
-
John Koleszar authored
Change-Id: Ic7782707afed38c3ec7e996a4a11dc2d55226691
-
- 26 Mar, 2012 1 commit
-
-
Scott LaVarnway authored
Added y/uv stride as a parameter and remove the duplicate code. Change-Id: I019117a9dd9659a09d3d4e845d4814d3f33341b5
-
- 22 Mar, 2012 1 commit
-
-
Deb Mukherjee authored
Adds logic to disable mfqe for the first frame after a configuration change such as change in resolution. Also adds some missing if CONFIG_POSTPROC macro checks. Change-Id: If29053dad50b676bd29189ab7f9fe250eb5d30b3
-
- 21 Mar, 2012 2 commits
-
-
James Berry authored
__inline removed for broader compiler compatibility Change-Id: I6f2b218dfc808b73212bbb90c69e2b6cc1fa90ce
-
Yunqing Wang authored
Added back a vpx_free call that was mistakenly removed. Change-Id: Ib662933a8697a4efb8534b5b9b762ee6c2777459
-
- 16 Mar, 2012 1 commit
-
-
Yunqing Wang authored
This change added a motion search skipping mechanism similar to what we did in second pass. For a macroblock that is very similar to the macroblock at same location on last frame, we can set its mv to be zero, and skip motion search. This improves first-pass performance for slide shows and video conferencing clips with a slight PSNR loss. Change-Id: Ic73f9ef5604270ddd6d433170091d20361dfe229
-
- 14 Mar, 2012 1 commit
-
-
John Koleszar authored
This issue likely doesn't appear in the unmodified encoder, but sufficient hacking on the mode selection loop can expose it. Change-Id: I8a35831e8f08b549806d0c2c6900d42af883f78f
-
- 13 Mar, 2012 1 commit
-
-
Stefan Holmer authored
Some refactoring in rdopt.c and pickinter.c. Change-Id: I4f50020eb3313c37f4d441d708fedcaf219d3038
-
- 12 Mar, 2012 1 commit
-
-
Marco Paniconi authored
Set an iniital/minimun boost level for the frame rate factor of key frame target size setting. Change-Id: If2586f4ac76a1fa89378aa652a58607356a1f426
-
- 06 Mar, 2012 2 commits
-
-
Jim Bankoski authored
Last commit went the wrong way. Change-Id: I5e47ee6c25b0893dfa84318229b93c57dfeec24e
-
Johann authored
The MFQE function of the postprocessor depends on these Change-Id: I256a37c6de079fe92ce744b1f11e16526d06b50a
-
- 05 Mar, 2012 1 commit
-
-
Jim Bankoski authored
Coefficient costing failed to take account of the first branch being skipped ( 0 vs eob) if the previous token is 0. Fixed rd to account for slightly increased token cost & cleaned up warning message Change-Id: I56140635d9f48a28dded5a816964e973a53975ef
-
- 01 Mar, 2012 2 commits
-
-
Paul Wilkins authored
This seeks to boost the size of the keyframe if the entire section is a single frame clip Change-Id: I3c00268dc155b047dc4b90e514cf403d55a4f8ef
-
Paul Wilkins authored
Change-Id: Ie1796f272dc33bf5a1c8ac990da625961d272aa9
-
- 29 Feb, 2012 2 commits
-
-
Attila Nagy authored
Produce the token partitions on-the-fly, while processing each MB. Context is updated at the beginning of each frame based on the previoud frame's counters. Optimally encoder outputs partitions in separate buffers. For frame based output, partitions are concatenated internally. Limitations: - enabled just in combination with realtime-only mode - number of encoding threads has to be equal or less than the number of token partitions. For this reason, by default the encoder will do 8 token partitions. - vpxenc supports partition output (-P) just in combination with IVF output format (--ivf) Performance: - Realtime encoder can be up to 13% faster (ARM) depending on the number of threads and bitrate settings. Constant gain over the 5-16 speed range. - Token buffer reduced from one frame to 8 MBs Quality: - quality is affected by the delayed context updates. This again dependents on input material, speed and bitrate settings. For VC style input the loss seen is up to 0.2dB. If error-resilient=2 mode is used than the effect of this change is negligible. Example: ./configure --enable-realtime-only --enable-onthefly-bitpacking ./vpxenc --rt --end-usage=1 --fps=30000/1000 -w 640 -h 480 --target-bitrate=1000 --token-parts=3 --static-thresh=2000 --ivf -P -t 4 -o strm.ivf tanya_640x480.yuv Change-Id: I127295cb85b835fc287e1c0201a67e378d025d76
-
Jim Bankoski authored
applies a penalty to intra blocks in order to cut down on blockiness in easy sections. Change-Id: Ia9e5df16328b0bf01bf0f2e6e61abcb687316c12
-