Age | Commit message (Collapse) | Author |
|
This reverts commit 44e611482e13fdffa0acde780a20dd68ee153498.
Change-Id: Ic900cc01be4de7983fab42178a488277efab77b3
|
|
Change-Id: I371c2346b9e0153c0f8053cab399ce14cd286c56
|
|
If a reference frame is not referenced, then set the index for that
reference to the first one used/referenced instead of unused slot.
Unused slot means key frame, as key frame resets all slots with itself.
This CL extracts `get_first_ref_frame()` from `reset_fb_idx_unused()`
with a typo fixing, and sets all unused reference frames to first ref in
vp9 uncompressed header.
Bug: webrtc:13442
Change-Id: I99523bc2ceedf27efe376d1113851ff342982181
|
|
Change-Id: I78ac1f8ce1598de295efd2ac1fe8244072d9b501
|
|
Change-Id: Ia05157fc3e613d93f10df5abddd77a740a0005ca
|
|
This will do 3 things:
Turn off low motion computation
Turn off gf update constrain on key frame frequency
turn off content mode for cyclic refresh
Those are used to verify the external ratectrl lib works as expected.
Change-Id: Ic6e61498de82d6b3973e58df246cf5e05f838680
|
|
Use this flag to change the encoder behavior when
SimpleEncode APIs are used
BUG=webm:1733
Change-Id: I9f0852a03ff99faa01cdd8eee8ab71718cc58632
|
|
This patch adds fields into the RC data structure for the Vizier.
The added fields allow control of some extra rate control parameters
and rate distortion.
This patch also adds functions to initialize the various parameters
though many are not yet used / wired in and for now all are set to
default values. Ultimately many will be set through new command
line options.
Change-Id: I41591bb627d3837d2104fb363845adedbddf2e02
|
|
Tpl stats is computed at the beginning of encoding the altref
frame. We aggregate tpl stats of all blocks for every frame of
the current group of picture.
After the altref frame is encoded, the tpl stats is passed through
the encode frame result to external environment.
Change-Id: I2284f8cf9c45d35ba02f3ea45f0187edbbf48294
|
|
Bug: webm:1707
Change-Id: I2ff9e54a9c8ae535628c1c471a2d078652f49a31
|
|
Change-Id: I9fcb9f4cc5c565794229593fadde87286fcf0ffd
|
|
Change-Id: I20a1179a2131d2cd069dae9076aa2c18b80784f3
|
|
VP9E_SET_EXTERNAL_RATE_CONTROL
One can assign an external library using the control flag,
VP9E_SET_EXTERNAL_RATE_CONTROL.
The args alongside the control flag should be of type char**.
args[0]: char* points to the path of rate control library
args[1]: char* points to the config of the rate control library.
Change-Id: Iae47362cdfafa00614bac427884bffcf6944c583
|
|
Change-Id: I6d693e84570c353d20ec314acea43363956c0590
|
|
Replace fp_motion_vector_info_init() by
fp_motion_vector_info_reset() in first_pass_encode()
Change-Id: Iadacb1ecc4f07435340399564fdd3bfd4ac702f4
|
|
Change-Id: I05dd4d60741743c13951727ce6608acf4224ebec
|
|
Change-Id: Ic2a52dcf5e5a6d57b80d390a2c48ee498e89e7b2
|
|
1) Use kRefFrameTypeNone in the unit test
2) Reset mv_info in fp_motion_vector_info_init
3) Call fp_motion_vector_info_init() in first_pass_encode()
4) Set mv_info for intra frame.
5) Set mv_info with zero mv as default for inter frame
6) Remove duplicated fp_motion_vector_info in encode_frame_info
Change-Id: I2f7db5cd4cf1f19db039c9ce638d17b832f45b6e
|
|
|
|
Change-Id: I133c93c2ad4c824fc97a18de3ac2cb2aedac9013
|
|
Store motion vectors for each 16x16 block found in the first pass
motion search.
Provide an api "ObserveFirstPassMotionVector()" in SimpleEncode
class, similar to "ObserveFirstPassStats()".
Change-Id: Ia86386b7e4aa549f7000e7965c287380bf52e62c
|
|
Change-Id: I4de5a38e25d6b0836d90e8fcd0e56d268e5fd838
|
|
Will add a unit test in a followup CL.
Change-Id: I6a6354f307c427e1a352be7c6421927323eb5e1b
|
|
Send GOP_COMMAND to vp9 for setting gop decisions on the fly.
GOP_COMMAND has three members.
use: use this command to set gop or use vp9's gop decision.
show_frame_count: number of show frames in this gop.
use_alt_ref: use alt ref frame or not.
Move the logic of processing external_arf_indexes_ from
get_gop_coding_frame_num() to GetGopCommand() and
GetCodingFrameNumFromGopMap().
Change-Id: Ic1942c7a4cf6eecdf3507864577688350c7ef0cf
|
|
Under CONFIG_REALTIME_ONLY flag, map speed < 5 to speed 5.
Bug: webm:1684
This reverts commit 85cb983682fe9ca14fd302b50d27d762da05d665.
Change-Id: I67b7ed37e8b74417db310ea0c817d3c5a5de9e44
|
|
This reverts commit da24d35132e80422dc2c33e7c92462f4db7cd83d.
BUG=webm:1684
Change-Id: I552c37c7bdc844610879a65cc02038d76a5d32b1
|
|
Add vp9 RTC rate control without creating encoder,
to allow external codecs to use vp9 rate control.
A new library (libvp9rc.a) will be built. Applications using this
interface must be linked with the library.
BUG=1060775
Change-Id: Ib3e597256725a37d2d104e1e1a1733c469991b03
|
|
Change-Id: If41a1ea6ce0a2b8db3811f2fa8efcf16f97fa0bd
|
|
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
|
|
Change-Id: I06492a4d1511869cb243477a47295d5f82608fca
|
|
This coded_frame represents the raw coded image.
Change-Id: Iea439da2f9e84c4507b082d77ebaac49bfd74fff
|
|
Allocate motion vector information for the frame, and store it
when a superblock (64x64) is encoded.
The unit size of the smallest block is 4x4.
A special requirement by the vp9 spec is that sub 8x8 blocks
of a 8x8 block must have the same reference frame.
There is no such requirement for blocks large or equal to 8x8.
Change-Id: Iba17c568c450361e5d059503c6fb7bc458184c31
|
|
Test the information stored in the encoder is the same
between two encode runs.
Change-Id: I4f97fac4f212602f766aee0a6cbef566ca43b41e
|
|
Init the memory for partition information in "EncodeFrameResult".
And pass the partition information of vp9 encoder to it through
the interface: "update_encode_frame_result()".
Change-Id: Iea049e661da79f54d41da7924b9ef28ff7cfbfa3
|
|
Allocate partition information for the frame, and update it
when a superblock (64x64) is encoded.
The unit size of the smallest block is 4x4.
For each 4x4 block, store the current positition (row, column),
the start positition (row_start, column_start) of the partition,
and the block width and height of the partition.
Change-Id: I11c16bbca7e89a088715a1200abd23fe2f9ca1d6
|
|
Add control for delta q for uv. 0 by default.
Change-Id: Ib8ed160b1a5c9a61ba15985076f6c6f121477103
|
|
Explicitly copy frame counts of each frame to the encode result
struct.
Change-Id: Icc18ac83a9e2be8d7a4819f2fffcfda6568b275c
|
|
in update_encode_frame_result()
Change-Id: Ie86d11f66744ef95dd224c7daf325750a5e5458b
|
|
Change-Id: Ied06630d605a4978711070778b92bfb731c32161
|
|
Change-Id: I4442de01dfdbf13b0b9f7830f0fb393d3b935522
|
|
Change-Id: Idfb36a8bfa264df8294eba70424fd25fa5d88cda
|
|
Change-Id: I33c410a14b86f95278eff8d1d0e6992f1b82a17d
|
|
Let vp9_get_compressed_data update ENCODE_FRAME_RESULT, a C
version of EncodeFrameResult.
Let unit test to test frame_type and show_idx properly.
Change-Id: Id810c26c826254fd82249f19ab855ea3b440d99c
|
|
Change-Id: Id42dbdddae3e0a16022343c89cbc57912297398c
|
|
Add utility functions
vpx_img_chroma_subsampling
vpx_img_use_highbitdepth
Change-Id: I7b44fdc2cf67bbb49e161fdf778917b9ec0c8832
|
|
Move the pkt operations to encoder_encode
Change-Id: Ibe730baab61bf7a395998641f106eb0f06d3b8ae
|
|
Change-Id: I5549c3dbcbe1550824deaebf03178e38c1b07d54
|
|
Use get_g_timebase_in_ts() to set priv->timestamp_ratio
and oxcf->g_timebase_in_ts
Change-Id: Iea9d589cb7e5611067bcedfdf6f5becd4592d3cf
|