Age | Commit message (Collapse) | Author |
|
When aq-mode=3 is enabled, only for base layer frames should the
qp of the frame incorporate the segment delta-qp.
This was causing more rate mismatch for the enhancement layer frames
when running temporal layers with aq-mode=3 on.
Change-Id: I1c5e69d1ef8a51188af8696753c17fd8f67699b3
|
|
|
|
|
|
The warning only happens in VP9 encoder's first pass due to src_mi
is not set up yet. But it will not fail the encoder as left_mi and
above_mi are not used in the first_pass and they will be set up again
in the second pass.
Change-Id: I0713b4660d71e229e196654cb0970ba6b1574f28
|
|
|
|
Where a frame appears to be a repeat of an earlier
frame or frame buffer, but the first pass code
does not anticipate this (usually because it is matching
the GF or ARF buffer not the last frame buffer), do not
update the last frame buffer.
This helps ensure that the content of the last frame buffer
is kept "different" where possible, and not updated to
match the GF or ARF. This is particularly helpful in some
animated sequences where there are groups of repeating
frames. Here it has quite a big impact. However, in most
of our standard test clips it has little or no impact.
Change-Id: I77332ee1a69f9ffc0c6080bfeb811c43fd8828e6
|
|
|
|
this should only need to be the size of the largest block, i.e., 32, not
64.
Change-Id: Ib8cb2424771fdd2a64c55379597248b2722a5ceb
|
|
this macro was used inconsistently and only differs in behavior from
DECLARE_ALIGNED when an alignment attribute is unavailable. this macro
is used with calls to assembly, while generic c-code doesn't rely on it,
so in a c-only build without an alignment attribute the code will
function as expected.
Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
|
|
|
|
|
|
|
|
|
|
average improvement ~4x-6x
Change-Id: Idaba7e49fbd7f388caee0d73773ccf6e4807ef17
|
|
vp9_dc_left_predictor_16x16
vp9_dc_top_predictor_32x32
vp9_dc_left_predictor_32x32
vp9_dc_128_predictor_32x32
Change-Id: Ib9861deefd01c3527235b92ff6b3d571ef6b4bc6
|
|
Using EIGHTTAP and EIGHTTAP_SMOOTH seem sufficient.
Hard to see any visual gain from allowing EIGHTTAP_SHARP, and it is
rarely selected.
PSNR/SSIM metrics go up by ~0.18/0.14%.
Change-Id: I96fa0d98f9321b913e3ebcd464d4ff3c63018791
|
|
Create a new component, vpx_dsp, for code that can be shared
between codecs. Move the SAD code into the component.
This reduces the size of vpxenc/dec by 36k on x86_64 builds.
Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
|
|
Change-Id: Id0f224ac4667dd173363b0f05711678448291d4e
|
|
times of border extension.
Change-Id: I8e5bd590cc696ee71cfe1f4cc66c12fb24aaf44e
|
|
|
|
|
|
|
|
Added the intra mode early termination in order to
speed up the mode search in non-rd case since we
started to include more intra modes in the search
list. Borg tests(rtc set) showed a 0.048% PSNR gain
and 0.061 SSIM gain. No speed change.
Change-Id: I6f255fe534dc50b736e6a66a726ad458eb9b4443
|
|
Change-Id: I5a796425ce5706824a2fc17c6f24f983c5b9e43b
|
|
widen the loads and stores to 128-bit.
this was added, but not enabled in:
493a857 Add some sse2 code for intra prediction.
Change-Id: I277d7db608a7db7d75cc0bde86f48fa66ad487e4
|
|
|
|
|
|
|
|
average improvement ~4x-6x
Change-Id: I55e95b7f2ba403dff11813958dc7c73a900dd022
|
|
For non-rd mode (speed >=5): use mask based on prediction block size, and
(for non-screen content mode) allow for checking horiz and vert intra modes
for blocks sizes < 16x16.
Avg psnr/ssim metrics go up by about ~0.2%.
Only allowing H/V intra on block sizes below 16x16 for now, to keep
encoding time increase very small, and also when allowing H/V on 16x16 blocks,
metrics went down on a few clips which need to be further examined.
Change-Id: I8ae0bc8cb2a964f9709612c76c5661acaab1381e
|
|
+ fix some whitespace
Change-Id: Id61b739282014288a7e5d3c17a9d6448d9d4cda2
|
|
|
|
|
|
Should be using xd->above_mi and xd->left_mi.
Change-Id: Ifab83512db5491a955a3ed44a2d6e3b25b5ae5a5
|
|
Impose a limit on the rd auto partition search based on
the image format. Smaller formats require that the search
includes includes a smaller minimum block size.
This change is intended to mitigate the visual impact of
ringing in some problem clips, for smaller image formats.
Change-Id: Ie039e5f599ee079bbef5d272f3e40e2e27d8f97b
|
|
Remove one of the auto partition size cases.
This case can behaves badly in some types of animated content
and was only used for the rd encode path. A subsequent patch
will add additional checks to help further improve visual quality.
Change-Id: I0ebd8da3d45ab8501afa45d7959ced8c2d60ee4e
|
|
Previously limit on max interval set to 0.5 seconds.
Though this helped some low frame rate material it
appears to be a bit too aggressive for some 24 and 25 fps
content. This patch relaxes the limit to 0.75 seconds.
The patch also adds a new minimum interval variable
to replace the current hard wired value. This allows us
to impose a limit on the maximum number of primary
arfs per second for high frame rate (e.g. 50 & 60fps)
content. This is to address concerns regarding playback
performance on some platforms if there is a high base
frame rate and very frequent arfs.
Change-Id: I373e8b6b2a8ef522eced6c6d2cceb234ff763fcf
|
|
offsetting by a variable stride prevents instruction reordering,
resulting in poor assembly
Change-Id: Id62d6b3299cdd23f8c44f97b630abf4fea241446
|
|
offsetting by a variable stride prevents instruction reordering,
resulting in poor assembly.
additionally reroll 16x16/32x32 loops to reduce register spill with this
new format
Change-Id: I0635b8ba21ecdb88116e927dbdab53acdf256e11
|
|
|
|
|
|
Change-Id: I16c0a62e52dab62837c547345df31e7518620ed4
|
|
This patch reduced the BLOCK_8X8's intra_cost_penalty, which
allows 8x8 blocks to conduct intra mode search. Borg test
result(rtc set): 0.077% PSNR gain, 0.228% SSIM gain. No speed
changes.
Change-Id: Icfe90c4f6969de24bda8ecacbd3da50330bf22b2
|
|
The rotation computation using 2X of cos(pi/16) has a potential to
overflow 32 bit, this commit disable the function to allow further
investigation and optimization.
Change-Id: I4a9803bc71303d459cb1ec5bbd7c4aaf8968e5cf
|
|
|
|
Calculated cpi->vbp_threshold_sad from this frame's dequant value.
The encoding quality and speed didn't change much. Borg test
result: PSNR: -0.002%, SSIM: -0.003%.
Change-Id: I97c9826986f39582f29910d637d08a69c90afdee
|
|
|
|
|
|
return the difference between the 2 buffer sizes rather than exactly
-1/0/1.
Change-Id: Idf1ccff7088b31845470bcc71bea5927b0598cc7
|
|
The version is currently producing different result from c version
for some input. Disable the use of it for now to allow time for
investigation the source of mismatch.
Change-Id: Id039455494ee531db4886a9f1fa4761174ef6df3
|