Age | Commit message (Collapse) | Author |
|
Facilitates encoding tiles in parallel.
BUG=webm:1309
Change-Id: I614a5a492c30b6773c30e7294cd6a6f456e02ab4
|
|
The vp9_mv_class0_tree is a balanced tree with two leafs and can
simply be coded as a boolean with probability class0[0].
Change-Id: If294dac825a5f945371092c74aa8e3f84cd962b6
(cherry picked from commit be8a8ab62ebdd111c6f2e9a33b15630570671eba)
|
|
Change-Id: I45d9fb4013f50766b24363a86365e8063e8954c2
|
|
Saves 1% CPU on remoting_perftest with speed 8.
Change-Id: I28dc2f602bd3bf5639a40c9f21f5a9833f01d4be
|
|
|
|
Change-Id: Ifa607dd2bb366ce09fa16dfcad3cc45a2440c185
|
|
This is a pure-refactor in preparation to potentially raise the bit-cost
resolution.
Verified at good speed 0 and rt speed -6.
Change-Id: I5347e6e8c28a9ad9dd0aae1d76a3d0f3c2335bb9
|
|
Change-Id: Ib275bfc4c29c572d6c70e5ec6dbfc241590d3e3e
|
|
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
|
|
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
|
|
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
|
|
silences missing prototype warnings
Change-Id: Idaf68d83d2cb03847f3ee002c4d00c2ac79da604
|
|
(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
|
|
This patch modified struct VP9_COMP. Created a struct ThreadData
to include data that need to be copied for each thread. In
multiple thread case, one thread processes one tile. all threads
share one copy of VP9_COMP,
(refer to VP9_COMP *cpi in the code)
but each thread has its own copy of ThreadData,
(refer to ThreadData *td in the code).
Therefore, within the scope of encode_tiles(), both cpi and td
need to be passed as function parameters.
In single thread case, the FRAME_COUNTS pointer in ThreadData
points to "counts" in VP9_COMMON.
Change-Id: Ib37908b2d8e2c0f4f9c18f38017df5ce60e8b13e
|
|
This patch allocated frame contexts outside VP9_COMMON. This allows
multiple threads to share the same copy of frame contexts, and
reduces the overhead. It also guarantees the correct update of
these contexts during bitstream packing. This patch doesn't change
encoding result.
Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
|
|
mi_grid_* are arrays of pointer to pointer. They save the pointers that point
to the MIs in cm->mi. But they are unnecessary and complicated. The original
goal was to remove MODE_INFO_t copy. But with an extra MODE_INFO_t pointer
inside MODE_INFO_t, same goal could be achieved.
This commit totally removes the mi_grid_* structures. But there are still
many dummy MODE_INFO_t inside cm->mi which are a waste of memory. Next commit
will do on-demand MODE_INFO_t allocation in order to save these memories.
Change-Id: I3a05cf1610679fed26e0b2eadd315a9ae91afdd6
|
|
Change-Id: I571ce84c97087f8a1a36a10058393bfdcefbf72a
|
|
Moving all motion vector related speed parameters from SPEED_FEATURES to
MV_SPEED_FEATURES.
Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e
|
|
Renames:
mi_8x8 -> mi
mode_info_stride -> mi_stride
Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
|
|
Change-Id: I512482853bdf2695fbdf1c705a2ada354ccf76cf
|
|
Change-Id: Ib8c41829a4b5a618b6bda24d9b7df2d491d0fca0
|
|
|
|
Change-Id: If90c1bc822873156d4e38fca1938e4907f6c95f0
|
|
Change-Id: I7f3bcca103f0b1f6b3c064b61472543de9a8288a
|
|
Change-Id: I89c37b739493c79044f8c70ae2424aa074eb56c8
|
|
This function is already called in vp9_initialize_rd_consts().
Change-Id: I88c0484a7274660287fa25fdf5cdb721d3284e01
|
|
This reverts commit 36406fdb07dfe08df1d49abe36dbf27469e42213.
Change-Id: I0bd31d03ce2a562d0624f2cd67593d0d25df4a54
|
|
Change-Id: I597645a15fff2d3a1104861a5c90f64394952e0b
|
|
Change-Id: If7d3958653104f3e170853e931f8489de3ecf3cc
|
|
|
|
Change-Id: Iadf2fcc9a5bfa5d02fc166f31963be1cc814831c
|
|
Making name consistent with vp9_read_tree().
Change-Id: Ie213ffe0d5345bf3035f28e17f610894fec79205
|
|
Moved arrays:
vp9_mv_joint_encodings
vp9_mv_class_encodings
vp9_mv_class0_encodings
vp9_mv_fp_encodings
Change-Id: Iaf5008c579fcbd6d77fdd81d1aef8c71b5f308b7
|
|
Change-Id: I9af38f1a0e226ee094c17081f044a722ac1caded
|
|
|
|
Change-Id: I98d750ee92ff51fb714980418ea28be3b1d0f3c6
|
|
Change-Id: I94cb9e3d910dff74bf90906dd96e3a4e06ebdbe6
|
|
Change-Id: Ifad4b0e6355ce49fcc6f470becc080e8069452ee
|
|
Removing special case handling from vp9_tree_probs_from_distribution(),
tree_merge_probs(), and vp9_tokens_from_tree_offset() functions. Replacing
inter_mode_offset() function with macro INTER_OFFSET which is used now for
vp9_inter_mode_tree definition.
Change-Id: Iff75a1499d460beb949ece543389c8754deaf178
|
|
We don't have to calculate 'new' probability in convert_distribution()
because it is enough to calculate only 'new' counters which could be used
to calculate probability if necessary. That's why removing a lot of unused
temporary probability arrays and reducing number of get_binary_prob()
calls.
Change-Id: I4e14eb7203d1ace61bbddefd6b9b6326be83ba63
|
|
Use b_mode_info to store the inter prediction mode of sub8x8 block,
in replacement of the use of partition_info. Remove redundant buffer
update for partition_info. For bus_cif at 2000 kbps, this seem to make
speed 0 about 1% faster.
Change-Id: Id1b3be45e75a24fb4b42335ac480c23e440978f6
|
|
Change-Id: Icda1d2d7cbfb176884fa6c7d9366a2d60e2994e9
|
|
Using best_mv[2] array instead of two separate variables.
Change-Id: Iefa0a41f5c42c42f2c66cef26750da68405f0f25
|
|
mode_info_context was stored as a grid of MODE_INFO structs.
The grid now constists of pointers to MODE_INFO structs. The
MODE_INFO structs are now stored as a stream (decoder only),
eliminating unnecessary copies and is a little more cache
friendly.
Change-Id: I031d376284c6eb98a38ad5595b797f048a6cfc0d
|
|
This reverts commit dae17734ece414091ba1184f7becd0aa6c0004f1
Encode crashes, leaks and increases integer overflow errors.
Change-Id: I595aa2649bb8d0b6552ff91652837a74c103fda2
|
|
mode_info_context was stored as a grid of MODE_INFO structs.
The grid now constists of a pointer to a MODE_INFO struct and
a "in the image" flag. The MODE_INFO structs are now stored
as a stream, eliminating unnecessary copies and is a little
more cache friendly.
For the test clips used, the decoder performance improved
by ~4.3% (1080p) and ~9.7% (720p).
Patch Set 2: Re-encoded clips with latest. Now ~1.7% (1080p)
and 5.9% (720p).
Change-Id: I846f29e88610fce2523ca697a9a9ef2a182e9256
|