Age | Commit message (Collapse) | Author |
|
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
|
|
Change-Id: I5a03496de035fbcf31e4527cd25fcae4627a57a0
|
|
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
|
|
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
|
|
We have just one default set of extra config values, g_usage is
never used with VP8.
Change-Id: If05e2e87bf33c8db10c9d226dbc59381bae475eb
|
|
|
|
We don’t need to introduce new macro for the null value.
Change-Id: I59dbae25feeebb4e8359095801aecc8bb17d7764
|
|
The iface pointer is already in vpx_codec_ctx struct.
Change-Id: I9fffe27c613a7c94476f185a1e5a53ff6d99f1c6
|
|
When configuring the buffer make sure to set all the (now) required
fields. Use the canonical variables and match the style from vpx_scale.
https://code.google.com/p/webm/issues/detail?id=841
Change-Id: I71b43d4a03756b8b2d6d60fdf8d7bf41b8041787
|
|
vpx_codec_enc_cfg to fix heap-overflow issue in asan config
Change-Id: Icdf08501db5f416285f751d316941dfacd2c69ba
|
|
Change-Id: I60ffee7cf78e748792fa6d109322ec32f92e40a9
|
|
Change-Id: I1092239e21c1cde188ee2dcb765f4c6fc8c5cdec
|
|
Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
|
|
Change-Id: I28679f88e2911b06eef5cbc83ecb62b8c69e4c53
|
|
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
|
|
Change-Id: I2b61c8c17ded1074dea92b4f6ad9be84d128b52a
|
|
Change-Id: Idbd017d1b42f7fdc7b1ce4e00370f5229800abd7
|
|
Added command line flags "resize-width" & "resize-height"
to allow the user to specify the frame size to encode at.
These two flags are ignored if the "resize-allowed" switch
is not set to 1.
All frames in the clip are then encoded at this size, which
must be smaller than the raw frame size.
Change-Id: I3d64bd9303d5c0bd678461a866a1ea621700d744
|
|
Change-Id: Ia7677fb436667bc4f76db71f65e4784f433f7826
|
|
Change-Id: If46d93fb1c26e4629af1f492bfad7a82b4c4f778
|
|
Change-Id: I1b7c8165162e835e22cf164cce989c0cebd7ca95
|
|
|
|
Sample app: vp9_spatial_scalable_encoder
vpx_codec_control extensions:
VP9E_SET_SVC
VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER
VP9E_SET_MIN_Q, VP9E_SET_MAX_Q
expanded buffer size for vp9_convolve
modified setting of initial width in vp9_onyx_if.c so that layer size
can be set prior to initial encode
Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS)
Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers
Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
|
|
Adds a new end-usage option for constant quality encoding in vpx. This
first version implemented for VP9, encodes all regular inter frames
using the quality specified in the --cq-level= option, while encoding
all key frames and golden/altref frames at a quality better than that.
The current performance on derfraw300 is +0.910% up from bitrate control,
but achieved without multiple recode loops per frame.
The decision for qp for each altref/golden/key frame will be improved
in subsequent patches based on better use of stats from the first pass.
Further, the qp for regular inter frames may also be varied around the
provided cq-level.
Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
|