Commit Graph

4582 Commits

Author SHA1 Message Date
Frank Galligan
2bb8ecad02 libvpx: Fix vp9 clang build.
- UNINITIALIZED_IS_SAFE Macro triggers a warning in Clang for
  structs.

Change-Id: Ib02c82f1fede7826564e17ccb7171c6fb18b8e44
2013-04-17 15:46:12 -07:00
Yunqing Wang
373389610d Remove skip_recon_sb
Removed skip_recon_sb(). Cleanup code so that we could combine
decode_sb and decode_mb later.

Change-Id: I24d1dd5283e2565072838a03c344938b88bfd35c
2013-04-17 15:34:50 -07:00
John Koleszar
ff3f93639c Use BLOCK_SIZE_TYPE in foreach_ walker
Change-Id: I655305c9e22bdd9abc893d3c40d4bc6616aa1d35
2013-04-17 15:08:37 -07:00
Yaowu Xu
acfc5981c3 Merge "clean out experiments" into experimental 2013-04-17 14:53:00 -07:00
Yaowu Xu
c8606a241f Merge "make lf_deltas dependent on filter_lvl" into experimental 2013-04-17 14:51:55 -07:00
Adrian Grange
3f2b254c38 Merge "Make alt_extra_bits a local variable" into experimental 2013-04-17 14:50:39 -07:00
Ronald S. Bultje
1cf31428ff Merge "Remove unused file vp9_context.c." into experimental 2013-04-17 13:49:48 -07:00
Dmitry Kovalev
27533fa245 Transforming decode_sb_row to decode_tile function.
Also moving frame size check into read_frame_size function.

Change-Id: Ib098d83bd50081bfc2941c87aea0dc58cb39583e
2013-04-17 13:42:51 -07:00
Ronald S. Bultje
0a20625bd8 Remove unused file vp9_context.c.
Change-Id: Id268ccaf1aefee6a3ed3e31486d4370f1c25e8cb
2013-04-17 13:40:31 -07:00
Dmitry Kovalev
db015c8390 Moving functions from vp9_dboolhuff.c to vp9_decodframe.c.
List of moved functions: vp9_decode_uniform, vp9_decode_term_subexp,
vo9_inv_recenter_nonneg, vp9_decode_unsigned_max.

Change-Id: Ib518beb90b791690c5c93de17b8bdbf560033b41
2013-04-17 12:14:27 -07:00
Dmitry Kovalev
ecff8d71ab Adding DEFAULT_PRED_PROB_{0, 1, 2} constants.
Also using ALLOWED_REFS_PER_FRAME instead of 3.

Change-Id: I810dd8521d8138edb9dbd78edede49b62f706554
2013-04-17 11:45:35 -07:00
Ronald S. Bultje
88192546cf Merge "Remove BLOCK_SIZE_LG2." into experimental 2013-04-17 11:22:44 -07:00
Ronald S. Bultje
0bb49c4e30 Merge "Add SSE2 versions for rectangular sad and sad4d functions." into experimental 2013-04-17 11:22:32 -07:00
Dmitry Kovalev
0db175ffed Changing argument type of vp9_get_mv_joint from MV to MV*.
Change-Id: I28c3026946fc1bde7074e6e0198da93bb0d75dfe
2013-04-17 11:21:28 -07:00
Yaowu Xu
642ac924ab Merge "replace hev_thr_lut[][] with simpler logic" into experimental 2013-04-17 11:08:36 -07:00
Adrian Grange
a4c0b3531e Make alt_extra_bits a local variable
alt_extra_bits is now only used in a local context so
remove it from the twopass_rc structure.

Change-Id: I5bbf0a3dba9712a3da45760f7bb865243705b53e
2013-04-17 11:07:12 -07:00
Yaowu Xu
421ad3f1b1 clean out experiments
that are related to using reconstructed pixel for selecting reference
motion vectors.

Change-Id: I048dfae39ca7385e344b57d46347ecc6e753e1bb
2013-04-17 11:00:46 -07:00
Ronald S. Bultje
213fe85da3 Remove BLOCK_SIZE_LG2.
It is unused.

