summaryrefslogtreecommitdiff
path: root/vp8/vp8_cx_iface.c
AgeCommit message (Collapse)Author
2016-07-19vp8: apply clang-tidy google-readability-braces-around-statementsclang-tidy
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
2016-07-18prepend ++ instead of post in for loops.Jim Bankoski
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
2016-07-15vp8: apply clang-formatclang-format
Change-Id: I7605b6678014a5426ceb45c27b54885e0c4e06ed
2016-06-23vp8 realtime encoder: mark unused variableJohann
'duration' is not used in realtime-only mode: Cleans up -Wextra warning: unused parameter 'duration' [-Wunused-parameter] Change-Id: I827dfe59ebcdc72c5a93fdf7e5aca063433914b1
2016-06-17Output frames in first pass for VPX_DL_REALTIME.Tom Finegan
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
2016-06-16vp8_[cd]x_iface.c: Initialize structures to 0Johann
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
2016-06-14Make new_qc signedJohann
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
2016-01-26vp8_cx_iface: delete 3 unused functionsJames Zern
vp8e_update_entropy, vp8e_update_reference, vp8e_use_reference have been unused since: a046f56 vp8cx: remove deprecated reference/entropy controls Change-Id: I2ca9aa3c3f1a209a534a1492432b16852e3d8629
2015-10-16vp8cx: remove deprecated reference/entropy controlsJames Zern
VP8E_UPD_ENTROPY, VP8E_UPD_REFERENCE and VP8E_USE_REFERENCE have been deprecated since the initial public release Change-Id: Ied16b441eec13434d85f1ab115d49ccaf5f2f7b0
2015-09-30vp8: change build_intra_predictors_mby_s to use vpx_dsp.Ronald S. Bultje
Change-Id: I2000820e0c04de2c975d370a0cf7145330289bb2
2015-09-08Remove some trailing whitespacesDebargha Mukherjee
Change-Id: Icf06d35ca347713253d1eba341a894b51efa81a9
2015-08-25vp8e_encode: check validate_config returnJames Zern
Change-Id: I56fad85cae4537f9d68febf9b9264c3e1cf82ce1
2015-07-29Fix a typoYaowu Xu
Change-Id: Ief8eea8fe6bef139d1e94f8d6dfac5a44efe785d
2015-06-01Adds subsecond frame rates to webmJohnny Klonaris
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
2015-05-19VP8: For high overshoot, force drop frame and max-out QP.Marco
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
2015-05-14vp8/rdopt.h+onyx_int.h: add some missing prototypesJames Zern
silences missing prototype warnings Change-Id: Icd477e37b502205d0a60e7389e51b1ba17d8888e
2015-05-06Move shared SAD code to vpx_dspJohann
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
2015-04-28vpx_mem: remove vpx_memcpyJames Zern
vestigial. replace instances with memcpy() which they already were being defined to. Change-Id: Icfd1b0bc5d95b70efab91b9ae777ace1e81d2d7c
2015-04-15Reorganize *_rtcd() calling conventionsJohann
Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2
2015-03-26Remove duplicate code from mergeJohann
Change-Id: I5e2a1270001b7e29f3f198d57ea40e1efccef367
2015-03-20vp[89]_cx_iface.c: remove obsolete ABI checksJames Zern
Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6
2015-02-12Add missing initializer to VP8 codec interfaceAdrian Grange
Change-Id: Ia164ba03fb732e9c9e520e4aa2d75b7eadff6165
2015-01-27vp8enc: Prevent out of bounds memory access.Alex Converse
Prevent out of bounds access when attempting to increase frame size Change-Id: I710c40c692802a72963c9680c2125da17f9060a9
2014-12-16Silence -Werror=unused-parameterJohann
Cast away remaining issues so that new ones don't get lost in the noise. Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
2014-12-03Various updates to vp8.Marco
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
2014-09-04Removing sz member from vpx_codec_priv. Dmitry Kovalev
Change-Id: I811526a9ee9f237604f72abe7fc677e39e0f457f
2014-09-03Consistent allocation of vpx_codec_alg_priv_t.Dmitry Kovalev
Change-Id: I5a03496de035fbcf31e4527cd25fcae4627a57a0
2014-09-02Adds config opt for highbitdepth + misc. vpxDeb Mukherjee
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
2014-08-28Removing alg_priv from vpx_codec_priv struct.Dmitry Kovalev
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
2014-08-21Removing extraconfig_map from vp8_cx_iface.c.Dmitry Kovalev
We have just one default set of extra config values, g_usage is never used with VP8. Change-Id: If05e2e87bf33c8db10c9d226dbc59381bae475eb
2014-08-21Merge "Replacing NOT_IMPLMENTED with NULL."Dmitry Kovalev
2014-08-20Replacing NOT_IMPLMENTED with NULL.Dmitry Kovalev
We don’t need to introduce new macro for the null value. Change-Id: I59dbae25feeebb4e8359095801aecc8bb17d7764
2014-08-20Removing iface pointer from vpx_codec_priv.Dmitry Kovalev
The iface pointer is already in vpx_codec_ctx struct. Change-Id: I9fffe27c613a7c94476f185a1e5a53ff6d99f1c6
2014-08-15Set uv_crop_height/width in all the placesJohann
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
2014-08-11[spatial svc]Remove CONFIG_SPATIAL_SVC for ss_enable_auto_alt_ref in ↵Minghai Shang
vpx_codec_enc_cfg to fix heap-overflow issue in asan config Change-Id: Icdf08501db5f416285f751d316941dfacd2c69ba
2014-08-05Removing legacy XMA features from libvpx.Dmitry Kovalev
Change-Id: I60ffee7cf78e748792fa6d109322ec32f92e40a9
2014-07-31Changes interface to avoid uninitialized warnings in vp9_cx_iface.c.Jim Bankoski
Change-Id: I1092239e21c1cde188ee2dcb765f4c6fc8c5cdec
2014-07-22[spatial svc]Use #if instead of #ifdef on macro CONFIG_SPATIAL_SVCMinghai Shang
Change-Id: Ifc94377a0d05d66e3d21b007893a985b66db6082
2014-07-14Rewrite functions related to first pass block statsPengchong Jin
Change-Id: I28679f88e2911b06eef5cbc83ecb62b8c69e4c53
2014-07-14[spatial svc]Implement alt reference framesMinghai Shang
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
2014-05-27Removing ctrl_id parameter from vpx_codec_control_fn_t.Dmitry Kovalev
Change-Id: I2b61c8c17ded1074dea92b4f6ad9be84d128b52a
2014-04-25Fixing constant value used to calculate frame pts and duration.Dmitry Kovalev
Change-Id: Idbd017d1b42f7fdc7b1ce4e00370f5229800abd7
2014-04-14Enable vpxenc to specify internal coded frame sizeAdrian Grange
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
2014-02-26[svc] Add target bitrate settings for each layers.Minghai Shang
Change-Id: Ia7677fb436667bc4f76db71f65e4784f433f7826
2014-02-05Remove delete_first_pass_file.Adrian Grange
Change-Id: If46d93fb1c26e4629af1f492bfad7a82b4c4f778
2014-02-04Remove duplicated codeAdrian Grange
Change-Id: I1b7c8165162e835e22cf164cce989c0cebd7ca95
2013-09-09Merge "API extensions and sample app for spacial scalable encoder"Ivan Maltz
2013-09-09API extensions and sample app for spacial scalable encoderIvan Maltz
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
2013-09-06Support a constant quality mode in VP9Deb Mukherjee
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
2013-07-12yv12config: remove YUV_TYPEJames Zern
this was never fleshed out in the context of VP8, for which it was added. for VP9 it has no meaning. Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff