Граф коммитов

15245 Коммитов

Автор SHA1 Сообщение Дата
Urvang Joshi c27fccccdf Code cleanup: mainly rd_pick_partition and methods called from there.
- Const correctness
- Refactoring
- Make variables local when possible
etc
- Remove -Wcast-qual to allow explicitly casting away const.

Change-Id: I6ecb7d345162dc08ccdd17095b0800fb3a00cf2f
2016-07-13 08:42:29 -07:00
Yushin Cho b910c0bd73 Bug fix in super_block_uvrd().
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
2016-07-13 06:28:03 +00:00
Yaowu Xu 7c0f641059 Clang-foramt: av1/av1_cx_iface.c
Change-Id: Ia149f7cc1d9a8a2289bdb65040992a9b4c234c73
2016-07-12 18:33:19 -07:00
Yaowu Xu 8a8b770790 Correct data size estimation for odd size video
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
2016-07-12 12:00:16 -07:00
hui su dbcdeeb4b0 Fix bugs in av1_has_right() and av1_has_bottom()
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=29

Change-Id: Iac2822a7c5c64de1ad7fc6ee0efb4fcca3aacbc1
2016-07-12 16:57:24 +00:00
Yaowu Xu f627a31d84 Prevent divide by 0
BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=34

Change-Id: Idbcc5cf52d55b69ab0bb933828cfc88b79d9d04e
2016-07-12 16:55:52 +00:00
Urvang Joshi df9c9d6d4c Include fix: use aom_integer.h
Change-Id: I98919a04bead417379e555461f67978501f922e7
2016-07-11 15:51:21 -07:00
Yaowu Xu d23559f29c Increase min size of compressed data
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
2016-07-11 22:08:58 +00:00
Jingning Han daf841b4a1 Remove redundant transform size selection stage
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
2016-07-11 11:28:24 -07:00
Jingning Han 5027415dd7 Avoid the use of uninitialized value in ActiveMap encoding route
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
2016-07-11 11:28:20 -07:00
Urvang Joshi ebeb1155d4 Add compiler flag -Wsign-compare
Also, fix the warnings generated by this flag.

Change-Id: I1dc6e61caa5d56af4a55b6692ab620bb3144652a
2016-07-11 09:43:19 -07:00
Urvang Joshi cf9dcac380 gitignore fix for a couple of files.
These files are generated when certain experimental flags are on.

Change-Id: I5d3514e6e2f73b5bd11e549a04bd80d91fabf63d
2016-07-08 16:10:12 -07:00
Urvang Joshi bf6c636f96 Bugfix: fix the build for CONFIG_FP_MB_STATS
Change-Id: I1898f1a90fe38c9abd7fcfa819e2d28a0da1d44b
2016-07-08 10:55:35 -07:00
Urvang Joshi 407c1d8acf Bugfix: rename a leftover CONFIG_VP9_HIGHBITDEPTH
Change-Id: I14e66bb18959a3d78d8befb9858c192901e0406b
2016-07-08 10:45:34 -07:00
Yaowu Xu 2cdb1ac464 clang-format: av1/common/thread_common.c
Change-Id: I77acd96bf3115275c433a9b0810d9037e29548a2
2016-07-08 10:13:19 -07:00
Yaowu Xu 2e109d8bea Clear segment counter at beginning
This fixes an encoder/decoder mismatch for aq-mode when configure with
--enable-misc-fixes.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=24

Change-Id: I96d77d6556930837adf8f3f21cfa4d80f2ddfd15
2016-07-08 10:04:24 -07:00
Yaowu Xu 30ed2ac204 Fix crashes when configured with --enable-misc-fixes
1. fix a missing tx_type initialization
2. Correct total size computation

BUG=aomedia:25

Change-Id: Ia5919c328ce92c1aacca6e5564ec5187ef189107
2016-07-07 14:11:30 -07:00
Ryan Lei 42ff3881ac check in the final code implementation for parallel deblocking proposal from Intel. code changes have been reviewed and approved.
Change-Id: I4a3cdb939b7b96a3aa27f6a00da7a0e73222f3f3
2016-07-06 18:02:07 -07:00
Jingning Han 8234d97a40 Use the actual inter prediction filter buffer in DRL
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
2016-07-05 17:45:50 +00:00
Jingning Han 5addbe72e2 Regulate effective motion vector in DRL mode search
This resolves unit test failure at speed 2, where the compound
motion search is short-cut.

Change-Id: I0b4d8e4eca4c1e76bab54cc0c106b64425712989
2016-07-05 17:24:23 +00:00
James Zern 33901417f1 av1/convolve.[hc],av1_convolve_test: add missing copyright
Change-Id: I4f9aaff7d52dfd8654ed04e0a0709c383140c372
2016-06-30 19:28:25 -07:00
Alex Converse 31c483fb67 Remove dead function: av1_write_yuv_frame_420()
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
2016-06-30 16:21:07 +00:00
Yaowu Xu 02ef9a4e30 fdct4x4_test: fix unsigned overflow
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
2016-06-30 01:39:36 +00:00
Sarah Parker 215c164966 Refactor fwd txfm functions into their own file
Similar to the refactoring that was found in
commit 96baa73ed9

Change-Id: I9191299c0055fcdc46e5de85a5de387862b070da
2016-06-29 16:30:21 -07:00
Alex Converse 2805d27443 Use remove some magic numbers in aom_rans_merge_prob8_pdf.
Change-Id: I0cefae17642d7adf1b9bd637ecb81b437629aa0c
2016-06-28 16:08:38 -07:00
Alex Converse e7a1d05be8 Use divide by multiply in the ans writer.
Change-Id: Ide4e9b3a605571ec41c265347217e103df8d0821
2016-06-28 13:54:38 -07:00
James Zern 4a71b0b5ac aom_dsp: remove mmx variance implementations
there are sse2 equivalents for all remaining variance implementations

