Age | Commit message (Collapse) | Author |
|
was having: "vp8/encoder/onyx_if.c:5365: warning: comparison of unsigned expression >= 0 is always true"
|
|
|
|
macro_block_yrd and vp8_rdcost_mby are not called for SPLITMV.
Change-Id: I2224d3c8725df526d48426447482768d543752f1
|
|
Replaced existing code to decide if a frame recode is required
with a function call. This is to simplify addition of extra clauses
that may be needed for the planned constrained quality mode.
Also fixed a bug where by alt ref not considered in the test.
Change-Id: I3d40bb21abe3e19f8456761e6849deb171738b60
|
|
|
|
Clarify what the alt ref flags do when encoding.
Change-Id: I71f78e0f42edae633fb91840f29dfbe64362c44c
|
|
|
|
Adds native build configuration for Snow Leopard. Useful when
users configure without arguments on OSX 10.6.
Change-Id: I0bd63912a25bbfb9d4c8d58a781d0f390792429c
|
|
There were a few errors in the comment section that describe VP8 token
alphabet table.
Change-Id: Ie6728a0e08bc3798893221b60408d5b201064bdc
|
|
x86-64 passes arguments in registers. There is no need to push
them to the stack before using them.
This fixes 15acc84f10cefd98b2f8dbd2eac2cc92c5a3f851 where ebx
was not getting preserved on x86.
Change-Id: I1214b5f818a0201f75ab6ad7d5c6f448e09b16c2
|
|
|
|
The use of incorrect mv costing tables in the ARNR sub-pel
filtering code led to corruption of the altref buffer in some cases,
particularly at low data rates.
The average gain from this fix is about 0.3% but there are a few
extreme cases where nasty and visible artifacts manifested and
for these few data points the improvement is > 10%.
PGW and AWG
Change-Id: I95cc02b196a433e71d0d2bd2b933fe68ed31e796
|
|
|
|
When the first pts equaled 0 ivfenc was incorrectly increasing the
pts by 1. I changed the pts and last pts to be signed. I also set
the default value of last pts to -1.
Change-Id: I30bcec5af9b16d93fa9e3abbea7764b133e9cd73
|
|
This intends to correct the tendency that VP8 aggressively favors rate
on intra coded frames. Experiments tested different numbers in [0, 1]
and found 9/16 overall provided about 2-4% gains for all-intra coded
clips based on vpx-ssim metric. The impact on regular encoded clips
is much smaller but positive overall. Overall impact on psnr is also
positive even though very small.
Change-Id: If808553aaaa87fdd44691f9787820ac9856d9f8a
|
|
The fast quantizer assembly code has not been updated to match the new
exact quantizer, which was made the default in commit 6adbe09.
Specifically, they are not aware of the potential for the coefficient
to be scaled, which results in the quantized result exceeding the range
of the DCT. This patch restores the previous behavior of using the
non-shifted coefficients when in the fast quantizer code path, but
unfortunately requires rebuilding the tables when switching between the
two.
Change-Id: I0a33f5b3850335011a06906f49fafed54dda9546
|
|
This reverts commit 15acc84f10cefd98b2f8dbd2eac2cc92c5a3f851.
Change-Id: Ia640be8cbc134432914849c1750f62575ea084e6
|
|
|
|
Check to see if postproc was enabled when enabling the
postproc visualizer was wrong.
Fix for bug introduced in Change Ia74f357d
Change-Id: I4bee9ad2caee3cfe3bac6972047f6af7c54cad4e
|
|
|
|
Fixed up the fdct for mmx and 8x4 sse2 to match them
most recent changes.
Change-Id: Ibee2d6c536fe14dcf75cd6eb1c73f4848a56d719
|
|
Debugging in postproc needs more flags to allow for specific
block types to be turned on or off in the visualizations.
Must be enabled with --enable-postproc-visualizer during
configuration time.
Change-Id: Ia74f357ddc3ad4fb8082afd3a64f62384e4fcb2d
|
|
VBR rate control can become very noisy for the last few frames.
If there are a few bits to spare or a small overshoot then the
target rate and hence quantizer may start to fluctuate wildly.
This patch prevents further adjustment of the active Q limits for
the last few frames.
Patch also removes some redundant variables and makes one small bug fix.
Change-Id: Ic167831bec79acc9f0d7e4698bcc4bb188840c45
|
|
Small changes to the default zero bin and rounding tables.
Though the tables are currently the same for the Y1 and Y2 cases
I have left them as separate tables in case we want to tune this later.
There is now some adjustment of the zbin based on the prediction mode.
Previously this was restricted to an adjustment for gf/arf 0,0 MV.
The exact quantizer now marginal outperforms and is the default.
The overall average gain is about 0.5%
Change-Id: I5e4353f3d5326dde4e86823684b236a1e9ea7f47
|
|
|
|
Change-Id: I4081917b46013fa8f4218cade8bd12cb2d013aee
|
|
The check '(user_data_end - partition < partition_size)' must be
evaluated as a signed comparison, but because partition_size was
unsigned, the LHS was promoted to unsigned, causing an incorrect
result on 32-bit. Instead, check the upper and lower bounds of
the segment separately.
Change-Id: I6266aba7fd7de084268712a3d2a81424ead7aa06
|
|
Change Ice204e86 identified a problem with bitrate undershoot due to
low precision in the timestamps passed to the library. This patch
takes a different approach by calculating the duration of this frame
and passing it to the library, rather than using a fixed duration
and letting the library average it out with higher precision
timestamps. This part of the fix only applies to vpxenc.
This patch also attempts to fix the problem for generic applications
that may have made the same mistake vpxenc did. Instead of
calculating this frame's duration by the difference of this frame's
and the last frame's start time, we use the end times instead. This
allows the framerate calculation to scavenge "unclaimed" time from
the last frame. For instance:
start | end | calculated duration
======+=======+====================
0ms 33ms 33ms
33ms 66ms 33ms
66ms 99ms 33ms
100ms 133ms 34ms
Change-Id: I92be4b3518e0bd530e97f90e69e75330a4c413fc
|
|
|
|
If this function fails silently, the nestegg context is destroyed and
future nestegg calls will segfault.
Change-Id: Ie6a0ea284ab9ddfa97b1843ef8030a953937c8cd
|
|
|
|
Change color reference frame to blend the macro block edge.
This helps with layering of visualizations.
Add block coloring for intra prediction modes.
Change-Id: Icefe0e189e26719cd6937cebd6727efac0b4d278
|
|
The old value 1000 was too low, which caused the effective duration and
frame rate calculation to have an 1% error for typical 30 frame/second
inputs. Symptom of the issue has been that most 2 pass encodings were
undershooting target bit rate by 1% or so for 30 fps input.
Change-Id: Ice204e86f844ceb9ce973456f2b995cc095283cf
|
|
Defaulting to 320x240 for raw streams is arbitrary and error-prone.
Instead, require that the width and height be set manually if they
can't be parsed from the input file.
Change-Id: Ic61979857e372eed0779c2677247e894f9fd6160
|
|
|
|
Split motion vectors were all being treated as 4x4
blocks. Now correctly handle 16x8, 8x16, 8x8, 4x4
blocks.
Change-Id: Icf345c5e69b5e374e12456877ed7c41213ad88cc
|
|
|
|
STDIO streams are opened in text mode by default on Windows. This patch
changes the stdin/stdout streams to be in binary mode if they are being
used for I/O from the vpxenc or vpxdec tools.
Fixes issue #216. Thanks to mw AT hesotech.de for the fix.
Change-Id: I34525b3ce2a4a031d5a48d36df4667589372225b
|
|
|
|
Now draw 16 vectors for SPLITMV mode.
Fixed constrain line to block divide by zero issues.
Blend block was not centering the shaded area correctly.
Change-Id: I1edabd8b4e553aac8d980f7b45c80159e9202434
|
|
(test clip: tulip)
For good quality mode with speed=1, this gave the encoder
a small (2 - 3%) performance boost.
Change-Id: I8a1d4269465944ac0819986c2f0be4b0a2ee0b35
|
|
|
|
Undo an automatic transform.
Change-Id: Ie730a6a31b4680b34e54b61691d67c4b3ed2f2aa
|
|
Using tables for the label count and label offset.
Change-Id: Iac3d5b292c37341a881be0af282f5cac3b3e01eb
|
|
XMM6/7 are used in these functions, and need to be saved.
Change-Id: I3dfaddaf2a69cd4bf8e8735c7064b17bac5a14e5
|
|
|
|
|
|
Unlike GCC, Visual Studio compiler doesn't allocate SAD output
array 16-byte aligned, which causes crash in visual studio.
Change-Id: Ia755cf5a807f12929bda8db94032bb3c9d0c2362
|
|
Change-Id: I146a7f241efad4f0684cf8613c7fa42bd5cf42f3
|
|
Change-Id: Ic9f05dbbe90480d5b172233c87eaf1d4e2f1b48e
|