- 20 Jun, 2012 2 commits
-
-
John Koleszar authored
Fix a last few warnings with multithread, arm, 32 bit Change-Id: Ic7c67616c370d0ff87562a232fb1e5df0702dc86
-
Paul Wilkins authored
Changes relating to Issue 411 Removed code that was clearing down the segmentation data each frame. Added range/parameter checking in vp8_set_roimap(); Return error if called when cyclic_refresh is enabled. Correct setup_features() so that it sets or clears the segment update flags as appropriate. Change-Id: Ib31ac53006640ddf1ba7b9ec8f8b952e3eff860a
-
- 11 Jun, 2012 1 commit
-
-
John Koleszar authored
Allows building the library with the gcc -pedantic option, for improved portabilty. In particular, this commit removes usage of C99/C++ style single-line comments and dynamic struct initializers. This is a continuation of the work done in commit 97b766a4, which removed most of these warnings for decode only builds. Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966
-
- 07 Jun, 2012 2 commits
-
-
Yunqing Wang authored
Frame dropping decision is made by evaluating both current frame and next frame's buffer_level. If both buffer_levels are less than drop_mark, next frame is dropped. When frame dropping is over, namely, buffer_level becomes normal again, we need to reset decimation_count to 0. Change-Id: Iae182612e61e0da367fbd43afdc90738d975d1a3
-
Yunqing Wang authored
Removed unused parameters and code related to drop_frame. Change-Id: I594e050d49b1805c6f72abf06005ef624256bb57
-
- 06 Jun, 2012 1 commit
-
-
Marco Paniconi authored
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
-
- 04 Jun, 2012 1 commit
-
-
Johann authored
VP8_REFFRAME is the same as vpx_ref_frame_type Change-Id: I63c2ddfb39f6ec87d1e5eb6a8852846464552b1b
-
- 30 May, 2012 1 commit
-
-
Jim Bankoski authored
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
-
- 24 May, 2012 1 commit
-
-
Jim Bankoski authored
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
-
- 23 May, 2012 3 commits
-
-
Attila Nagy authored
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
-
John Koleszar authored
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
-
Attila Nagy authored
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
-
- 16 May, 2012 1 commit
-
-
Yunqing Wang authored
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
-
- 11 May, 2012 1 commit
-
-
Scott Graham authored
Change-Id: If6e11ba3d681e831d7d98662c0abdd2ac16b3811
-
- 04 May, 2012 3 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
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
-
- 02 May, 2012 1 commit
-
-
Attila Nagy authored
Fix code for following warnings: -Wimplicit-function-declaration -Wuninitialized -Wunused-but-set-variable -Wunused-variable Change-Id: I2be434f22fdecb903198e8b0711255b4c1a2947a
-
- 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 2 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
-
- 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 1 commit
-
-
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
-
- 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
-
- 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 1 commit
-
-
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
-
- 13 Mar, 2012 1 commit
-
-
Stefan Holmer authored
Some refactoring in rdopt.c and pickinter.c. Change-Id: I4f50020eb3313c37f4d441d708fedcaf219d3038
-
- 29 Feb, 2012 1 commit
-
-
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
-
- 27 Feb, 2012 1 commit
-
-
James Berry authored
use oxcf instead of common in check to Reinit the lookahead buffer if the frame size changes prior behavior would cause assertion fail/crash first observed in: support changing resolution with vpx_codec_enc_config_set Change-Id: Ib669916ca9b4f206d4cc3caab5107e49d39a36aa
-
- 16 Feb, 2012 1 commit
-
-
Attila Nagy authored
Second shot at this... Sync with loopfilter thread as late as possible, usually just at the beginning of next frame encoding. This returns control to application faster and allows a better multicore scaling. When PSNR packets are generated the final filtered frame is needed imediatly so we cannot delay the sync. Same has to be done when internal frame is previewed. Change-Id: I64e110c8b224dd967faefffd9c93dd8dbad4a5b5
-
- 09 Feb, 2012 1 commit
-
-
Scott LaVarnway authored
Reduced by 4080 bytes. Change-Id: I037b55bc9684bf4a54bce238be00e8c4db3f643e
-
- 08 Feb, 2012 1 commit
-
-
John Koleszar authored
Allow the application to change the frame size during encoding. This is only supported when not using lagged compress. Change-Id: I89b585d703d5fd728a9e3dedf997f1b595d0db0f
-
- 30 Jan, 2012 5 commits
-
-
John Koleszar authored
This is the final commit in the series converting to the new RTCD system. It removes the encoder csystemdependent files and the remaining global function pointers that didn't conform to the old RTCD system. Change-Id: I9649706f1bb89f0cbf431ab0e3e7552d37be4d8e
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. It removes the last of the VP8_ENCODER_RTCD struct references. Change-Id: I2a44f52d7cccf5177e1ca98a028ead570d045395
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Ia5828b7ecc80db55b21916704aa3d54cbb98f625
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: Iba9df4c03a508e51c37201c621be43523fae87d9
-
John Koleszar authored
This commit continues the process of converting to the new RTCD system. Change-Id: I3f9c07db65eb206f6363d21bdb80e871570da767
-