Change-Id: Ied3269ffacf9b6303bc9d85f996384c3575ef812
2013-04-17 11:00:30 -07:00
Yaowu Xu
888d0c82da make lf_deltas dependent on filter_lvl
Change-Id: Idb0d11e3ae9afabe667a9f327bf4d3aa84f63649
2013-04-17 10:59:48 -07:00
Yaowu Xu
0d310de97b replace hev_thr_lut[][] with simpler logic
Using filter_level/16 instead.

Change-Id: I73a7e83a785d6aa6f9b5d22cf66e22f0a39ed078
2013-04-17 10:54:30 -07:00
Johann
3810bca9a9 Fix Android ndk-build
Add the config directory to the rtcd generation script. libvpx is
configured in the jni directory but ndk-build is intended to be run from
the next directory up. Currently it needs to be run from the jni
directory but this is being looked in to.

Add a trailing slash to allow the variable to be empty.

Reduce offset generation to the files which are actually used.

Change-Id: Ia84fac37e8998ba647423d0ee45fc66a891ce10c
2013-04-17 10:52:50 -07:00
Ronald S. Bultje
c17c440233 Merge "Fairly basic integration of rectangular blocks in encoding RD loop." into experimental 2013-04-17 10:46:45 -07:00
Yaowu Xu
e3c4016099 Merge "Change to do LPF in SB64 order" into experimental 2013-04-17 10:37:20 -07:00
Ronald S. Bultje
0c481f4d18 Add SSE2 versions for rectangular sad and sad4d functions.
About 11% overall encoder speedup with the sbsegment experiment enabled.

Change-Id: Iffb1bdba6932d9f11a6c791cda8697ccf9327183
2013-04-17 10:31:59 -07:00
Yaowu Xu
cb3192b72c Change to do LPF in SB64 order
Change-Id: I41b3f5932ecd6256e8207369ad19aa81e7987be1
2013-04-17 10:15:02 -07:00
Johann
fc37c2198d Merge "Include RTCD header in encodeframe.c" 2013-04-17 10:14:30 -07:00
Adrian Grange
adf285f6c1 Merge "Move configure_arnr_filter function" into experimental 2013-04-17 10:12:31 -07:00
Adrian Grange
cbd6eaa924 Merge "Fixed overflow test on boost calculation" into experimental 2013-04-17 10:12:15 -07:00
Ronald S. Bultje
e693472236 Fairly basic integration of rectangular blocks in encoding RD loop.
Adds RD integration for 32x16, 16x32, 64x32 and 32x64 rectangular blocks.
Derf almost +0.6%, HD a little over +1.0%, STDHD +1.3%.

Change-Id: Id651fdb6a655fdbb5c47009757e63317acfb88a5
2013-04-17 09:25:06 -07:00
Jim Bankoski
cb044e6d9a Merge "set up a speed 1" 2013-04-17 06:33:42 -07:00
Jingning Han
90a91cc683 Recursive partition syntax coding
Enable recursive partition information coding from SB64X64 down to
MB16X16. The bit-stream syntax is now supporting rectangular block
sizes. It starts from SB64X64 and recursively describes the partition
type of the current block. If the partition type is PARTITION_NONE,
the block is coded as a single unit; if it is PARTITION_HORZ or
PARTITION_VERT, the block is segmented into two independently coded
rectangular units, with no further partition needed; otherwise, the
block is segmented into 4 square blocks. i.e., PARTITION_SPLIT case,
each can be potentially further partitioned.

Forward adaptive probability modeling is used for the partition
information coding, conditioned on the current block size.

Change-Id: I499365fb547839d555498e3bcc0387d8a3587d87
2013-04-16 18:41:26 -07:00
Dmitry Kovalev
0e65e08e27 Merge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv." into experimental 2013-04-16 18:27:35 -07:00
Dmitry Kovalev
c3a312ea22 Merge "Adding vp9_write_prob function (macro for now)." into experimental 2013-04-16 18:22:21 -07:00
Dmitry Kovalev
1db8fa5280 Replacing BOOL_DECODER with vp9_reader inside vp9_decodemv.
Also a little bit of code cleanup: replacing pbi->common with cm,
pbi->mb with xd.

