Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Guillaume Martres
aom-rav1e
Commits
030e268a
Commit
030e268a
authored
Nov 29, 2012
by
Jim Bankoski
Browse files
ihtllm moves to rtcd
clears up some warnings Change-Id: I9899637497c6ad7519f098e055ab98580ae6d688
parent
e69b5258
Changes
7
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_findnearmv.c
View file @
030e268a
...
...
@@ -136,7 +136,9 @@ void vp9_find_best_ref_mvs(MACROBLOCKD *xd,
unsigned
char
*
above_ref
;
unsigned
char
*
left_ref
;
unsigned
int
score
;
#if CONFIG_SUBPELREFMV
unsigned
int
sse
;
#endif
unsigned
int
ref_scores
[
MAX_MV_REFS
]
=
{
0
};
int_mv
sorted_mvs
[
MAX_MV_REFS
];
int
zero_seen
=
FALSE
;
...
...
vp9/common/vp9_idctllm.c
View file @
030e268a
...
...
@@ -279,14 +279,6 @@ static const int16_t iadst_i16[256] = {
3936
,
-
3526
,
3084
,
-
2614
,
2120
,
-
1607
,
1080
,
-
542
};
/* For test */
#define TEST_INT 1
#if TEST_INT
#define vp9_ihtllm_int_c vp9_ihtllm_c
#else
#define vp9_ihtllm_float_c vp9_ihtllm_c
#endif
void
vp9_ihtllm_float_c
(
const
int16_t
*
input
,
int16_t
*
output
,
int
pitch
,
TX_TYPE
tx_type
,
int
tx_dim
)
{
vp9_clear_system_state
();
// Make it simd safe : __asm emms;
...
...
@@ -411,7 +403,7 @@ void vp9_ihtllm_float_c(const int16_t *input, int16_t *output, int pitch,
#define VERTICAL_ROUNDING ((1 << (VERTICAL_SHIFT - 1)) - 1)
#define HORIZONTAL_SHIFT 17 // 15
#define HORIZONTAL_ROUNDING ((1 << (HORIZONTAL_SHIFT - 1)) - 1)
void
vp9_ihtllm_
int_
c
(
const
int16_t
*
input
,
int16_t
*
output
,
int
pitch
,
void
vp9_ihtllm_c
(
const
int16_t
*
input
,
int16_t
*
output
,
int
pitch
,
TX_TYPE
tx_type
,
int
tx_dim
)
{
int
i
,
j
,
k
;
int16_t
imbuf
[
256
];
...
...
vp9/common/vp9_invtrans.c
View file @
030e268a
...
...
@@ -51,7 +51,7 @@ void vp9_inverse_transform_mby_4x4(MACROBLOCKD *xd) {
for
(
i
=
0
;
i
<
16
;
i
++
)
{
TX_TYPE
tx_type
=
get_tx_type_4x4
(
xd
,
&
xd
->
block
[
i
]);
if
(
tx_type
!=
DCT_DCT
)
{
vp9_ihtllm
_c
(
xd
->
block
[
i
].
dqcoeff
,
xd
->
block
[
i
].
diff
,
32
,
vp9_ihtllm
(
xd
->
block
[
i
].
dqcoeff
,
xd
->
block
[
i
].
diff
,
32
,
tx_type
,
4
);
}
else
{
vp9_inverse_transform_b_4x4
(
xd
,
i
,
32
);
...
...
@@ -91,7 +91,7 @@ void vp9_inverse_transform_mby_8x8(MACROBLOCKD *xd) {
for
(
i
=
0
;
i
<
9
;
i
+=
8
)
{
TX_TYPE
tx_type
=
get_tx_type_8x8
(
xd
,
&
xd
->
block
[
i
]);
if
(
tx_type
!=
DCT_DCT
)
{
vp9_ihtllm
_c
(
xd
->
block
[
i
].
dqcoeff
,
xd
->
block
[
i
].
diff
,
32
,
tx_type
,
8
);
vp9_ihtllm
(
xd
->
block
[
i
].
dqcoeff
,
xd
->
block
[
i
].
diff
,
32
,
tx_type
,
8
);
}
else
{
vp9_inverse_transform_b_8x8
(
&
blockd
[
i
].
dqcoeff
[
0
],
&
blockd
[
i
].
diff
[
0
],
32
);
...
...
@@ -100,7 +100,7 @@ void vp9_inverse_transform_mby_8x8(MACROBLOCKD *xd) {
for
(
i
=
2
;
i
<
11
;
i
+=
8
)
{
TX_TYPE
tx_type
=
get_tx_type_8x8
(
xd
,
&
xd
->
block
[
i
]);
if
(
tx_type
!=
DCT_DCT
)
{
vp9_ihtllm
_c
(
xd
->
block
[
i
+
2
].
dqcoeff
,
xd
->
block
[
i
].
diff
,
32
,
tx_type
,
8
);
vp9_ihtllm
(
xd
->
block
[
i
+
2
].
dqcoeff
,
xd
->
block
[
i
].
diff
,
32
,
tx_type
,
8
);
}
else
{
vp9_inverse_transform_b_8x8
(
&
blockd
[
i
+
2
].
dqcoeff
[
0
],
&
blockd
[
i
].
diff
[
0
],
32
);
...
...
@@ -132,7 +132,7 @@ void vp9_inverse_transform_mby_16x16(MACROBLOCKD *xd) {
BLOCKD
*
bd
=
&
xd
->
block
[
0
];
TX_TYPE
tx_type
=
get_tx_type_16x16
(
xd
,
bd
);
if
(
tx_type
!=
DCT_DCT
)
{
vp9_ihtllm
_c
(
bd
->
dqcoeff
,
bd
->
diff
,
32
,
tx_type
,
16
);
vp9_ihtllm
(
bd
->
dqcoeff
,
bd
->
diff
,
32
,
tx_type
,
16
);
}
else
{
vp9_inverse_transform_b_16x16
(
&
xd
->
block
[
0
].
dqcoeff
[
0
],
&
xd
->
block
[
0
].
diff
[
0
],
32
);
...
...
vp9/common/vp9_rtcd_defs.sh
View file @
030e268a
...
...
@@ -366,6 +366,9 @@ specialize vp9_short_idct16x16
prototype void vp9_short_idct10_16x16
"short *input, short *output, int pitch"
specialize vp9_short_idct10_16x16
prototype void vp9_ihtllm
"const short *input, short *output, int pitch, int tx_type, int tx_dim"
specialize vp9_ihtllm
#
# 2nd order
#
...
...
vp9/decoder/vp9_dequantize.c
View file @
030e268a
...
...
@@ -83,7 +83,7 @@ void vp9_ht_dequant_idct_add_c(TX_TYPE tx_type, int16_t *input,
input
[
i
]
=
dq
[
i
]
*
input
[
i
];
}
vp9_ihtllm
_c
(
input
,
output
,
4
<<
1
,
tx_type
,
4
);
vp9_ihtllm
(
input
,
output
,
4
<<
1
,
tx_type
,
4
);
vpx_memset
(
input
,
0
,
32
);
...
...
@@ -103,7 +103,7 @@ void vp9_ht_dequant_idct_add_8x8_c(TX_TYPE tx_type, int16_t *input,
input
[
i
]
=
dq
[
1
]
*
input
[
i
];
}
vp9_ihtllm
_c
(
input
,
output
,
16
,
tx_type
,
8
);
vp9_ihtllm
(
input
,
output
,
16
,
tx_type
,
8
);
vpx_memset
(
input
,
0
,
128
);
...
...
@@ -281,7 +281,7 @@ void vp9_ht_dequant_idct_add_16x16_c(TX_TYPE tx_type, int16_t *input,
input
[
i
]
=
input
[
i
]
*
dq
[
1
];
// inverse hybrid transform
vp9_ihtllm
_c
(
input
,
output
,
32
,
tx_type
,
16
);
vp9_ihtllm
(
input
,
output
,
32
,
tx_type
,
16
);
// the idct halves ( >> 1) the pitch
// vp9_short_idct16x16_c(input, output, 32);
...
...
vp9/encoder/vp9_encodeintra.c
View file @
030e268a
...
...
@@ -70,7 +70,7 @@ void vp9_encode_intra4x4block(MACROBLOCK *x, int ib) {
if
(
tx_type
!=
DCT_DCT
)
{
vp9_fht
(
be
->
src_diff
,
32
,
be
->
coeff
,
tx_type
,
4
);
vp9_ht_quantize_b_4x4
(
be
,
b
,
tx_type
);
vp9_ihtllm
_c
(
b
->
dqcoeff
,
b
->
diff
,
32
,
tx_type
,
4
);
vp9_ihtllm
(
b
->
dqcoeff
,
b
->
diff
,
32
,
tx_type
,
4
);
}
else
{
x
->
vp9_short_fdct4x4
(
be
->
src_diff
,
be
->
coeff
,
32
);
x
->
quantize_b_4x4
(
be
,
b
)
;
...
...
@@ -191,7 +191,7 @@ void vp9_encode_intra8x8(MACROBLOCK *x, int ib) {
vp9_fht
(
be
->
src_diff
,
32
,
(
x
->
block
+
idx
)
->
coeff
,
tx_type
,
8
);
x
->
quantize_b_8x8
(
x
->
block
+
idx
,
xd
->
block
+
idx
);
vp9_ihtllm
_c
(
xd
->
block
[
idx
].
dqcoeff
,
xd
->
block
[
ib
].
diff
,
32
,
vp9_ihtllm
(
xd
->
block
[
idx
].
dqcoeff
,
xd
->
block
[
ib
].
diff
,
32
,
tx_type
,
8
);
}
else
{
x
->
vp9_short_fdct8x8
(
be
->
src_diff
,
(
x
->
block
+
idx
)
->
coeff
,
32
);
...
...
@@ -206,7 +206,7 @@ void vp9_encode_intra8x8(MACROBLOCK *x, int ib) {
if
(
tx_type
!=
DCT_DCT
)
{
vp9_fht_c
(
be
->
src_diff
,
32
,
be
->
coeff
,
tx_type
,
4
);
vp9_ht_quantize_b_4x4
(
be
,
b
,
tx_type
);
vp9_ihtllm
_c
(
b
->
dqcoeff
,
b
->
diff
,
32
,
tx_type
,
4
);
vp9_ihtllm
(
b
->
dqcoeff
,
b
->
diff
,
32
,
tx_type
,
4
);
}
else
{
x
->
vp9_short_fdct4x4
(
be
->
src_diff
,
be
->
coeff
,
32
);
x
->
quantize_b_4x4
(
be
,
b
);
...
...
vp9/encoder/vp9_rdopt.c
View file @
030e268a
...
...
@@ -1125,7 +1125,7 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, BLOCK *be,
// inverse transform
if
(
best_tx_type
!=
DCT_DCT
)
vp9_ihtllm
_c
(
best_dqcoeff
,
b
->
diff
,
32
,
best_tx_type
,
4
);
vp9_ihtllm
(
best_dqcoeff
,
b
->
diff
,
32
,
best_tx_type
,
4
);
else
xd
->
inv_xform4x4_x8
(
best_dqcoeff
,
b
->
diff
,
32
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment