Age | Commit message (Collapse) | Author |
|
Because energy scaling is non-decreasing, we can work on the variance
and scale after the loop. This avoids costly computations (in
particular, log()) within the loop.
We've measured that we spend 0.8% of our total time computing the log.
Change-Id: I302fc0ecd9fd8cf96ee9f31b8673e82de1b2b3e2
|
|
* changes:
Correct time_base of ivf header in SimpleEncode
Add detail comments on valid_list in SimpleEncode
Add missing Copyright to python files
Move member functions up in simple_encode.h
|
|
Change-Id: I8a14fcad3e7b4c4689f4e7387414e59ba9c4c20a
|
|
Change-Id: Iad7ca261a99c7b5f082cf3cc6504f4af438bf409
|
|
BUG=webm:1655,webm:1654
Change-Id: I2063c59218e082f40958dddbdcb1c105d5440199
|
|
quiets -Wunreachable-code-loop-increment, present since:
e57f388bc vpx_codec_enc_config_default: disable 'usage'
as g_usage was never supported for vp8/9 this was always a single
iteration. if additional usages are added in the future similar to av1
this can be restored.
Bug: b/150166387
Change-Id: Ic6f0985829e87694de8b5e0340cffa6c451ed1c2
|
|
Change-Id: I9c5c74ab52361bcd73aef110729c6e332066c2af
|
|
Change-Id: I929fec66d541705fe94365b56a5bdd8cf5ee7c37
|
|
* changes:
Add unit test for ref_frame_info
Add key frame group info to SimpleEncode
Add ref_frame_info to encode_frame_result
Add init/update_frame_indexes()
Add GetVectorData()
|
|
Add count on expected number of resizes,
and use the speed_setting_ for base layer.
Also allow AQ_MODE=3 for the tests with
dynamic layer disabling/enabling.
Change-Id: I03fb0789a2210ba00b8b153941bf79fb774d51bf
|
|
Make internal dynamic resize work for SVC mode
when single layer SVC is running (i.e, other layers
are dropped due to 0 bitrate).
Added unittest.
Change-Id: Icf03e1f276d9c4ba2734c87c927f7881c6b0a116
|
|
Fix several bugs to make the test pass.
1) Move update_frame_indexes() out of show_frame check.
2) Init coding_indexes[i] to -1 when key frame appears
3) Fix a bug in PostUpdateRefFrameInfo()
Change-Id: Ie7c70a1d460e5b89475a1aef77416fc9a88387e1
|
|
Change-Id: I2c5abbe23c84c6d794e06ed6429136b10fb18683
|
|
Change-Id: If41a1ea6ce0a2b8db3811f2fa8efcf16f97fa0bd
|
|
We will init and update current_video_frame and
current_frame_coding_index in the functions.
So it's easier to keep track of when the frame indexes are updated.
Change-Id: Id6ba46643f8923348bb4f81c5dd9ace553244057
|
|
It's necessary to get data pointer from a vector sometimes.
This function will guarantee that the data pointer is nullptr
if the vector is empty.
Change-Id: I156308bcb193fe404452d3cd3b24b3f80c3c3727
|
|
RefFrameInfo contains the coding_indexes and valid_list of
three reference frame types.
Note that I will add unit test in the follow-up CLs.
Change-Id: Ia055df1f8a5537b2bdd02c78991df9bbf48e951a
|
|
Change-Id: Id76aeb54ef93b11ca9a582f76289da0e60368e56
|
|
Add a test to ensure that encoding with the external arfs gets the
same result as long as the arfs are the same as the vp9 baseline.
Change-Id: I92c79001018f4df3bc16e9fc56c733509bebb9dc
|
|
When "rate_ctrl" experiment is on, we allow the external arf
passed from outside to determine group of picture size
in define_gf_group().
Change-Id: I0b8c3e1bf3087f21a4e484354168df4967d35bba
|
|
Pass in external arf indexes to encode command.
Change-Id: Ifea5a7d835643760fc5effc594bb448848f6d639
|
|
Replace golden and altref by past and future in RefFrameType.
So that we don't get confused with FrameType and RefFrameType.
Change-Id: I1be45d49f76c68869fc4bf53ff946fee9ce7eb9d
|
|
The motion vector counts should be determined by whether this
block is using intra_mode or not.
Change-Id: If866c91fb8a3f2b3944e5b219a90154d2172690d
|
|
Make sure frame_type, show_idx and coding_index in GroupOfPicture
match the results in EncodeFrameInfo.
Change-Id: I3b477a03b5efd651c2d174e7146a4cd4f5551604
|
|
In the previous version, we assume the number of coding frames is
known.
Although the assumption is true for now with rate_ctrl flag on,
it's more proper to use ObserveGroupOfPicture() to get
the partial info about how many coding frames are in the group.
Because We want to keep the flexibility of changing the size of
group of pictures on the fly in the future.
Change-Id: Ibbe6ab49268c468bf1cef8344efd3a3e1eab972a
|
|
Add coding_index to EncodeFrameInfo
Add start_coding_index to GroupOfPicture
Add frame_coding_index_ to SimpleEncode
The definition of coding index is as follows.
Each show or no show frame is assigned with a coding index based
on its coding order (starting from zero) in the coding process of
the entire video. The coding index for each frame is unique.
Change-Id: I43e18434a0dff0d1cd6f927a693d6860e4038337
|
|
|
|
|
|
|
|
For low resolutions: increase the partition threshold
to split to 8x8 blocks for high Q.
Some improvement in quality for low bitrates at low resoln.
On rtc_derf speed 7: ~1.7 bdrate gain for low bitrates.
Change-Id: I1900c32497b75da4e8b882fedc8f4b440b017480
|
|
only 4 bits in bitstream
Change-Id: I338fe54475e094ee5e556467e0b66c982bb560fa
|
|
Set enable_adaptive_subpel_force_stop to 0 as default
for all speeds. Its only enabled for speed >= 9.
Change-Id: I23a1c1cb9765994d2153ef401976c11a07f3fe7f
|
|
this avoids leaving the floating point unit in an inconsistent state on
error and breaking subsequent tests on x86
the test clip invalid-bug-148271109.ivf would also result in a sanitizer
error prior to:
vp8,GetSigned: silence unsigned int overflow warning
BUG=b/148271109
Change-Id: Ia254f3892ac1eeec51db5e9d42ea071545db0cd8
|
|
in non-conformant fuzzed bitstreams the calculation of br->value may
overflow. this is defined behavior and harmless in that the stream is
already corrupt.
BUG=b/148271109
Change-Id: I3668ada57e0bd68cea86b82917fb03c19ac1283d
|
|
BUG=b/148271109
Change-Id: I620e26ff1233fcd34ebe0723cb913e82eb58271c
|
|
fixes -fsanitize=integer warning:
runtime error: implicit conversion from type 'int' of value -1 (32-bit,
signed) to type 'unsigned int' changed the value to 4294967295 (32-bit,
unsigned)
Change-Id: I95d41aade78cea5e4f870a804d3f358c2cf618d7
|
|
|
|
|
|
Change-Id: I397d7005961a037c9c9cb29e3ff0a3d39a501d15
|
|
Change-Id: I94b936c2642981eccdff073fc71c12e2dccb7909
|
|
Change-Id: I06492a4d1511869cb243477a47295d5f82608fca
|
|
Change-Id: Ib68740a02be852d03a3a2ad4d9d4a7d84d537590
|
|
Change-Id: I046b8c65c96e1864813f9a82649dd6b41ba0aa1f
|
|
Change-Id: I9139ebc22be74e9726eee157821faf22d44bd30f
|
|
Change-Id: Ie1d77e231b973eb16f4e9c520721b47cdf86622c
|
|
Pass the motion vector info stored to the encode frame result
through the interface "update_encode_frame_result()".
Change-Id: I589affa0c4c4d0fd4d639edff9068e44a715beff
|
|
Add outfile_path to SimpleEncode() with default value NULL.
The encoder will only output bitstream when outfile_path is set.
Change-Id: Ic68e5358ea454358c510bb0ae214f4201cb3db39
|
|
This coded_frame represents the raw coded image.
Change-Id: Iea439da2f9e84c4507b082d77ebaac49bfd74fff
|
|
|
|
this allows calls to use better versions (e.g., avx2) if available. in
most other cases the function pointer will be defined to the sse2
variant if another isn't available. this improves performance at 1080P
by ~2% on a Xeon E5-2690.
Change-Id: Ie9da3a567021f8416651a29b8c9ab9238dc4bdf1
|