Age | Commit message (Collapse) | Author |
|
Enable the encoder to produce compound reference frame writing
that supports both 2 fwd + 1 bwd and 1 fwd + 2 bwd cases.
Change-Id: I63d2141435e2de7d8115d52b974fc41c2e608405
|
|
Removes deprecated multi_arf_allowed variable and dependent code.
Change-Id: Ic1cf341f807c38207e728c48a4c4442387db93ff
|
|
Stack the ARF frame indexes. Use the most recent one as the ARF
reference frame for frame coding.
Change-Id: I88a2202fa5deb2587d861b434d27ab8de0642cf7
|
|
Make the bit-stream writer match the decoder behavior, when the
show existing frame feature is used.
Change-Id: Ibc8153f8668da0f9a2ed8af3b42dae91a5ac08c7
|
|
Allow the bit-stream writer to support potential use of
show_existing_frame. At this point, cm->show_existing_frame is
always 0.
Change-Id: I64fed1d72db6d4902d56774854ce24fb7a082e0c
|
|
Add flag to separate two cases of bypass (flexible) SVC mode:
usage of using the SET_SVC_REF_FRAME_CONFIG vs passing in the
frame_flags in the vpx_encode (only used for temporal layers).
This fixes failures in Datarate Temporal layer test,
introduced in commit: a66da31
Change-Id: Ie62f933987c20792d1f963d645e98c1903bdd423
|
|
Add update_buffer_slot to SVC API to allow for refreshing
any of the 8 reference buffers. Remove frame_flags from
the struct.
Remove svc tests from vp8 build.
BUG=b/112292577
Change-Id: I0551c349d2b311227245a8ed1639cdbbaf5bc5db
|
|
To save a branch.
Change-Id: Ifa2be7583e95c6991784731c654bbd4cce31e993
|
|
This function is redundant.
Change-Id: I7651fc34787c09e59cb1366495f6b525dec8510d
|
|
|
|
Change-Id: I9e92616471be380d3ba4e2b85399d7eb9f687d2f
|
|
SVC related conditions were removed long time ago and comments should be
removed too.
Change-Id: Iff3f3b6815d85ae5a69994932a4893cd1f831ce3
|
|
Control Flow Integrity [1] indirect call checking verifies that function
pointers only call valid functions with a matching type signature. This
change eliminates function pointer casts to make libvpx CFI-safe.
[1] https://www.chromium.org/developers/testing/control-flow-integrity
Change-Id: I7e08522d195a43c88cda06fa20414426c8c4372c
|
|
|
|
(Yunqing Wang)
This patch implements the row-based multi-threading within tiles in
the encoding pass, and substantially speeds up the multi-threaded
encoder in VP9.
Speed tests at speed 1 on STDHD(using 4 tiles) set show that the
average speedups of the encoding pass(second pass in the 2-pass
encoding) is 7% while using 2 threads, 16% while using 4 threads,
85% while using 8 threads, and 116% while using 16 threads.
Change-Id: I12e41dbc171951958af9e6d098efd6e2c82827de
|
|
Change-Id: I75e4a9e0b37bd4586f26c8d6c1fa27f3f6ff1bce
|
|
Modified the encoding stage to have row level entry points with relevant
initializations and to access the token information at row level
Change-Id: Ife10e55a7c1a420ee906d711caf75002688d9e39
|
|
Re-use the tile worker threads to pack the bitstream in parallel
on a per-tile basis. Restricting this to real-time only for now
(further testing is needed to ensure this does not make 2-pass
worse in any case).
BUG=webm:1309
Change-Id: I8a80da7c5089b837d0df79a5c49d5e3022dfc8ec
|
|
This reverts commit 9e8efa5b189a5abf78b1bcbc8076893728129d1e.
this change causes ubsan warnings, failures in
vpxenc_vp9_webm_rt_multithread_tiled
BUG=webm:1309
Change-Id: I020c7be985c771bfff4b3de1afe51cc8edb980da
|
|
Re-use the tile worker threads to pack the bitstream in parallel
on a per-tile basis. Restricting this to real-time only for now
(further testing is needed to ensure this does not make 2-pass
worse in any case).
BUG=webm:1309
Change-Id: Ia2c982da56697756e12f02643f589189b3271d98
|
|
Facilitates encoding tiles in parallel.
BUG=webm:1309
Change-Id: I37aa336d47babffc8352188dc767eebdb8a99474
|
|
Facilitates encoding tiles in parallel.
BUG=webm:1309
Change-Id: I614a5a492c30b6773c30e7294cd6a6f456e02ab4
|
|
This will enable bit stream packing of each tile column in
parallel.
BUG=webm:1309
Change-Id: Ie349d8cc5825326218ffda893a50730b2e68ed34
|
|
These caused the following warning with GCC 5:
warning: logical not is only applied to the left hand side of
comparison [-Wlogical-not-parentheses]
assert(!is_compound == (cm->reference_mode == SINGLE_REFERENCE));
Change-Id: If296aabb2311ceb7d903b395c1549ef81c2cbf9b
(cherry picked from commit c6cf7a6111f6539f01a34865aaedd179a5ae062c)
|
|
Change-Id: I45d9fb4013f50766b24363a86365e8063e8954c2
|
|
Change-Id: I7217c90d5cf38c51b76759a2dc4f10070f3a40ac
|
|
Change-Id: I1ef3df0192491035728fe9d5eb25cc66dc2965de
|
|
- Avoid excessive copying
- Don't both searching if no update can possibly offer savings
- Simplify the interface
- Remove the confusing vp9_cost_upd256 macro
Change-Id: Id9d9676a361fd1203b27e930cd29c23b2813ce59
|
|
Change-Id: Ifa607dd2bb366ce09fa16dfcad3cc45a2440c185
|
|
Reduces Linux perf estimated cycle count for pack_mb_tokens on a
lossless encode on my desktop from 61858501855 to 48154040219 or from
26% of the overall profile to 21%.
Change-Id: I9ca3426d7e3272bc7f7030abda4f0d0cec87fb4a
|
|
Change-Id: I5a2abd35cb303d8f6354b3119ab95acf90405116
|
|
The name "display_*" (or "d_*") is used for non-compatible information
(that is, the cropped frame dimensions in pixels, as opposed to the
intended screen rendering surface size). Therefore, continuing to use
display_* would be confusing to end users. Instead, rename the field
to render_*, so that struct vpx_image can include it.
Change-Id: Iab8d2eae96492b71c4ea60c4bce8121cb2a1fe2d
|
|
In decoder, export (eventually) into vpx_image_t.range field. In
encoder, use oxcf->color_range to set it (same way as for
color_space).
See issue 1059.
Change-Id: Ieabbb2a785fa58cc4044bd54eee66f328f3906ce
|
|
Change-Id: I2e387a06484a06301f3cd6600c4ba2f4335b61ee
|
|
prevents redeclaration warnings;
vp8 has its own define which will be resolved in a future commit
Change-Id: Ic941fef3dd4262fcdce48b73075fe6b375f11c9c
|
|
Use system_state.h in vpx_dsp and remove unneeded includes of
vp9_systemdependent.h.
Change-Id: I92557ec6dd5aa790160b4f31fe7967db0d7ec3c4
|
|
Change-Id: I0ac7beaa160a6c2a60a019f6b8ce85e6537bed7d
|
|
changes prefix vp9_ to vpx_ for non codec specific functions and
data structures.
Change-Id: I91a21548e39bd24d2c7caaaa223ae47240bb78c8
|
|
change prefix vp9_ to vpx_ for non codec specific functions and data
structures.
Change-Id: I97c7e6422eceea99212b93f4942bc2187763a07c
|
|
Replace vp9_ in names to vpx_ as they are not codec specific.
Change-Id: I2e583aa63dee769353ada4b42417aa15c4074ebb
|
|
Change-Id: I07647c7482b9ec498fbad3a9c9901f72b2336500
|
|
Change-Id: Id27e0007a0feac821ca66bcecbf3a723305da82d
|
|
to MB_MODE_INFO_EXT. This saves 36 bytes per 8x8 area for
both the decoder and encoder. (encoder has two MODE_INFO
buffers)
Change-Id: If006abb2224acaf326df3c2be09e77e967662107
|
|
|
|
Moved the frame_type check to the tile level and stored
the prob ptr in MACROBLOCKD.
Change-Id: I10b5a4abd58213dc7610e3ade1a1583c01526842
|
|
and change name.
Change-Id: I706645cf9d9dc04f1b3b6ac80df80edb7f101854
|
|
and changed name.
Change-Id: Ie023ca66cc2c823032f58d4faeb53fd1863c94f3
|
|
vestigial. replace instances with memset() which they already were being
defined to.
Change-Id: Ie030cfaaa3e890dd92cf1a995fcb1927ba175201
|
|
(see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)
For the test clip used, the decoder performance improved by ~2%.
This is also an intermediate step towards adding back the
mode_info streams.
Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d
|
|
SEG_LVL_SKIP implies skip. This is enforced by skip = write_skip().
Change-Id: I61c79581c9c53deae36685c2bcf388cb4d8827d3
|