ported from:
eea8ea8 vpx_dsp: remove mmx variance implementations

Change-Id: I7bec89102d5e703e1235cff5007df1963c1f8aa7
2016-06-28 02:16:30 +00:00
Angie Chiang 80347995e9 Avoid transfer interp_filter type when there is no sub-pixel
PSNR improvement:
lowres: 0.112% on top of ext_interp experiment

Change-Id: I86e5a942c22bb0cdca6e86523f95b196ee85ca46
2016-06-27 19:04:26 -07:00
Jingning Han cf3eb03e75 Construct ref mv candidate list selectively
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
2016-06-28 00:51:27 +00:00
Yue Chen d3b596a7f7 Fix a few compiling errors in MOTION_VAR and EXT_REFS
Due to
(1) refactoring for write_compressed_header()
    https://aomedia-review.googlesource.com/#/c/1740/7
(2) refactoring for handle_inter_mode()
    https://aomedia-review.googlesource.com/#/c/1654/

Change-Id: I2dada5c2845bff23437c7e621ed1c7e633d87a04
2016-06-27 15:42:21 -07:00
Yaowu Xu c906a0c1c9 replace uint32_t with int for diff
since it can be negative.

Change-Id: I06dded80159821ef6f117fe8b49e31f216033a93
2016-06-27 21:46:02 +00:00
Yaowu Xu fadc98020d encoder/temporal_filter.c: fix ubsan warnings
Change-Id: I30fa12202f29524984647d97ca363cb40bc68208
2016-06-27 21:45:46 +00:00
Yaowu Xu 59247b90a6 ethread_test.cc: replace FramePktHook w/DecompressedFrameHook
This ported changes from libvpx to avoid crash when decoder is not
available.

Change-Id: I853d677ceb1b79354e80c83df34c56e3d5eb0acf
2016-06-27 19:18:20 +00:00
Sarah Parker 61e7c57160 Add IDTX and FLIPADST tx functions for EXT_TX
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
2016-06-27 10:49:09 -07:00
Alex Converse 6b7ef9e9b1 Use uABS instead of duck bool in the ANS experiment.
Change-Id: I3ba5f7061f7a76a76e5c906132f33d4110a0dd87
2016-06-24 23:08:14 +00:00
Alex Converse 642f193f91 Refactor write_compressed_header in preparation for ans.
The ans writer is currently allocated in the encoder context to prevent
per frame reallocation of the reversal buffer. 

Change-Id: I22602fa0890d9aad6de389a7f5eec7121a6a1f1a
2016-06-24 23:08:07 +00:00
Zoe Liu ad70cc5717 Remove hard-coded number for EXT_REFS
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
2016-06-24 14:12:46 -07:00
Zoe Liu 0dbac9fcb0 Add encoder support to new references in EXT_REFS
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
2016-06-24 17:34:37 +00:00
Brennan Shacklett 0a9b36b9d7 Remove unused APIs and skin_detection dead code
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
2016-06-24 09:26:00 -07:00
Brennan Shacklett 19402574a0 Fix upsampling buffer management to work with --auto-alt-ref=2
Change-Id: If1700f2fd7215a7ac487695ca3a911a9ac0469ac
2016-06-24 01:06:15 +00:00
Jingning Han be3290332f Sub8x8 block chroma component inter prediction
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
2016-06-24 00:16:54 +00:00
Zoe Liu e9147214e5 Add decoder support for bi-direct prediction in EXT_REFS
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
2016-06-23 21:24:58 +00:00
Jingning Han 76fb5dffc7 Add sub8x8_mc experimental flag
Change-Id: Ifcc329df240c0771172180933a6180b21fd31abe
2016-06-23 09:45:20 -07:00
hui su afb2fb54c2 ext-intra: add support for high-bitdepth
lowres 0.6%

Change-Id: Id77b1822ef44362235efd1df77413abba6311d92
2016-06-23 00:53:06 +00:00
hui su f85676adb2 Remove a duplicated line
Change-Id: Ie136621f273dab9000abc686598b1b3fd0eea631
2016-06-22 14:57:49 -07:00
Alex Converse 25aaf40bbc Add a buffered ans coder
Change-Id: Iba36fc5f7af62ebef9637da58b6b6400124ef646
2016-06-22 18:11:36 +00:00
Alex Converse d311d02da5 Add an ANS unit test
Change-Id: If423eeb3da552066cceb88227138ea61d6a20f07
2016-06-22 18:11:18 +00:00
Alex Converse 87073de569 Add uABS and rANS reader and writer.
Change-Id: Ia3592c726c3fdad1310d4be9ee8691d9998614ad
2016-06-22 18:11:05 +00:00
Yushin Cho 5365e6e622 Remove macroblock::skip_optimize.
This is not used since the commint 00cd5de536,
"Remove skip_recode speed feature".

Change-Id: Ic03da6c0095f6285a3889d5d22e8aaa2e6cbfd79
2016-06-22 17:08:05 +00:00
Jingning Han 205a239c73 Make dynamic motion vector referencing support multiple bwd refs
This commit makes the dynamic motion vector referencing system
support multiple backward reference frames, hence making the
two experiments work properly.

Change-Id: I7b9812a29d9e634ca4817d5d1116cd093fa74e68
2016-06-22 09:34:14 -07:00