Age | Commit message (Collapse) | Author |
|
svc_encodeframe.c and svc_context.h are only used by the example
encoder.
Change-Id: Idb41a5a9d6a229a0bc7d2bc8dbe6575a74efc54c
|
|
Change-Id: I0377ca2ebf63792d7a27de4b8e7e08b38659ecde
|
|
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: Ifda11caaf992d10f2d93d6cd1d07b79b6047be05
|
|
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
|
|
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
|
|
Change-Id: I4cb878600038066513ab73f3658990d1245ff2fb
|
|
VPX_ENCODER_ABI_VERSION was bumped up in 93e83f.
Change-Id: Id5707f9f9db56fa96549bc8f54e1cfa04e7fa4cd
|
|
For 1 spatial layer case, scaling_num/den was not set properly.
Change-Id: I139bf70c6dffde89eed24e435bcb5d98d2029bcd
|
|
Use of possibly uninitialized variable and missing test initializer.
Change-Id: I2192c81c39ef4239cc11a309850c0ee8781ef17e
|
|
Add some checks to the layer bitrates passed in through the command line.
Change-Id: I16f270035a6034d63313fe3019aa90dca9a3eefb
|
|
Allow for passing in the layer bitrates at command line.
Fix to allow passing in bitrate for each spatial-temporal layer.
Change to some default values for 1 pass cbr mode:
spatial scale and qp-max/min.
Small fixes to some build warnings.
Change-Id: I3f9a776262712480a6570bb863a835b2fc49935a
|
|
This change only affects 1 pass cbr svc mode.
Change-Id: If0da87bb200f7e7762755340c40c8157cc7a16ca
|
|
Change-Id: I95922a64568bf289863c1564212b6be5beec36df
|
|
Change-Id: I710707296042d8586109760544ef68e40ae486c3
|
|
Only affects 1 pass cbr svc.
Change-Id: I8387219e35e516d9ce890557ee1855f2af8f636a
|
|
Changes to mode selection for 1 pass SVC mode:
use base layer motion vector, changes to intra-prediction.
Change-Id: I3e883aa04db521cfa026a0b12c9478ea35a344c9
|
|
Fixes crash in 2pass spatial svc test that was introduced in:
https://chromium-review.googlesource.com/#/c/313571/6
Change-Id: Iab3e8225a8d159cd33f5849dffe6802e25038047
|
|
Change-Id: Ic0ec32c1d7f7c08c9f956592dccbfd9060b1f624
|
|
For 1 pass CBR mode.
Change-Id: I8bceb489a850ec26f05382eecb5c0c32a1bb8883
|
|
Add SVC codec control to set the frame flags and buffer indices
for each spatial layer of the current (super)frame to be encoded.
This allows the application to set (and change on the fly) the
reference frame configuration for spatial layers.
Added an example layer pattern (spatial and temporal layers)
in vp9_spatial_svc_encoder for the bypass_mode using new control.
Change-Id: I05f941897cae13fb9275b939d11f93941cb73bee
|
|
Change settings for 1 pass CBR.
And only use SET_SVC control(s) if there is at least 1 layer (spatial or temporal).
This allows sample encoder to also work for 1 layer case.
Change-Id: I5b0a33c25afb2f24a3a8aa4ec8ade9afc87cd702
|
|
Remove the ABI check for the controls needed for SVC 1 pass CBR mode.
Bump up the ABI version.
Change-Id: I35b79ee010e14af83c6d1e801d574deaaa2fc7eb
|
|
-Make Rate control work for SVC 1 pass CBR mode.
-Added temporal layering mode.
-Fixed bug in non-rd variance partition.
-Modified/updated the sample encoders (vp9_spatial_svc_encoder, vpx_temporal_svc_encoder).
-Added datarate unittest(s) for 1 pass CBR SVC.
Change-Id: Ie94b1b68a56ea1267b5087c625e5df04def2ee48
|
|
Fixes a borg build.
Change-Id: I8cb510577e8d8bbc7a2e64f9e1bdfe883f49cb61
|
|
Adds support for one-pass rc-enabled SVC encoder with callbacks for
getting per-layer packets.
- the callback function registration is implemented as an encoder
control function.
- if the callback function is not registered, the old way of
aggregating packets with superframe will take effect.
- one more control function “VP9E_GET_SVC_LAYER_ID” has been
implemented to get the temporal/spatial id from the encoder
within the callback. This can be used to get the ids to put on RTP
packet.
Change-Id: I1a90e00135dde65da128b758e6c00b57299a111a
|
|
We encode a empty invisible frame in front of the base layer frame to
avoid using prev_mi. Since there's a restriction for reference frame
scaling factor, we have to make it smaller and smaller gradually until
its size is 16x16.
Change remerged.
Change-Id: I9efab38bba7da86e056fbe8f663e711c5df38449
|
|
This reverts commit c113457af9880b8e15a36cdaabfd414d1c245693.
Temporary revert to allow clean revert of another commit.
Change-Id: Ia9b7b755e6c48e1b6e383329f121fef175a24b27
|
|
We encode a empty invisible frame in front of the base layer frame to
avoid using prev_mi. Since there's a restriction for reference frame
scaling factor, we have to make it smaller and smaller gradually until
its size is 16x16.
Change-Id: I60b680314e33a60b4093cafc296465ee18169c19
|
|
layer
vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer.
In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder.
Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a
|
|
Change-Id: I214bc4169f6c5eaee4957cd308a74d309e999005
|
|
1. This is to align with the ffmpeg implementation
2. Remove APIs for setting quantizers and scale-factors
Change-Id: I6e238d71db790a9fb3254baaeb61e2a5aac58f48
|
|
Change-Id: If8cd3879aa2a498a2b1b97cedb88b2b3bd97f0ba
|
|
Change-Id: I97d0cf095e9cfefdfa0f65eb5e96d6848cc9ffca
|
|
1. svc_encodeframe.c will not handle frame or stats packets anymore.
The app will process them.
2. Remove APIs that related to these packets.
Change-Id: Id0d7f8b458dc09c6f77064c0878fd4e572db001b
|
|
|
|
Change-Id: I6e8d3f08c8a8ce3555a498feba471ba9fec411c6
|
|
Change-Id: I6fdcea0e0faf42386dd2b8f972a3b3fb2c21b2c7
|
|
It's built based on current spatial svc code.
We only support one spatial two temporal layers at this time.
Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
|
|
We can use one frame context for each layer so that we don't have
to reset the probs every frame. But we can't use prev_mi since we
may drop enhancement layers. So we have to generate a non vp9
compatible bitstream and modify it in the player.
1. We need to code all frames as invisible frame to let prev_mi
not to be used. But in the bitstream we need to code the
show_frame flag to 1 so that the publisher will know it's
supposed to be a visible frame.
2. In the player we need to change the show_frame flag to 0 for
all frames. Then add an one byte frame into the super frame
to tell the decoder which layer we want to show.
Change-Id: I75b7304cf31f0ab952f043e33c034495e88f01f3
|
|
Adds a couple of CONFIG_SPATIAL_SVC macros to allow compilation
when spatial-svc is disabled.
Change-Id: I67f84406d1d3fa26f225d9c6518161a0841f2d29
|
|
All changes are for spatial svc only.
1. Enable encoding hidden frames in each layer and use alt reference idex to reference the hidden frame in each layer
2. Use golden reference idx for spatial reference
3. For those layers that don't have hidden frames (caused by lack of frame buffers), reference a hidden frame in lower layers
4. Add "auto-alt-refs" in svc options
Change-Id: Idf27d1fd2fb5f3ffd9e86d2119235e3dad36c178
|
|
this time."
|
|
Change-Id: I1b6ed2e82a7e3e8a9e790bf29d667a3f856a9518
|
|
by rate control
Change-Id: I7eda0f5e678034f0e9c2ab481c517d2e9b280eb5
|
|
Change-Id: I930dced169c9d53f8044d2754a04332138347409
|
|
|
|
Change-Id: I2a41c1fe08261065dd21fe631b2b5937acfbfb51
|
|
Change-Id: Ifb09502ddf62664b3bfc62172de46bc36fde8efb
|
|
Change-Id: I76a48b03388a8c5cc74b871deb836cd92263b306
|