Change-Id: I2f70a005704a2833d644dfaafc4cd354e6e8532b
2013-04-16 17:45:57 -07:00
John Koleszar
6c1a3b42c4 Merge "Adding write_le16 and write_le32 functions." into experimental 2013-04-16 17:45:48 -07:00
Ronald S. Bultje
c0a1b5bc7e Merge "Slightly hackish workaround to support rectangles in directional intra predictors." into experimental 2013-04-16 17:05:20 -07:00
Christian Duvivier
5b6d33f9af Faster vp9_short_fdct4x4 and vp9_short_fdct8x4.
Scalar path is about 1.3x faster (2.1% overall encoder speedup).
SSE2 path is about 5.0x faster (8.4% overall encoder speedup).

Change-Id: I360d167b5ad6f387bba00406129323e2fe6e7dda
2013-04-16 16:38:30 -07:00
Jim Bankoski
6be7b00e01 Merge "Faster vp9_short_fdct4x4 and vp9_short_fdct8x4." into experimental 2013-04-16 16:33:43 -07:00
Dmitry Kovalev
0be8082be1 Adding write_le16 and write_le32 functions.
Change-Id: I7057ed8e2a13a3c5367e2923eb4b3260bd7cf546
2013-04-16 16:26:25 -07:00
Dmitry Kovalev
ef4d9a4843 Adding vp9_write_prob function (macro for now).
Change-Id: Ic795cf6fc202bf32c9b5b0b3cef9ac422af53cd0
2013-04-16 16:23:17 -07:00
Christian Duvivier
f13b69d07c Faster vp9_short_fdct4x4 and vp9_short_fdct8x4.
Scalar path is about 1.3x faster (2.1% overall encoder speedup).
SSE2 path is about 5.0x faster (8.4% overall encoder speedup).

Change-Id: I360d167b5ad6f387bba00406129323e2fe6e7dda
2013-04-16 16:11:56 -07:00
Adrian Grange
9b84d11356 Move configure_arnr_filter function
This function is now called from configures the ARNR
filter so it belongs with the other temporal filter
functions.

Change-Id: I64211875918364b5b8edfb97743e573c6def1663
2013-04-16 15:58:27 -07:00
Dmitry Kovalev
9087d6d470 Replacing VP9_COMBINEENTROPYCONTEXTS macro with function.
Change-Id: I3bbc31840af69481e1d9bb4427c9ee25abf82946
2013-04-16 15:30:28 -07:00
Adrian Grange
82bbb23010 Fixed overflow test on boost calculation
Normalization of the frame boost value was being done
when it reached the value 1028. The intention was to
keep to a range of 10 bits, so it should have been
clipped above 1023.

Change-Id: I0afdddc1d2eb9e7822ec4578903cbe6ec0b33b91
2013-04-16 15:12:20 -07:00
Dmitry Kovalev
1ad7c1f250 Renaming y1dc_delta_q, uvdc_delta_q, uvac_delta_q fields from VP9Common.
New names are y_dc_delta_q, uv_dc_delta_q, uv_ac_delta_q.

Change-Id: I4acae1fc23a4697ce2c5a5becb8dc28ef0a4b552
2013-04-16 15:05:52 -07:00
Jim Bankoski
94649bc0ef set up a speed 1
slightly worse results for faster encodes

Change-Id: Ic5b38fcde7a2e334c4724e125b558bcb97783af6
2013-04-16 14:49:30 -07:00
Ronald S. Bultje
94996b9d26 Slightly hackish workaround to support rectangles in directional intra predictors.
Change-Id: I8a4da6925f2d58a426c4d122df8b97bb69452e49
2013-04-16 14:33:03 -07:00
Dmitry Kovalev
07cde4fdc8 Merge "Moving tx_type == DCT_DCT checks inside iht_add functions." into experimental 2013-04-16 14:18:37 -07:00
John Koleszar
e3cfe4e89e Remove the mb_no_coeff_skip flag
This flag was added to VP8 to allow a mode where MB-level skipping
was not allowed, saving a bit per mb. It was never used in practice,
and hasn't been tested in VP9, so remove it.

Change-Id: Id450ec6904c6d06c1919508e7efc52d05cde5631
2013-04-16 12:36:16 -07:00
Dmitry Kovalev
3609856ac5 Moving tx_type == DCT_DCT checks inside iht_add functions.
tx_type == DCT_DCT check is an implementation detail of iht_add. Also
adding dequant_add_y function with explicit DCT_DCT check inside.

Change-Id: Ia3cb0225601752cdef0ff6f0acd3a09d9dbd8938
2013-04-16 11:02:57 -07:00