Age | Commit message (Collapse) | Author |
|
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
|
|
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
|
|
Prevent out of bounds access when attempting to increase frame size
Change-Id: I710c40c692802a72963c9680c2125da17f9060a9
|
|
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
|
|
Modify zero_mv bias condition to include check that "closest" reference is last_frame.
This is needed for temporal layers, where the last_frame is not always the closest reference.
Also, constain zeromv_count to be for last_frame reference.
Change-Id: I7af54a809ebf01ef43b9933c9d4095b6cb189390
|
|
Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522
|
|
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
|
|
Change-Id: I252f5f8a5d5ada65da08699774a7bb1eb2bd5b2e
|
|
Change-Id: I82834550503a43ff7ec8422342dc65136453b287
|
|
these are only used in the encoder.
frames_since_golden / frames_till_alt_ref_frame -> VP[89]_COMP
Change-Id: Ie14a6f46987bced685ddb449b85dc261caba6dfe
|
|
s/frame_rate/framerate/g
Change-Id: I6fc3e088e419c5f46e3a9390dd8a2cad2677a2fc
|
|
Use a separate counter for resetting the pattern upon
a change in temporal layers, and set/initialize the
layer context parameters for the new temporal layer state.
Also moved the setting of layer configuation in init_config()
to a separate function.
Change-Id: Ic7fc023a1e5490020509e107004645098f4c00f0
|
|
This eliminates a tsan warning.
Change-Id: I204d109b12adb4e347762e63d12859244f28d1a9
|
|
|
|
Remove dependency of this function on asm_offsets. ssse3/sse4 next.
Change quant_shift calculation so it be done using SIMD. Pre-calculate
as much as possible to simplify EOB selection.
Take advantage of qcoeff being zero'd by tying the if statements
together.
Speed parity with previous implementation with gcc x86_64 linux
Change-Id: Ife97556a1eca3a74b09def1a3d04084974dff1fb
|
|
avoids signed integer overflow; matches kf_group_bits
Change-Id: I193145cdc4fa53e70fba0a1731a03eb1a574931d
|
|
Change-Id: Ic9956ddf1c2ddffcf7be7fdfc23ad9a2426fc47a
WIP: Fixing unsafe threading in VP8 encoder.
|
|
Fixing unsafe threading in VP8 encoder.
Change-Id: Ibf4c89a2043654834747811bc11eb283de0bb830
|
|
Change-Id: I76fe20ade099573997404b8733cf7f79e82fb21e
WIP: Fixing unsafe threading in VP8 encoder.
|
|
and various unused members in VP8_COMP along with other
code cleanups.
Change-Id: I56c6c0a77a51f5ac5cbd6071017bcbfd2623b7df
|
|
Change-Id: Ifa78c0a953fab3e5dd7af0446924846c7022cd09
|
|
|
|
Change-Id: I44e4e3869f231ae270cca98c9565f23c512e3ddf
|
|
|
|
Change-Id: I650a593162280ab40e71e527ec6518303e2d5723
|
|
Not used.
Change-Id: I07ba929e3ff82b4b0c86f731769cdf5434c7a816
|
|
Change-Id: I28ac1519d1594801fef9a623cb64598d3d751eb0
|
|
Change-Id: Ie22841d096f3c86694b95bd06fc3a8ce1f032a10
|
|
Change-Id: Ib73c7b2bee4cb2eb2528fa6b381fffe9503079a0
|
|
Change-Id: Ie9a26be7c9baa54a0e43a63ed6c77f2746477a9c
|
|
Change-Id: I289564a5a27f0d03ddc6f19c7838542ff22719be
|
|
For videos with big static background(such as video conferencing
clips), the mode decision was biased to ZEROMV in order to
obtain a stable background. The percentage of ZEROMV on last
frame was used to predict if there is static area in current frame,
and checking already-encoded neighboring macroblocks' motion
vectors to make sure the local area has low motion.
Change-Id: I05b3241d3a56a0bda88b6681e5646c1c8baf2e57
|
|
Change-Id: Iaa947e640f27e6f6eaf7d845f243536bca2df513
|
|
Added drop_frame support in multi-resolution encoder.
If one frame is dropped at a lower-resolution level, the next
upper-resolution level encoder needs to encode that frame
independently without any lower-resolution level motion
information.
Another issue is that if one frame is dropped at some but not all
resolution levels, a frame after that one may use different set
of reference frames at different resolution levels. This reference
frame asynchronization could degrade motion search precision in
upper-resolution level encoding, which uses lower-resolution level
motion result. This change compares the lower-resolution and upper-
resolution level's reference frames. If they are not the same, the
upper-resolution level encoder can not use lower-resolution level
motion result.
Change-Id: I61afa4f313630e75b7cbdd5742e230e8724a988a
|
|
|
|
goldfreq can be replaced by DEFAULT_GF_INTERVAL.
Change-Id: I3659a9e7b9a6be9cb1952a1838e02c20d656e369
|
|
Allows building the library with the gcc -pedantic option, for improved
portabilty. In particular, this commit removes usage of C99/C++ style
single-line comments and dynamic struct initializers. This is a
continuation of the work done in commit 97b766a46, which removed most
of these warnings for decode only builds.
Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966
|
|
Removed unused parameters and code related to drop_frame.
Change-Id: I594e050d49b1805c6f72abf06005ef624256bb57
|
|
VP8_REFFRAME is the same as vpx_ref_frame_type
Change-Id: I63c2ddfb39f6ec87d1e5eb6a8852846464552b1b
|
|
Conflicts:
vp8/common/entropymode.c
vp8/common/entropymode.h
vp8/encoder/encodeframe.c
vp8/vp8_cx_iface.c
Change-Id: I708b0f30449b9502b382e47b745d56f5ed2ce265
|
|
Change If4321cc5 fixed a bug caused by forward declarations not being
kept in sync across C files, resulting in a function call with the
wrong arguments. The commit moves the affected function declarations
into a header file, along with the other symbols from encodeframe.c
that were being sloppily shared.
Change-Id: I76a7b4c66d4fe175f9cbef7e52148655e4bb9ba1
|
|
|
|
Preserved the prior names for compatibility, will remove in the future.
Change-Id: I8773f959ebce72f60168a2972f7a8ffe6642b9b2
|
|
These are warnings in most builds, but show up as compile errors on
some platforms when these headers are included from C++ code.
Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5
|
|
These are warnings in most builds, but show up as compile errors on
some platforms when these headers are included from C++ code.
Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5
|
|
RD costs were local to MACROBLOCK data and had to be copied all the
time to each thread's MACROBLOCK data. Tables moved to a common place
and only pointers are setup for each encoding thread.
vp8_cost_tokens() generates 'int' costs so changed all types to be
int (i.e. removed unsigned).
NOTE: Could do some more cleaning in vp8cx_init_mbrthread_data().
Change-Id: Ifa4de4c6286dffaca7ed3082041fe5af1345ddc0
|
|
Look for changes in the codec's configured w/h instead of its active
w/h when forcing keyframes. Otherwise calls to vp8_change_config()
will force a keyframe when spatial resampling is active.
Change-Id: Ie0d20e70507004e714ad40b640aa5b434251eb32
|
|
This change added a motion search skipping mechanism similar
to what we did in second pass. For a macroblock that is very
similar to the macroblock at same location on last frame,
we can set its mv to be zero, and skip motion search. This
improves first-pass performance for slide shows and video
conferencing clips with a slight PSNR loss.
Change-Id: Ic73f9ef5604270ddd6d433170091d20361dfe229
|
|
|