Age | Commit message (Collapse) | Author |
|
- Save the initial user-specified timestamp and rebase all further
timestamps by this value. This makes libvpx internal timestamps to
always start from zero, regardless of the user's timestamps.
- Calculate reduced timestamp conversion ratio and use it to convert
user's timestamps to libvpx internal timestamps and back. The effect
of this is that integer overflow due to multiplication doesn't
happen for a much longer time.
BUG=webm:701
Change-Id: Ic6f5eacd9a7c21b95707d31ee2da77dc8ac7dccf
|
|
BUG=webm:1596
Change-Id: I09ba00a7b7ad331671a7a285a2ac5630d8b62199
|
|
This reverts commit 1d8d8f562bf382e47071bb38d13b7ded366820af.
Reason for revert: change the api names will break existing code.
Original change's description:
> Add VPX_TUNE_SSIM and VPX_TUNE_PSNR enums
>
> Change-Id: I3df5af2c60b774e6d395062077542c52db868236
TBR=jingning@google.com,builds@webmproject.org,sdeng@google.com
Change-Id: Ic94c19739f595f4544e8b68892ab9d9c1bbccd79
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
|
|
Change-Id: I3df5af2c60b774e6d395062077542c52db868236
|
|
|
|
BUG=webm:1606
Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
|
|
Report warning in example encoder.
Change-Id: Iec4cdffce9faa65241756fbdac498214c8b93cc1
|
|
BUG=webm:1246
Change-Id: Iae78e266faa9c4989500fc919b24f2f584ac0550
|
|
Found with clang-tidy. This value is unused in libvpx.
There is an existing test which ensures this is not used:
test/encode_api_test.cc:
EXPECT_EQ(VPX_CODEC_INVALID_PARAM,
vpx_codec_enc_config_default(kCodecs[i], &cfg, 1));
Change-Id: I94bd0663c6652b4267204c02c3921972c854d0b0
|
|
Change-Id: I83c7e64fe70f7c49aa2492ed2d640c6756b7ebaa
|
|
libvpx only emits:
VPX_IMG_FMT_{I420,I422,I440,I444,I42016,I42216,I44016,I44416}
and additionally supports YV12 as input.
interleaved yuv, rgb and alpha formats are unused.
Change-Id: Ie2ab1099e950c6e696f475d46882f5c47a174042
|
|
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
|
|
If a given spatial layer decides to drop, due to the
buffer/overshoot conditions for that layer, then drop
that current spatial layer and all spatial layers above.
In the current implementation the svc frame counter
(and hence the pattern for the non-flexible SVC case)
are updated on frame drops.
Also add last spatial layer encoded to the pkt.
This is useful for RTC applications that enable
frame dropping for SVC.
Update to the SVC datarate tests:
enabled frame dropper on all SVC datarate tests, and
made a fix to properly set the temporal_layer_id, which
works now even on frame drops.
Change-Id: If828c193f3cb6b1839803fd52fe9fbbda5b5a039
|
|
For encoding with --enable-multi-res-encoding, with 1 layer, when the
target bitrate is set 0, under these conditions null pointer
will be de-referenced. Fix is to check
cpi->oxcf.mr_total_resolutions > 1. Also added NULL pointer check.
This issue causes crash for asan build in chromium clusterfuzz.
BUG=805863
Change-Id: I9cd25af631395bc9fede3a12fb68af4021eb15f8
|
|
|
|
Add test for svc frame sizes in pkt.
BUG=webm:1485
Change-Id: I983dc229e526d72d22360d7f3016d8358d6beae7
|
|
* changes:
clang-format v5.0.0 vp9/
remove spurious comments
clang-format v5.0.0 vp8/
clang-format v5.0.0 vpx_dsp/
clang-format v5.0.0 mem_ops.h
clang-format v5.0.0 vpx_util/vpx_atomic.h
clang-format v5.0.0 y4minput.c
clang-format v5.0.0 vpxenc.c
clang-format v5.0.0 examples/
clang-format v5.0.0 test/
|
|
Allow*OnASingleLine appears to no longer apply to
typedef structs.
Adjust closing parenthesis/opening brace on functions.
Remove trailing commas to keep multiple elements on one line.
Change-Id: I6e535a8ddb15c9b3de8216ce8ddb2a18241af46c
|
|
For the vp8 simulcast/multi-res-encoder:
Add flags to keep track of the disabling/skipping of
streams for the multi-res-encoder. And if the lower spatial
stream is skipped for a given stream, disable the motion
vector reuse for that stream.
Also remove the condition of forcing same frame type
across all streams.
This fix allows for the skipping/disabling of the base
or middle layer streams.
Change-Id: Idfa94b32b6d2256932f6602cde19579b8e50a8bd
|
|
Used to return correct frame width and height when dynamic resizing happens.
BUG=webm:1474
Change-Id: Ia2043f7e1635b3821848a67b9b134f47f14b0f3a
|
|
Added command line control of Corpus VBR.
The new corpus vbr mode is a variant of standard
VBR (end-usage=0) where the complexity distribution
mid point is passed in rather than calculated for a specific
clip or chunk.
The new variant is enabled by setting a new command line
parameter --corpus-complexity to a zero value. Omitting
this parameter or setting it to 0 will cause the codec to use
standard vbr mode.
The correct value for a given corpus needs to be derived
experimentally using a training set such that the average
rate for the corpus is close to the target value.
For example our using our low res test set with upper and lower
vbr limits of 50%-150% and a corpus complexity value of 650
gives a similar average data rate across the set to using standard
vbr. However, with the corpus mode easier clips will be allocated
fewer bits and harder clips more bits rather than having the same
rate target for all.
Change-Id: I03f0fc8c6fb0ee32dc03720fea6a3f1949118589
|
|
Control already exists for vp9, adding it to vp8.
Usage is only when error_resilient is off.
Added a datarate unittest for non-zero boost.
Change-Id: I4296055ebe2f4f048e8210f344531f6486ac9e35
|
|
similar to changes that were done in vp9 for encoded frame size
reporting. has the side-effect of quieting a -Wshorten-64-to-32 warning.
Change-Id: I89f74cb617fc29334ee351dc8dfaa3b8cfd4e5af
|
|
set_reference_and_update(): use the correct type for flags,
vpx_enc_frame_flags_t
Change-Id: I257da784537ff18686f6db8665f99af6ea6a86ba
|
|
applied against an x86_64 configure
clang-tidy-3.7.1 \
-checks='-*,google-readability-braces-around-statements' \
-header-filter='.*' -fix
+ clang-format afterward
Change-Id: I6694edeaee89b58b8b3082187e6756561136b459
|
|
Applied the following regex :
search for: (for.*\(.*;.*;) ([a-zA-Z_]*)\+\+\)
replace with: \1 ++\2)
This misses some for loops:
ie : for (mb_col = 0; mb_col < oci->mb_cols; mb_col++, mi++)
Change-Id: Icf5f6fb93cced0992e0bb71d2241780f7fb1f0a8
|
|
Change-Id: I7605b6678014a5426ceb45c27b54885e0c4e06ed
|
|
'duration' is not used in realtime-only mode:
Cleans up -Wextra warning:
unused parameter 'duration' [-Wunused-parameter]
Change-Id: I827dfe59ebcdc72c5a93fdf7e5aca063433914b1
|
|
Since combining VPX_DL_REALTIME with VPX_RC_FIRST_PASS is basically
nonsense, ignore the user's pass setting when this happens and
behave as if the requested encode is a single pass encode.
BUG=webm:1233
Change-Id: I5ee4c4e5838c4ca6d24988890aae490b10826db2
|
|
Use vp8_zero() or specify every element.
Cleans warning in Android build:
missing field 'deblocking_level' initializer
vp8_ppflags_t flags = {0};
^
missing field 'sz' initializer
{0}, /* rc_twopass_stats_in */
^
missing field 'sz' initializer
{0}, /* rc_firstpass_mb_stats_in */
^
missing field 'layer_target_bitrate' initializer
}},
^
missing field 'deblocking_level' initializer
vp8_ppflags_t flags = {0};
^
missing field 'mr_get_mem_loc' initializer
}
^
Change-Id: Iaedde9a77faac7a40316aee67d60d02ba7313500
|
|
Mode is signed
Cleans warning in Android build:
comparison of integers of different signs: 'int' and 'unsigned int'
if (ctx->oxcf.Mode != new_qc)
~~~~~~~~~~~~~~ ^ ~~~~~~
Change-Id: I5cf81c40b103e688a31e1339511f5c9eb27edd38
|
|
vp8e_update_entropy, vp8e_update_reference, vp8e_use_reference have been
unused since:
a046f56 vp8cx: remove deprecated reference/entropy controls
Change-Id: I2ca9aa3c3f1a209a534a1492432b16852e3d8629
|
|
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been
deprecated since the initial public release
Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0
|
|
Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
|
|
Change-Id: Icf06d35ca347713253d1eba341a894b51efa81a9
|
|
Change-Id: I56fad85cae4537f9d68febf9b9264c3e1cf82ce1
|
|
Change-Id: Ief8eea8fe6bef139d1e94f8d6dfac5a44efe785d
|
|
Numerator was being range checked against the
denominator - preventing any frame rate slower
than 1 fps.
I've tested this on a Mac using using ffmpeg and
results are comparable to mp4 and ogg files generated
at the same time.
Not yet tested on Windows.
Johnny Klonaris
google@jawknee.com
Change-Id: Idb358dbc2e7dc000037880ede4a1b0df248a42c8
|
|
This allows rate control to react to content of current frame being encoded.
Enabling this feature via the setting: screen_content_mode = 2.
Change-Id: Ib2c6670551d96f4907495d5b7b76bb8c49e673db
|
|
silences missing prototype warnings
Change-Id: Icd477e37b502205d0a60e7389e51b1ba17d8888e
|
|
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
|
|
vestigial. replace instances with memcpy() which they already were being
defined to.
Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
|
|
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
|
|
Change-Id: I5e2a1270001b7e29f3f198d57ea40e1efccef367
|
|
Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6
|
|
Change-Id: Ia164ba03fb732e9c9e520e4aa2d75b7eadff6165
|
|
Prevent out of bounds access when attempting to increase frame size
Change-Id: I710c40c692802a72963c9680c2125da17f9060a9
|
|
Cast away remaining issues so that new ones don't get lost in the noise.
Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
|
|
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
|
|
Change-Id: I811526a9ee9f237604f72abe7fc677e39e0f457f
|