- 19 Sep, 2014 1 commit
-
-
Minghai Shang authored
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
-
- 12 Sep, 2014 2 commits
-
-
JackyChen authored
Change from VP8E_SET_NOISE_SENSITIVITY to VP9E_SET_NOISE_SENSITIVITY Change-Id: Ia210a7029b26924e30973f0f9798a338e0412407
-
Deb Mukherjee authored
Adds various high bitdepth transform functions and tests. Much of the changes are related to using typedefs tran_low_t and tran_high_t for the final transform cofficients and intermediate stages of the transform computation respectively rather than fixed types int16_t/int. When vp9_highbitdepth configure flag is off, these map tp int16_t/int32_t, but when the flag is on, they map to int32_t/int64_t to make space for needed extra precision. Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
-
- 11 Sep, 2014 1 commit
-
-
Minghai Shang authored
Change-Id: I97d0cf095e9cfefdfa0f65eb5e96d6848cc9ffca
-
- 04 Sep, 2014 2 commits
-
-
Dmitry Kovalev authored
Change-Id: Ifa3c1cc2317c1bc21d1042b9662b35056d1e9ed0
-
Dmitry Kovalev authored
Change-Id: I811526a9ee9f237604f72abe7fc677e39e0f457f
-
- 03 Sep, 2014 1 commit
-
-
Dmitry Kovalev authored
Change-Id: I5a03496de035fbcf31e4527cd25fcae4627a57a0
-
- 02 Sep, 2014 2 commits
-
-
Deb Mukherjee authored
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles. Also includes most vpx level high bit-depth functions. However encode/decode in the highbitdepth profiles will not work until the rest of the code is in place. Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
-
Minghai Shang authored
It's built based on current spatial svc code. We only support one spatial two temporal layers at this time. Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
-
- 28 Aug, 2014 1 commit
-
-
Dmitry Kovalev authored
In order to understand memory layout consider the declaration of the following structs. The first one is a part of our API: struct vpx_codec_ctx { // ... struct vpx_codec_priv *priv; }; The second one is defined in vpx_codec_internal.h: struct vpx_codec_priv { // ... }; The following struct is defined 4 times for encoder/decoder VP8/VP9: struct vpx_codec_alg_priv { struct vpx_codec_priv base; // ... }; Private data allocation for the given ctx: struct vpx_codec_ctx *ctx = <get> struct vpx_codec_alg_priv *alg_priv = <allocate> ctx->priv = (struct vpx_codec_priv *)alg_priv; The cast works because vpx_codec_alg_priv has a vpx_codec_priv instance as a first member 'base'. Change-Id: I10d1afc8c9a7dfda50baade8c7b0296678bdb0d0
-
- 26 Aug, 2014 3 commits
-
-
Dmitry Kovalev authored
Change-Id: Icfacc695a711ec325b1d8f2b5d927a720e2bd6b4
-
Dmitry Kovalev authored
Change-Id: Icab9a4399c5687453f4bec14b8cb5000464335e5
-
Dmitry Kovalev authored
We don't output invisible frames with VP9. Change-Id: I7b874d3ac454c1b2966d5d7d72e12a864b49afae
-
- 25 Aug, 2014 1 commit
-
-
Minghai Shang authored
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
-
- 22 Aug, 2014 2 commits
-
-
Dmitry Kovalev authored
This patch fixes slow first pass problem. Mode could only be determined from the deadline value during frame encode call. Unfortunately, we use mode value before any encode calls during the first pass encoding (see set_speed_features() logic). The mode for the first pass must be different from BEST to make first pass fast. Change-Id: I562a7d32004ff631695d91c09a44d8a9076fd6b5
-
Jim Bankoski authored
Change-Id: I3f56a4d64828a74c370a5b3247a5f00e554a922c
-
- 21 Aug, 2014 2 commits
-
-
Dmitry Kovalev authored
Change-Id: Id21f1e77f1d030fbe3f5f30486d2a7ecb2bccdf5
-
Dmitry Kovalev authored
We don’t need to introduce new macro for the null value. Change-Id: I59dbae25feeebb4e8359095801aecc8bb17d7764
-
- 20 Aug, 2014 1 commit
-
-
Dmitry Kovalev authored
The iface pointer is already in vpx_codec_ctx struct. Change-Id: I9fffe27c613a7c94476f185a1e5a53ff6d99f1c6
-
- 19 Aug, 2014 3 commits
-
-
Dmitry Kovalev authored
We have just one default set of extra config values, g_usage is never used with VP9. Change-Id: I0f1939b0a2da4522a87a393d85be8c8acf7f364c
-
Dmitry Kovalev authored
Change-Id: I76aab1e4f56a790597104b5c9b0d3543d6982eae
-
Dmitry Kovalev authored
After that change oxcf->pass and oxcf->mode become two orthogonal variables. Change-Id: I1501f83cd2805480e8118135e6d4045fb41e26d5
-
- 12 Aug, 2014 1 commit
-
-
Yaowu Xu authored
Change-Id: I87255d8a25ef8c7d235cbf3c8887d7bed7892cfe
-
- 11 Aug, 2014 1 commit
-
-
Minghai Shang authored
[spatial svc]Remove CONFIG_SPATIAL_SVC for ss_enable_auto_alt_ref in vpx_codec_enc_cfg to fix heap-overflow issue in asan config Change-Id: Icdf08501db5f416285f751d316941dfacd2c69ba
-
- 08 Aug, 2014 3 commits
-
-
Dmitry Kovalev authored
Framerate changes over time, VP9EncoderConfig supposed to have static read-only data. Change-Id: I36580a7ee71243c1eabb57691089691731d03e67
-
Dmitry Kovalev authored
We had a very complicated way to initialize cpi->pass from cfg->g_pass: switch (cfg->g_pass) { case VPX_RC_ONE_PASS: oxcf->mode = ONE_PASS_GOOD; break; case VPX_RC_FIRST_PASS: oxcf->mode = TWO_PASS_FIRST; break; case VPX_RC_LAST_PASS: oxcf->mode = TWO_PASS_SECOND_BEST; break; } cpi->pass = get_pass(oxcf->mode). Now pass is moved to VP9EncoderConfig and initialization is simple: switch (cfg->g_pass) { case VPX_RC_ONE_PASS: oxcf->pass = 0; break; case VPX_RC_FIRST_PASS: oxcf->pass = 1; break; case VPX_RC_LAST_PASS: oxcf->pass = 2; break; } Change-Id: I8f582203a4575f5e39b071598484a8ad2b72e0d9
-
Adrian Grange authored
Replaced encoder and decoder functions to get a pointer to a reference frame with a common function, vp9_get_ref_frame, and simplified it. Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee
-
- 07 Aug, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: I18cbdad6031d14d4c1a818c0ab33bbedf7b33e19
-
- 06 Aug, 2014 3 commits
-
-
Minghai Shang authored
Change-Id: Ice5376100d8e27cbdaddfd3cd06898cedd2720fe
-
Dmitry Kovalev authored
Change-Id: I75abd57367a7974a9fab8a727b2bbc54dea428c3
-
Alex Converse authored
Change-Id: Ie8c976ececc79fd58c6eb16b7add053dc58e3bb8
-
- 05 Aug, 2014 2 commits
-
-
Dmitry Kovalev authored
Change-Id: I60ffee7cf78e748792fa6d109322ec32f92e40a9
-
Alex Converse authored
Change-Id: I12b0b0a06750cb9a5f1bdc3368deb44137acc9a3
-
- 04 Aug, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: I1b3c5337f018dde27dc819ab18bd081d169a91e8
-
- 31 Jul, 2014 1 commit
-
-
Jim Bankoski authored
Change-Id: I1092239e21c1cde188ee2dcb765f4c6fc8c5cdec
-
- 29 Jul, 2014 1 commit
-
-
James Zern authored
currently the only way to know if multiple alt-refs are enabled is to inspect the encoder instance. this reduces the size of the allocation by 75% when not using multiple alt-refs Change-Id: Ie4baa240c2897e64b766c6ad229674884b5a65b6
-
- 22 Jul, 2014 1 commit
-
-
Minghai Shang authored
Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
-
- 15 Jul, 2014 2 commits
-
-
Minghai Shang authored
Change-Id: I5e3b8b1b151bc14416577f85434182cba2302679
-
Pengchong Jin authored
Change-Id: I28679f88e2911b06eef5cbc83ecb62b8c69e4c53
-
- 14 Jul, 2014 1 commit
-
-
Minghai Shang authored
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
-