Age | Commit message (Collapse) | Author |
|
This commit makes use of dual fdct32x32 versions for rate-distortion
optimization loop and encoding process, respectively. The one for
rd loop requires only 16 bits precision for intermediate steps.
The original fdct32x32 that allows higher intermediate precision (18
bits) was retained for the encoding process only.
This allows speed-up for fdct32x32 in the rd loop. No performance
loss observed.
Change-Id: I3237770e39a8f87ed17ae5513c87228533397cc3
|
|
The encoding time for bus at CIF goes from 661s to 625s. This commit
also enabled unit test of sad8x4/4x8 in sad_test.cc.
Change-Id: If3d10ebb56bda584bdb69bcf056599d580b12cb1
|
|
Change-Id: Ic6b2881d8d495269edbc514b33376ca963798b45
|
|
Change-Id: I9aac140d775b7b4a8727494d15b185b75501a546
|
|
Change-Id: I86be1f7421ed49d577cacf405f6e4b0daa85cfdc
|
|
Don't do the 15 tap filter if there aren't 8 pixels below/right of the
edge.
Change-Id: I62f16437c1d9ba59b6901a5fe71ddb2f472da344
|
|
This commit fixed the allowable partition types for bottom-right
corner blocks.
When a block has over half of its pixels as valid content in both
vertical and horizontal directions, allow all the four partition
types in the bit-stream. Otherwise, apply partition type constraints.
Change-Id: I2252e2de7125a8bfb1c824bf34299a13c81102e3
|
|
|
|
* New probs for subpel filters/tx_count
* Makes a change to not reset to defaults for the tx_size
probs if an intermediate frame reverts to using a fixed tx_size.
* A few updates to the parameters for backward adaptation for mode/mv
* some cosmetic cleanups
derf300: +0.06%
Change-Id: I22994d659bc31ca7a4fc8820fde24001e64a2920
|
|
|
|
Remove the bilinear filter mode, and the no-loopfilter mode, and the
related vp9_setup_version() function.
Change-Id: I32311367812faf37863131df3af37d63d03973d7
|
|
This commit has no impact but to help us debug issues. To Use call like
this:
vp9_print_modes_and_motion_vectors(cpi->common.mi, cpi->common.mi_rows,
cpi->common.mi_cols,
cpi->common.current_video_frame,
"decode_mi.stt");
Change-Id: I89e27725dae351370eb7f311a20a145ed4f1d041
|
|
Change-Id: I524ba98841f2e1850e3276ac365c501cea31546d
|
|
|
|
|
|
|
|
No bitstream change.
Removes unused filters and the code for the case of 2 switchable filters;
also changes the 8tap-smooth filter coefficients for integer shifts to be
interpolating to be consistent with the way it is implemented currently.
Change-Id: I96c542fd8c06f4e0df507a645976f58e6de92aae
|
|
Implements ability to signal and decode frames that are
encoded using only intra coding modes. Only the decode
side has been implemented here.
Change-Id: I53ac6a8d90422cd08ba389e5236e15b45f9e93de
|
|
A 32x32 transform should have no internal filtering (check c==4)
Change-Id: I7414cf4748ed053208217692ef00cd8b20d49a91
|
|
Change the argument of get_uv_tx_size() to be an MBMI pointer, so that the
correct column's MBMI can be passed to the function.
Change-Id: Ied6b8ec33b77cdd353119e8fd2d157811815fc98
|
|
|
|
|
|
Fixes mvref issue.
Change-Id: I07dc1b0682845bc18fe0efa6af5e4f4da3abfa3a
|
|
|
|
Fixed point scaling factors are calculated once for each
reference frame by using integer division. Otherwise fixed point
scaling routines are used in all scaling calculations. This makes it
possible to calculate fixed point scaling factors on device driver
software and pass them to hardware and thus avoid division on hardware.
TODO:
- Missing check for maximum frame dimensions
(currently scaling uses 14 bits)
- Missing check for maximum scaling ratio
(upscaling 16:1, downscaling 2:1)
Problems:
- Straightforward fixed point implementation can cause error +-1
compared to integer division (i.e. in x_step_q4). Should only
be an issue for frames larger than 16k.
Change-Id: I3cf4dabd610a4dc18da3bdb31ae244ebaf5d579c
|
|
Was always using sb_type of first column in a row of 8x8 units when
determining decoded block edges as a subcondition for loop filter
skipping.
Change-Id: Ib17554633a63a90b70cdaa7bed65db035a8ad9d8
|
|
|
|
|
|
|
|
Change-Id: Ifb1ce2bd52147981ca1aec9ec6cfea8738a23e45
|
|
|
|
|
|
|
|
|
|
It seems like I inverted the meaning of the contexts by accident?
Change-Id: Iafb2346d9933930949578342b84519b719dd5dd3
|
|
Change-Id: Iec41736c2b6140715f90f40de5ae6cf52497a9b8
|
|
Change-Id: Ice8c73a2a843113877b8f8ed78737a1442c25ced
|
|
Reduces TX_SIZE contexts to 2 for each kind. The code is
cleaner and there is hardly any performance difference with
more than two contexts.
Results: almost neutral
Change-Id: I17656bd6db76224ae2856adf882504560e7dbaa4
|
|
Change-Id: I9e81f84877e18ba7e55d66389ed60e64a5b7abcc
|
|
|
|
Use the current block's skip flag to determine edge skipping.
Change-Id: I4ba81f899286afbc3f6bb83eba2ef146a01b6fa4
|
|
Change-Id: Ic606ef1b31e49963a779455a1e010a9ebb0f3f1f
|
|
Made changes to the frame header to write the sync
code in the frame header for a non-displayable,
intra-only frame.
Extended reset_frame_context to 2-bits.
(Submitting on behalf of Dmitri)
Change-Id: Ie836ae0df9ed572fb4f08aabe9351a555c4f3b96
|
|
Adds coding of transform size within a frame by use of context
of transform sizes selected in left and above blocks.
Also incorporates code for generating stats.
TODO: generate and incorporate new default stats
Change-Id: I6a7af099f6ad61d448521d9a51167aedaf638ed6
|
|
Refactors mbskip coding to be compatible with coding of the rest of
the symbols. Adds forward/backward adaptation and removes a lot of
the legacy code.
Results:
fast50: +1.6%
derfraw300: +0.317%
Change-Id: I395a2976d15af044d3b8ded5acfa45f6f065f980
|
|
The partition types of blocks sitting on the frame boundary are
constrained by the block size and the position of each sub-block
relative to the frame. Hence we use truncated probability models
to handle the coding of such information.
100 frames run:
yt 0.138%
Change-Id: I85d9b45665c15280069c0234ea6f778af586d87d
|
|
Change-Id: I4331cfd99a717938f4f970cad81c468cbf287b00
|
|
It has a range of -255,255, so should be int16_t, not int8_t.
Change-Id: I5ef4b6aefb6212b0f35f4754f3c4d73fddbc52a0
|
|
This can only happen if partition is partly out-of-frame, in which
case the referenced mv is either out-of-frame also (and thus has the
same value as an already-read one), or it is actually uninitialized,
in which case we don't want to use it.
Change-Id: Icf39fa4d987c7abcbebb9bbdcdd6311e8fb9d3c9
|
|
Simplify feature to only support a single reference frame
instead of a mask.
Change-Id: I5dd3a98c7a224aafb35708850ab82e2f220e68fb
|