Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
removed inline from recon_wrapper_sse2.c to build
for visual stuido
Change-Id: I74a3482950448e2cdb30e9cd7087145b440d8a22
|
|
|
|
Code cleanup.
Change-Id: Ic8b0167851116c64ddf08e8a3d302fb09ab61146
|
|
|
|
Thanks Jason for pointing that out on #vp8. ;-).
Change-Id: I5330a753e752a8704b78a409597472628e0b26a5
|
|
The skip flag is never set by the encoder for SPLITMV.
Change-Id: I5ae6457edb3a1193cb5b05a6d61772c13b1dc506
|
|
|
|
decoding
before
10.425
10.432
10.423
=10.426
after:
10.405
10.416
10.398
=10.406, 0.2% faster
encoding
before
14.252
14.331
14.250
14.223
14.241
14.220
14.221
=14.248
after
14.095
14.090
14.085
14.095
14.064
14.081
14.089
=14.086, 1.1% faster
Change-Id: I483d3d8f0deda8ad434cea76e16028380722aee2
|
|
Insertion sort performs better for sorting small arrays. In real-
time encoding (speed=-5), test on test set showed 1.7% performance
gain with 0% PSNR change in average.
Change-Id: Ie02eaa6fed662866a937299194c590d41b25bc3d
|
|
|
|
|
|
The end-of-buffer check is hoisted out of the inner loop. Gives
about 0.5% improvement on x86_64.
Change-Id: I8e3ed08af7d33468c5c749af36c2dfa19677f971
|
|
Allow more reliable detection of truncated bitstreams by being more
precise with the count of "virtual" bits in the value buffer.
Specifically, the VP8_LOTS_OF_BITS value is accumulated into count,
rather than being assigned, which was losing the prior value,
increasing the required tolerance when testing for the error condition.
Change-Id: Ib5172eaa57323b939c439fff8a8ab5fa38da9b69
|
|
|
|
Combine calc_iframe_target_size, previously only used for forced
keyframes, with calc_auto_iframe_target_size, which handled most
keyframes.
Change-Id: I227051361cf46727caa5cd2b155752d2c9789364
|
|
This is a first step in cleaning up the redundancies between
vp8_calc_{auto_,}iframe_target_size. The pick_frame_size() function is
moved to ratectrl.c, and made to be the primary interface. This means
that the various calc_*_target_size functions can be made private.
Change-Id: I66a9a62a5f9c23c818015e03f92f3757bf3bb5c8
|
|
|
|
Fixed test vector mismatch that was introduced
in the "Removed dc_diff from MB_MODE_INFO"
(Ie2b9cdf9e0f4e8b932bbd36e0878c05bffd28931)
Change-Id: I98fa509b418e757b5cdc4baa71202f4168dc14ec
|
|
Conflicts:
vp8/common/alloccommon.c
vp8/encoder/rdopt.c
Change-Id: Ic34b33577423031e277235ffa6bcaff7b252e5cb
|
|
|
|
the decision to run the regular or simple loopfilter is made outside the
function and managed with pointers
stop tracking the option in two places. use filter_type exclusively
Change-Id: I39d7b5d1352885efc632c0a94aaf56b72cc2fe15
|
|
Likely introduced by a bad automatic merge from gerrit.
Change-Id: I0c6dd6ec18809cf9492f524d283fa4a3a8f4088b
|
|
|
|
Remove estimate_min_frame_size() and calc_low_ss_err(), as they are
never referenced.
Change-Id: I3293363c14ef70b79c4678ca27aa65b345077726
|
|
|
|
|
|
|
|
Rather than using a default size of 1/2 or 3/2 seconds for the first
frame, use a fraction of the initial buffer level to give the
application some control.
This will likely undergo further refinement as size limits on key
frames are currently under discussion on codec-devel@, but this gives
much better behavior for small buffer sizes as a starting point.
Change-Id: Ieba55b86517b81e51e6f0a9fe27aabba295acab0
|
|
Adds a control to limit the maximum size of a keyframe, as a function of
the per-frame bitrate. See this thread[1] for more detailed discussion:
[1]: http://groups.google.com/a/webmproject.org/group/codec-devel/browse_thread/thread/271b944a5e47ca38
Change-Id: I7337707642eb8041d1e593efc2edfdf66db02a94
|
|
|
|
vp8_adjust_key_frame_context() divides by
estimate_keyframe_frequency() which can
return 0 in the case where --kf-max-dist=0.
Change-Id: Idfc59653478a0073187cd2aa420e98a321103daa
|
|
|
|
|
|
|
|
Conflicts:
vp8/decoder/onyxd_int.h
Change-Id: Icf445b589c2bc61d93d8c977379bbd84387d0488
|
|
Change-Id: Iaaa51ec66768fe7cf4de0035602165efcc5fc5e4
|
|
The accumulator array is an integer array, so use paddd instead of paddw
to add values to it. Fixes overflows when using large --arnr-maxframes
(>8) values.
Change-Id: Iad83794caa02400a65f3ab5760f2517e082d66ae
|
|
Change-Id: I6f77e7c10a54c54b26126b8acd5edd0a03358a41
|
|
|
|
The arguments to these fprintfs are int not long int so
the format specifier should be "%d" and not "%ld". This
was writing garbage in the linux build.
Change-Id: I3d2aa8a448d52e6dc08858d825bf394929b47cf3
|
|
add an sse4 quantizer so we can use pinsrw/pextrw and keep values in xmm
registers instead of proxying through the stack. and as long as we're
bumping up, use some ssse3 instructions in the EOB detection (see ssse3
fast quantizer)
pick up about a percent on 32bit and about two on 64bit.
Change-Id: If15abba0e8b037a1d231c0edf33501545c9d9363
|
|
ref_frame is set to INTRA_FRAME for keyframes. The B_PRED
mode is only used in intra frames.
Change-Id: I9bac8bec7c736300d47994f3cb570329edf11ec0
|
|
The dc_diff flag is used to skip loopfiltering. Instead
of setting this flag in the decoder/encoder, we now check
for this condition in the loopfilter.
Change-Id: Ie2b9cdf9e0f4e8b932bbd36e0878c05bffd28931
|
|
Change-Id: I78a30fb4438ddd0730262691d7c120d67cbcaaa9
|
|
force_no_skip is always set to zero.
Change-Id: I89b61c5e0bee34627a9c07c05f3517e1db76af77
|
|
Code cleanup. The build inter predictor functions are
redundantly checking the mode_info_context for either
INTRA_FRAME or SPLITMV.
Change-Id: I4d58c3a5192a4c2cec5c24ab1caf608bf13aebfb
|