Age | Commit message (Collapse) | Author |
|
Also write it to opsnr.stt when internal stats is enabled.
Removed some redundant code in vpxenc.c and vp9cx_set_ref.c
Change-Id: I3700137fff0be92a23e4ab75713db72da1dc4076
|
|
Put rc stats related code into a separate function.
Change-Id: I11808bb947079b5fd9e53dfa5894bf227ed0c4c6
|
|
Make it same as vpxenc so easier to run on borg.
Change-Id: Ie19db6e828ced773cba9aef715c8fbd0f4715b27
|
|
|
|
Write height and width of top layer to ivf header in SVC.
vpxdec Can't decode it correctly when output is y4m.
Change-Id: I9b2f1d54696611a30e252bdfd182897d191d92b5
|
|
|
|
Y4M reader has its own allocation.
Change-Id: Ie02440a183126072ea773860f4e9dc9b412772f5
|
|
Instead of calling get_vpx_decoder_by_name(), derive
decoder interface directly.
This will avoid dependecy on tools_common and hence any potential
updates needed to build fuzzer, when tools_common uses functions
defined in a different file
With this dependency removed, fuzzer no longer needs to enable examples
when building vpx_dec_fuzzer binaries
Change-Id: I05753edf041b4bc742a6dc06e809a8a2929d379f
|
|
vp9_spatial_svc_encoder and vpx_temporal_svc_encoder.
Change-Id: I8dfa1dfad83c83a26ddac4e7c57b5f1ff161e588
|
|
BUG=webm:1584
Change-Id: Icb7ba5bb5a6d460c4d0419b76ee54af461ca4a52
|
|
As thread count is now randomized, serial and threaded modes can be
combined to a single binary.
With this change, threads takes values between 1 to 64 and tests both
single thread and multi-thread variants of the decoders
Change-Id: I6dd2a3aa03bff9c0e2c126843b543d46892be696
|
|
vpx_dec_fuzzer.cc can be built with clang++ to generate fuzzer binary
Build instructions are part of the file
Change-Id: I19ba0bd49b236e27b27e81a83f6de59f15bdc994
|
|
use the recommended format [1] of:
<PROJECT>_<PATH>_<FILE>_H_
[1] https://google.github.io/styleguide/cppguide.html#The__define_Guard
"All header files should have #define guards to prevent multiple
inclusion. The format of the symbol name should be
<PROJECT>_<PATH>_<FILE>_H_."
Change-Id: I2e8ab0b32fb23c30fa43cff5fec12d043c0d2037
|
|
Add duration to set_svc_ref_frame_config.
BUG=b/113346831
Change-Id: I63613aed6b1183f98d04831600a6bdd645c740df
|
|
Allow rate control stats to work for bypass mode
in vp9_spatial_svc_encoder.c
Change-Id: I66764a006a73b1fd13c07b4fc4e0c88b2bb2a035
|
|
For sample encoder: keep default pattern for bypass
mode to example#0.
Change-Id: Icddc4600d750a23a44b26517a327b546fd8eb412
|
|
|
|
svc_encodeframe.c and svc_context.h are only used by the example
encoder.
Change-Id: Idb41a5a9d6a229a0bc7d2bc8dbe6575a74efc54c
|
|
BUG=b/112294545
Change-Id: I5be230c8969d69af3ad87068fdf3834ef1af11d9
|
|
Add update_buffer_slot to SVC API to allow for refreshing
any of the 8 reference buffers. Remove frame_flags from
the struct.
Remove svc tests from vp8 build.
BUG=b/112292577
Change-Id: I0551c349d2b311227245a8ed1639cdbbaf5bc5db
|
|
This adds the following command line options to
vp9_spatial_svc_encoder test app:
--drop-frame=<arg> Temporal resampling threshold (buf %)
--tune-content=<arg> Tune content type default, screen, film
--inter-layer-pred=<arg> 0 - 3: On, Off, Key-frames, Constrained
Change-Id: I653d1924fb6e525edb2d1e84739be0b88e773e1c
|
|
Change-Id: I292a1a5c19fd4f23b332e346d0ccac1a9c8455fc
|
|
Disabled as default as enc_cfg.rc_dropframe_thresh is
set to 0 as default.
Change-Id: Ia888aa16b1a86a716ec33ea041e8b16b19bf93be
|
|
Refactor the scene detection for 1 pass cbr to allow the
scene detection to be checked once per superframe (on the base layer),
using the full resolution sources.
If scene change is detected: check for re-encoding due to
large overshoot for all spatial layers withing the superframe.
Add speed feature to control the re-encode step.
Keep the re-encode step on for now.
Small change in nonrd_pickmode to remove the possible skip of golden
reference for SVC, when the high_source_sad is set for the superframe.
Change only affects SVC encoding with screen-content mode enabled.
Change-Id: If4cfb52cb0dd0f0fce1c4214fa8b413f8f803d56
|
|
The control is set by log2 of number of threads (such that the number of
tiles is the same of number of threads).
Thus it should be log2(num_threads) instead of (num_threads >> 1).
Change-Id: I2ccec5557e660048dad3e561534e1c74fc8eec1f
|
|
Fix to sample encoder, for visual studio buid failure:
conversion from 'uint64_t' to 'int'.
Change-Id: I385ab8482e1ee97da9872437f8286d9071e38e0e
|
|
When writing out stream for spatial layer N,
make sure to include all spatial layers up to N.
Fixes an issue with the streams when frame dropping occurs.
Change-Id: I1e20b7dac6b94dcda751043541dd8a12f7df6d8c
|
|
Added control for denoiser in the sample SVC encoder.
Change-Id: I8e62aa2fc13a943eb110cb33e419e912a898bbc7
|
|
Get the correct computation of number of input
layers to account for frame drops.
Change-Id: I39637381e1981b53c930da67a5c525191de6907d
|
|
Add VP9E_SET_SVC_INTER_LAYER_PRED to disable inter layer (spatial)
prediction.
0: prediction on
1: prediction off for all frames
2: prediction off for non key frames
Bump up ABI version.
Change-Id: I5ab2a96b47e6bef202290fe726bed5f99bd4951f
|
|
SVC frame dropper: modify the logic to allow for individual
spatial layers to drop. This removes the constraint that all
upper spatial layers must drop when a given spatial layer drops.
Add a flag to the pkt to indicate whether a spatial layer is
encoded or dropped. This is needed for applications that enable
this feature (frame dropping for SVC).
For a current spatial layer, if its previous spatial layer is
dropped, then disable certain features for that layer:
inter-layer prediction, base_mv, partition_reuse, copy partition.
Also add the constraint to never drop a spatial layer if its
base layer is a key frame.
Updates to sample encoder (vp9_spatial_svc_encoder) and the
SVC datarate unittests to properly handle frame dropping.
Bump up ABI version.
Change-Id: I7d14ccf67b8d014a7abfce5ba3989fc623e94067
|
|
* changes:
vp9_resize.c: assert vp9_highbd_resize_plane conditions
vp9_loopfilter.c: zero lfl_uv
vp8 rdopt.c: zero rd.[rate_uv|distortion_uv]
vp8 mfqe: zero map[]
temporal svc: zero layer_target_bitrate
|
|
These values are set in main() from user input. Ensure
they are cleared out first.
Clears a static analysis warning:
warning: The right operand of '*' is a garbage value
1000.0 * rc->layer_target_bitrate[0] / rc->layer_framerate[0];
Change-Id: I09bd209be5aff31b87597a24d37a9673fa99381b
|
|
Static analysis does not recognize that output_rc_stat guards
the usage of window_size. Clears this warning:
The right operand of '>' is a garbage value
if (frame_cnt > (unsigned int)rc.window_size) {
set_rate_control_stats sets window_size to 15. Zeroing it
just introduces another static analysis warning.
Change-Id: Ieee7b81a385f986e42189101cfa39279e519b368
|
|
This should be taken care of by parse_superframe_index but
the static analysis is not recognizing it because it depends
on 'marker' which is read from the bitstream.
Clears a static analysis warning:
The right operand of '*' is a garbage value
rc.layer_encoding_bitrate[layer] += 8.0 * sizes[sl];
Change-Id: I8ee48a98f907bc7b46869fd27a351f33e2e7de71
|
|
Print error messages as they are encountered. This was the default
behavior.
Removes a static analysis warning regarding the use of strncat:
Null pointer argument in call to string length function
As this is the only use of strncat in the library, remove it and the
associated public function.
Change-Id: Id55305c5a4d65f11da88c3a2203ff824200f526f
|
|
Clears static analysis warning:
Value stored to 'tl' is never read
Change-Id: If047a74f508288c63d5b83ed0f3ad34f791f9312
|
|
sl was passed to set_frame_flags_bypass_mode, triggering
an uninitialized variable warning. Inside the function it
is only used as a local variable.
Change-Id: If743626e9e10fd41d135e3b4ad6196dc4dc90172
|
|
Fix some errors in the vpx_temporal_svc_encoder.
Change-Id: Id93f449364dcf72c826ca931df3c8c3d3b80100f
|
|
Extended ROI struct suitable for VP9.
ROI input from user is passed into internal struct and applied on every frame
(except key frame).
Enabled usage of all 4 VP9 segment features (delta_qp, delta_lf, skip,
ref_frame) via the ROI map input.
Made changes to nonrd_pickmode for the ref_frame feature.
Only works for realtime speed >= 5.
AQ_MODE needs to be turned off for ROI to take effect.
Change example in the sample encoder: vpx_temporal_svc_encoder.c to be suitable
for VP9.
Add datarate test.
Bump up ABI version.
BUG=webm:1470
Change-Id: I663b8c89862328646f4cc6119752b66efc5dc9ac
|
|
Only affects 2 temporal layer case.
Modified the flags for 2 temporal layers to make
top layer (top spatial, top temporal) a non-reference
frame, conistent with the 3 TL case.
Add mismatch check to the datarate test of changing
svc pattern on the fly, which is test for 2 temporal
layers.
This re-applies the change: 254e2f5501d,
that was reverted in: 658eb1d675.
Change-Id: Ib5fd4a7a0312c0c05329ae75baac480af34b4694
|
|
This reverts commit 254e2f5501d000ca66bc65c5f44bb6a882d4167c.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> vp9 svc: fix to make top layer frame non-ref
>
> Add mismatch check to the datarate test of changing svc pattern on the
> fly.
>
> Change-Id: I6a878736de44e6a40c077ed6430aabd7fadabdd9
TBR=marpan@google.com,builds@webmproject.org,jianj@google.com
Change-Id: Ibcb600438098f8dc380fe7e1de90cb81fc367468
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
|
|
Add mismatch check to the datarate test of changing svc pattern on the
fly.
Change-Id: I6a878736de44e6a40c077ed6430aabd7fadabdd9
|
|
This fix makes it bitexact to the default SVC pattern,
for the example 2 temporal layer case.
Change-Id: I4df2063b70f7aecbfc7082f29c8439e05f6db8ac
|
|
Attempts to group () expression on their own line.
Change-Id: I404f9dd1a91aaa2100925c90162bcdefbead5ad2
|
|
Denoise 2 spatial layes at most.
Add noise sensitivity level 2 for vp9 such that applications can control
whether to denoise the second highest spatial layer.
Add tests to cover this case.
Change-Id: Ic327d14b29adeba3f0dae547629f43b98d22997f
|
|
this is only meant for testing. along with --enable-experimental
--enable-spatial-svc require VPX_TEST_SPATIAL_SVC to be defined rather
than bumping the encoder ABI.
Change-Id: I7f34d9f60300fa31ccf22e1a4aa619392c391b2e
|
|
Clean up some prints.
Change-Id: I199350e34a8b6fbff9601fcbd11ec68d24da5073
|
|
Change-Id: I4cb878600038066513ab73f3658990d1245ff2fb
|
|
Disable cyclic refresh if ROI is used and add flag to properly handle
the static_thresh deltas.
Remove the ROI test for cyclic refresh (it's allowed but disabled if ROI
is used).
Add an example in vpx_temporal_svc_encoder.c. Turned off by default.
BUG=webm:1470
Change-Id: Ief9ba1d7f967bc00511b412b491c3f70943bfbda
|