Age | Commit message (Collapse) | Author |
|
* changes:
ppc: add vp9_iht16x16_256_add_vsx
ppc: add vp9_iht8x8_64_add_vsx
ppc: add vp9_iht4x4_16_add_vsx
|
|
|
|
This will allow us to test SVC features like Decode up to certain layers.
Change-Id: Icfb6f9d107108054cd0917197552e09ae48cbc52
|
|
|
|
|
|
Compute the rate distortion cost directly at the coding block level.
Change-Id: Ib3f8e1ac6b6ec68db4f96c037f567b19da7fb114
|
|
This CL migrates the bit allocation scheme from libaom and combines the
scheme for hierarchical layer with the updated scheme in libvpx that
uses a modified scheme to calculate the target bitrate per frame.
Change-Id: I63593ed528abd4a6a1a8681abf6c9cf06c7a2ee0
|
|
|
|
|
|
These fail to build with clang on 32 bit with
--disable-optimizations
Upstream libyuv has addressed these and we will get updated
versions on the next roll. At the moment, we don't use
libyuv for copying alpha data and so this is a quick fix.
BUG=webm:1514
Change-Id: I0040c3ae048f8d896c2082deeb2e32070a32c453
|
|
Temporarily disable tpl dep model in the high bit-depth route to
prevent encoding failure.
Change-Id: Iebb3168a60b38dcc1273e25542530c4359dc679d
|
|
for q-index between 150 and 200.
Previously the ML based breakout feature is only supported for q-index
larger than 200.
This only affects speed 1 and 2, resolution under 720p, q-index between
150 and 200, low bit-depth.
Compression performane change is neutral.
Encoding speed gain is up to 30% for speed 1;
up to 20% for speed 2.
Results from encoding city_4cif_30fps:
speed 1, QP=38
before: 37.689 dB, 41007b/f, 2.91 fps
after: 37.687 dB, 40998b/f, 3.46 fps
speed 1, QP=48
before: 35.959 dB, 22106b/f, 3.66 fps
after: 35.950 dB, 22118b/f, 4.83 fps
speed 2, QP=38
before: 37.630 dB, 40999b/f, 4.42 fps
after: 37.633 dB, 41063b/f, 4.63 fps
speed 2, QP=48
before: 35.905 dB, 22177b/f, 4.90 fps
after: 35.889 dB, 22145b/f, 5.92 fps
Change-Id: Ibd4a2f4d7093fb248ab94ddd388cbaa8de2c5ef7
|
|
Add encoder control to allow application to insert
spatial layer sync frame. The sync frame disables
temporal prediction for that spatial layer.
This is useful for RTC application to have receiver
start decoding a higher spatial layer, without inserting
a key frame on base spatial layer.
If the layer sync is requested on the base spatial layer
this then force a key frame, otherwise it only disables
the temporal reference for that spatial layer, allowing
temporal prediction to continue for the other layers.
Although the temporal prediction is disabled and reset
on a layer sync frame, the inter-layer prediction for the
sync frame is enabled on INTER frames. So the meaning of
INTER_LAYER_PRED_OFF_NONKEY is modified to mean disable
inter-layer prediction on non-key and non-sync frames.
Added unittest for inserting layer sync frames.
Bump up ABI version.
Change-Id: Id458acc400a77c853551f125c4e7b6d001991f03
|
|
|
|
|
|
Change-Id: I06fc4b0ad5a45c49e10a9601a2356fbc6e93d6da
|
|
|
|
|
|
|
|
Keep denoiser and skin detection disabled since some key functions don't
work with >8 bits source.
Add test for HBD with denoiser and cyclic refresh enabled to make sure
nothing crashes.
BUG=webm:1534
Change-Id: Id61fe1e38ed1768f273870a6bdd5f163aa769fe4
|
|
This commit builds up the temporal prediction dependency propagation
within the group of pictures.
Change-Id: Id04cfc0323e6a5c4ac4a570d53e20d1229b3ee11
|
|
Compute the coding block partition mode cost as additional rdcost
to the cumulative rate-distortion cost from each coding block. This
changes the coding performance slightly due to the rounding error.
The compression performance change is neutral.
Change-Id: Ibdccae0e79263a0e70af7592a8cb11458d795f8d
|
|
Use a linear model to make partition search breakout decisions.
Currently the model is tuned for large quantizers and small resolutions.
So it is only used when q-index is larger than 200 and frame
width/height is smaller than 720. Also it's not yet supported for high
bit depth.
Tested speed 1 and 2 on lowres and midres. Compression performance is
neutral. At low bitrates, encoding speedup is up to 50% for speed 1;
up to 30% for speed 2.
Some sample numbers:
into_tree_480p, speed 1
QP=60 before: 35.228 dB, 3488b/f, 7.78 fps
now: 35.217 dB, 3475b/f, 11.57 fps
QP=50 before: 37.492 dB, 7983b/f, 6.24 fps
now: 37.491 dB, 7974b/f, 7.55 fps
PartyScene_832x480_50, speed 1
QP=60 before: 30.104 dB, 22426b/f, 3.28 fps
now: 30.109 dB, 22410b/f, 4.43 fps
QP=50 before: 33.016 dB, 46984b/f, 2.78 fps
now: 33.018 dB, 46998b/f, 3.35 fps
into_tree_480p, speed 2
QP=60 before: 35.175 dB, 3506b/f, 10.96 fps
now: 35.185 dB, 3510b/f, 13.47 fps
QP=50 before: 37.448 dB, 8016b/f, 9.04 fps
now: 37.459 dB, 8048b/f, 9.81 fps
PartyScene_832x480_50, speed 2
QP=60 before: 30.060 dB, 22537b/f, 4.42 fps
now: 30.061 dB, 22541b/f, 5.38 fps
QP=50 before: 32.923 dB, 47134b/f, 3.85 fps
now: 32.920 dB, 47073b/f, 4.31 fps
Change-Id: I674cba4f027c4c65f7837d5ec9179d6201e6ba86
|
|
|
|
|
|
|
|
include vpx_ports/msvc.h to avoid issues with snprintf issues with MSVC.
Change-Id: Ida09cff8ee3b84e09fd61de131f84b32c113fa1a
|
|
Change-Id: I0cd91187e1efc1441086772e5683fbf72d9371cf
|
|
Support intra prediction mode search to find the best intra mode
cost for temporal dependency model building.
Change-Id: Ie62d6af8d0c9f65dee742876f3af9cdd5e3f1d63
|
|
|
|
Change-Id: I89c8ad6544e0cee60b5daf49bc18c7e31f08faa2
|
|
Support the motion compensated prediction search to find the motion
trajectory and hence to build the temporal dependency model.
Change-Id: I861ea85a0d4cc2897cb0dfe2e95378bf7d36209f
|
|
|
|
BUG=webm:1534
Change-Id: I535ac48e3dd2454cc7088c4f9a1e08ea74107da6
|
|
|
|
* changes:
Prepare motion estimation process for temporal dependency model
Construct temporal dependency building system
|
|
Moves the check into a function, check_gcc_avx512_compiles,
that behaves somewhat similarly to check_gcc_machine_options.
Change-Id: I2bef3ddd98e636eef12d9d5e548c43282fac7826
|
|
Set up needed stack for the motion estimation process to build up
the temporal dependency model.
Change-Id: I3436302c916a686e8c82572ffc106bf8023404b6
|
|
Schedule the frame processing to construct temporal dependency
statistics within a group of pictures. Align the corresponding
reference frames.
Change-Id: I8969f5c335a4a5c2614f4530b636fe13a25a8a98
|
|
|
|
|
|
|
|
Change-Id: Ic8e07b07790e067c014677cf33c3b016fcf4cb39
|
|
This CL separates the defining of the GF group structure from the
handling of its bitrate allocation. The encoder performance should stay
unchanged.
Change-Id: Ib77967757702bb4b284034e429d4c41ae86d0838
|
|
Allocate buffers to support gather temporal dependency statistics
at the encoder.
Change-Id: I97d4594913a2423e8a916f20caf82ab0f5836961
|
|
The model construction would incur 15% slowdown for speed 2. The
speed change on speed 0 is unnoticeable.
The current speed features set up would DISABLE temporal dependency
model for all speed settings.
Change-Id: Ic45dd962f3a54a8f5f0452502dc05e352dc09ca1
|
|
Add block and frame level data structures to support frame
dependent mode decision.
Change-Id: I996fc84155fcba8e2ec2a114bb0799d6aa5539dd
|
|
Change-Id: I51e7ed32d8d87c25ee126e8b4f8fc616d0327584
|
|
|
|
* changes:
[VSX] Optimize PROCESS16 macro
VSX Version of SAD8xN
|