- Const correctness
- Refactoring
- Make variables local when possible
etc
- Remove -Wcast-qual to allow explicitly casting away const.
Change-Id: I6ecb7d345162dc08ccdd17095b0800fb3a00cf2f
In super_block_uvrd(),if is_cost_valid == 0, all return parameters,
i.e. rate, distortion, skippable, and sse, are reset.
So, should not call txfm_rd_in_plane() if is_cost_valid == 0.
Also, the bug causes av1_xform_quant() to see invalid diff signal
since av1_subtract_plane() is not called in super_block_uvrd().
Change-Id: Iaa06061e2e9aa8876b4611a54f4ae6b8d499332b
Given the largest transform size is 32x32, this commmit changes size
estiiation based on the size rounding up to 32 multiples to avoid
insufficient buffer allocations.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=36
Change-Id: I6eab09dc6acdc0f5a6bcadb918d62c4852aae21f
This commit increases the minimum size for allocated buffer for
compressed data. The old size underestimated the size needed for
small images with width or height less than 64 pixels.
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=31
Change-Id: Ia12507edc2be1e737ec49c32f64fd2ebf1eab41f
This improves the encoding speed. For bus at CIF 1000 kbps, the
encoding time (speed 0) goes down from 248000 ms to 231000 ms,
i.e., 7% speed-up.
Change-Id: Ic59b39b7eb1b6e72fdb646e22bfeddd3eff1cb71
This commit resets the transform size to be the maximum possible
value. It avoids out-of-boundary writing when the ActiveMap is
turned on.
Change-Id: I8302dd9a5c9fffaea3edf9ad33f72aa111999737
This avoids an encoding segmentation fault in speed 5, due to the
use of uninitialized dummy inter prediction filter buffer in the
dynamic motion vector referencing scheme.
Change-Id: Icd888d46623e8abf34267838135eed8656d552e4
It was used by skin detection and the denoiser both of which were
removed. The similar av1_write_yuv_rec_frame() remains for your frame
dumping needs.
Change-Id: I2d4e25367c4c3381c98134408aa5d77a52e38c1d
The difference between src and dst will be signed, the error will be
unsigned. The change quiets -fsanitize=integer:
unsigned integer overflow: 4294967295 * 4294967295
Change-Id: Ide662f26fae682309a3474243f8a5b5ccea2049e
there are sse2 equivalents for all remaining variance implementations
ported from:
eea8ea8 vpx_dsp: remove mmx variance implementations
Change-Id: I7bec89102d5e703e1235cff5007df1963c1f8aa7
This commit makes the decoder to construct the reference motion
vector candidate list only for the selected reference frames. This
improves the decoder speed. For the test clip pedestrian_area at
1080p, coded at 3000 kbps, the decoding speed goes up from 58.4 fps
to 72 fps.
Change-Id: I257c521f46221936028ae01f205520d94ba7f16e
Adds ext-tx transforms to enums.h and adds implementations
for idtx and flip functions for FLIPADST. Note that 32x32 transforms
are now included for ext-tx only.
Change-Id: I8bc98ee63f35688064a64e51eb0873c2a31f8cac
The ans writer is currently allocated in the encoder context to prevent
per frame reallocation of the reversal buffer.
Change-Id: I22602fa0890d9aad6de389a7f5eec7121a6a1f1a
In the experiment of EXT_REFS, MAX_REF_FRAMES has increased from 4
to 7, as 3 more reference frames have been added.
Change-Id: I3fec2c2078f925afe518b454e3f71afbd7379d06
For the experiment of EXT_REFS, add following functionalities to
support new references, in particular, to support the bi-directional
prediction:
(1) Add support to handle reference frame update; and
(2) And support to handle show_existing_frame == 1.
Change-Id: I74f88c098f1b8d07a63fcd53aa5ed51a8926d513
This removes the unused spatial scalability, temporal layers, and svc
parameters from the aom API. There is no code implementing these APIs,
and if it they are needed in the future, just resurrect them from this
commit. The skin_detection code is unused and won't be used.
Change-Id: I3185bad6ec58c55426953b658a12a06ed041d7cd
Handle the sub8x8 chroma component at the unit of 2x2/4x2/2x4 level
and use the motion vector inherited from the luma component. This
improves the coding performance:
lowres 0.4%
midres 0.25%
hdres 0.15%
Change-Id: I34dff4218cfa3e5d55e7ed0341f36f4719389f7e
Following supports are added in the decoder:
(1) Decoder support to show_existing_frame == 1;
(2) Decoder support to avoid the referring to non-reference frames;
(3) Decoder support to handle the case when cm->prev_frame gets retired
in the reference buffer.
Change-Id: Ibe8590da8db26e18bcf149b9f155db71636ba890
This commit makes the dynamic motion vector referencing system
support multiple backward reference frames, hence making the
two experiments work properly.
Change-Id: I7b9812a29d9e634ca4817d5d1116cd093fa74e68