Age | Commit message (Collapse) | Author |
|
Create tests for sync layer. The purpose of new tests is not to check
bitrate targeting, thus they're put in a new file.
Create a base class for svc tests, which is also inherited by svc datarate
tests, to reduce code redundancy.
Start decoding in the test from the frame of layer sync.
Change-Id: I7226d208279ad785873dffef51e0a8abef23b256
|
|
This will allow us to test SVC features like Decode up to certain layers.
Change-Id: Icfb6f9d107108054cd0917197552e09ae48cbc52
|
|
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
|
|
|
|
* changes:
[VSX] Optimize PROCESS16 macro
VSX Version of SAD8xN
|
|
|
|
The PROCESS16 macro now uses 8-bit lanes instead of 16-bit lanes.
SADTest Speed Test (POWER8 Model 2.1)
16x8 Old VSX time = 16.7 ms, new VSX time = 9.1 ms [1.8x]
16x16 Old VSX time = 15.7 ms, new VSX time = 7.9 ms [2.0x]
16x32 Old VSX time = 14.4 ms, new VSX time = 7.2 ms [2.0x]
32x16 Old VSX time = 14.0 ms, new VSX time = 7.4 ms [1.9x]
32x32 Old VSX time = 13.4 ms, new VSX time = 6.5 ms [2.0x]
32x64 Old VSX time = 12.7 ms, new VSX time = 6.3 ms [2.0x]
64x32 Old VSX time = 12.6 ms, new VSX time = 6.3 ms [2.0x]
64x64 Old VSX time = 12.7 ms, new VSX time = 6.2 ms [2.0x]
Change-Id: I51776f0e428162e78edde8eac47f30ffd2379873
|
|
Following are completed in defining GF group structure in firstpass:
1. Remove redundant alt_frame_index;
2. Remove hard coded index value with the variable of frame_index.
Change-Id: I7b56e454559bbf704afc7410ea9832b20ffcd57e
|
|
Cast the counter to uint64_t in case it overflows.
The assert was to prevent c[0] * Pfac being overflow beyong unsigned int
since Pfac could be 2^8. Thus c[0] needs to be smaller than 2^24.
In VP9, the assert was removed and c[0] was casted to uint64_t.
Bug: 805277
Change-Id: Ic46a3c5b4af2f267de4e32c1518b64e8d6e9d856
|
|
VSX versions of the SAD functions of width 8.
SADTest Speed Test (POWER8 Model 2.1)
8x4 C time = 68.7 ms (±0.3 ms), VSX time = 31.8 ms (±0.1 ms) [2.2x]
8x8 C time = 55.6 ms (±0.3 ms), VSX time = 18.3 ms (±0.1 ms) [3.0x]
8x16 C time = 46.5 ms (±0.1 ms), VSX time = 15.6 ms (±0.1 ms) [3.0x]
Change-Id: I843f3b34e103b72deeade4a939193d8b53cee460
|
|
Speed tests are added for the SADTest test suite. These test use the
AbstractBench and print the median run time of SAD operations. Speed
tests are disabled by default.
Change-Id: I5d0957248f9b5b307ae2d757d5f8d4761a1dd712
|
|
|
|
|
|
Check GCC specific AVX512 flags only when GCC is enabled.
Change-Id: I15dc2a0dbf8bce37f4364fedfd34a0a34882104b
|
|
Change-Id: I370f37c85a02c032a8ba266b9b9445ee38eb0756
|
|
|