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

4674 Коммитов

Автор SHA1 Сообщение Дата
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
Dmitry Kovalev 5953a98631 Merge "Code cleanup inside vp9_reconintra4x4.c file." into experimental 2013-04-16 10:24:32 -07:00
Dmitry Kovalev b30182c733 Merge "Adding mv_joint_vertical and mv_joint_horizontal functions." into experimental 2013-04-16 10:24:01 -07:00
Yunqing Wang e87c7f0930 Merge "Optimize the scaling calculation" into experimental 2013-04-16 09:14:22 -07:00
Scott LaVarnway 466f395148 Merge "Removing extra params from x_add_residual() functions" into experimental 2013-04-16 08:58:28 -07:00
Yunqing Wang 148eb803bb Optimize the scaling calculation
In decoder, the scaling calculation, such as (mv * x_num / x_den),
is fairly time-consuming. In this patch, we check if the scaling
happens or not at frame level, and then decide which function to
call to skip scaling calculation when no scaling is needed. Tests
showed a 3% decoder performance gain.

Change-Id: I270901dd0331048e50368cfd51ce273dd82b8733
2013-04-16 08:52:40 -07:00
John Koleszar e9c2bb0816 Merge "Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions." into experimental 2013-04-16 07:00:40 -07:00
Scott LaVarnway 6f95d53e37 Removing extra params from x_add_residual() functions
Now that the predictor is the dest, we do not need the
extra parameters.

Change-Id: I31e2c3d2015f4a1cd12e7f04536d8db478582a0a
2013-04-16 09:59:01 -04:00
John Koleszar 4054ff5da5 Merge "Removing TRUE and FALSE macro definitions." into experimental 2013-04-16 06:55:13 -07:00