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
John Koleszar
7f7d1357a2
Merge branch 'experimental' into master
...
VP9 preview bitstream 2, commit '868ecb55a1528ca3f19286e7d1551572bf89b642'
Conflicts:
vp9/vp9_common.mk
Change-Id: I3f0f6e692c987ff24f98ceafbb86cb9cf64ad8d3
2013-04-16 06:49:46 -07:00
Scott LaVarnway
5393379c84
Merge "Removing extra params in dequant functions" into experimental
2013-04-16 06:37:00 -07:00
Dmitry Kovalev
a0d9309eab
Removing TRUE and FALSE macro definitions.
...
Using regular 0 and 1 constants now.
Change-Id: Ie763503cbb727847cc8f1d6506cd6f2ee607f056
2013-04-15 15:24:39 -07:00
Dmitry Kovalev
67d060067e
Replacing vp9_read, vp9_read_literal, vp9_read_bit macros with functions.
...
This is the first CL with vp9_reader changes. All another macro
definitions will be replaced after.
Change-Id: I1c6bd9c9a612ec1663d484d6adb4fb720af54063
2013-04-15 14:54:19 -07:00
Ronald S. Bultje
1633685725
Merge "Fix lingering x->skip settings if static_threshold is used." into experimental
2013-04-15 14:20:47 -07:00
Ronald S. Bultje
f7d43d21bd
Merge "Add rectangular block size variance/sad functions." into experimental
2013-04-15 14:20:25 -07:00
Ronald S. Bultje
6fa2480897
Merge "Make filter RD code and encode breakout variance size-independent." into experimental
2013-04-15 13:58:01 -07:00
Ronald S. Bultje
33a8df085d
Fix lingering x->skip settings if static_threshold is used.
...
Keyframes don't set this variable, so it would use the last set
values from inter frames.
Change-Id: Ie1ef45ece2c44b21b5d55f6cea9f7d6e7a445692
2013-04-15 13:39:07 -07:00
Jingning Han
aaf33d7df5
Add rectangular block size variance/sad functions.
...
With this, the RD loop properly supports rectangular blocks.
Change-Id: Iece79048fb4e84741ee1ada982da129a7bf00470
2013-04-15 13:39:07 -07:00
Ronald S. Bultje
15eac18c4e
Make filter RD code and encode breakout variance size-independent.
...
Static threshold results slightly up (+0.1% on derf), probably b/c
we now take the filter (sharp/lowpass) into account for the breakout
decision.
Change-Id: I9f597601da434205142afd05f32690e7ba8fd690
2013-04-15 13:38:35 -07:00
Johann
6c3f06a4d7
Include RTCD header in encodeframe.c
...
The file uses functions defined in vp8_rtcd.h but did not include the
header.
Change-Id: I110196ddc9181e533be1fe656e21c1791cabe226
2013-04-15 12:23:41 -07:00
Dmitry Kovalev
fd61b7ea10
Adding mv_joint_vertical and mv_joint_horizontal functions.
...
Change-Id: Ieaec2c48f3752b8558ba051caaf4ba2ab0e9e84d
2013-04-15 12:07:26 -07:00
Dmitry Kovalev
b800ec1772
Merge "Motion vector decoder cleanup." into experimental
2013-04-15 11:28:52 -07:00
Dmitry Kovalev
64de375e1f
Code cleanup inside vp9_reconintra4x4.c file.
...
Using ROUND_POWER_OF_TWO macro, using array initialization syntax for
less code.
Change-Id: I661453a6b29a9046fcff0a3f18fccb452b5eb39d
2013-04-15 11:15:56 -07:00
Scott LaVarnway
74610b1ae4
Removing extra params in dequant functions
...
Now that the predictor is the dest, we do not need the
extra parameters.
Change-Id: I78db73d39b5aff62f15303f3d51ad2797eae74b6
2013-04-15 13:43:11 -04:00
Yaowu Xu
757e138a3b
Merge "Reorder enum i4X4 predcition modes" into experimental
2013-04-15 10:37:37 -07:00
Ronald S. Bultje
fed62e047b
Merge "Fix width/height switch-up in U/V SB quantize code." into experimental
2013-04-15 10:27:22 -07:00
Ronald S. Bultje
04956a6113
Merge "Removed unused structs in vp9_onyx_int.h." into experimental
2013-04-15 10:27:10 -07:00
Ronald S. Bultje
f551c2d1c0
Fix width/height switch-up in U/V SB quantize code.
...
Change-Id: I697514efd6024e1b4153bbde58ae5e323b030981
2013-04-15 09:58:27 -07:00
Ronald S. Bultje
aa53ae0591
Removed unused structs in vp9_onyx_int.h.
...
Change-Id: I1f2dbf04a0140a7cc2060b0a9efb4ed8e5270d3d
2013-04-15 09:58:27 -07:00
Adrian Grange
4ee671a15c
Merge "Initial addition of multiple ARF frames" into experimental
2013-04-15 09:46:16 -07:00
Adrian Grange
c2876cf0fd
Initial addition of multiple ARF frames
...
This is work-in-progress, it implements multiple ARF
encoding behind an experimental flag.
It adds the ability to insert multiple ARF frames into a
single ARF group. This patch implements the reordering
of the coded frames, and implements a fixed-length coding
pattern. It applies a fixed quantizer strategy based on
where the frame is in the coding sequence.
Further work to modify the rate control strategy is
ongoing and will be submitted via a set of future patches.
In this first step, each ARF group is recursively
bisected and an ARF frame added at that position in the
sequence. The recursion continues until ARF frames are
within MIN_GF_INTERVAL frames.
The code sits behind the "multiple-arf" experimental
flag ("CONFIG_MULTIPLE_ARF"). The experimental flag
"oneshotq" ("CONFIG_ONESHOTQ") also needs to be enabled
for this patch to work correctly.
Change-Id: Ie473b05ebb43ac473c0cfb659b2b8042823085e2
2013-04-15 09:11:39 -07:00
Dmitry Kovalev
8ae091823d
Merge "Encoder code cleanup." into experimental
2013-04-14 10:58:44 -07:00