Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
aom-rav1e
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Xiph.Org
aom-rav1e
Commits
0dd04637
Commit
0dd04637
authored
Oct 19, 2016
by
Yaowu Xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix build issues when --enable-aom-qm
Change-Id: I1a462675c06c4b2a5f8b4b347f23fec67feccdd0
parent
66b1fcc9
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
183 additions
and
82 deletions
+183
-82
av1/common/av1_rtcd_defs.pl
av1/common/av1_rtcd_defs.pl
+7
-2
av1/decoder/decodeframe.c
av1/decoder/decodeframe.c
+1
-2
av1/encoder/encodemb.c
av1/encoder/encodemb.c
+0
-6
av1/encoder/quantize.c
av1/encoder/quantize.c
+112
-43
av1/encoder/quantize.h
av1/encoder/quantize.h
+61
-29
test/av1_quantize_test.cc
test/av1_quantize_test.cc
+2
-0
No files found.
av1/common/av1_rtcd_defs.pl
View file @
0dd04637
...
...
@@ -779,9 +779,14 @@ if (aom_config("CONFIG_AOM_HIGHBITDEPTH") eq "yes") {
specialize
qw/av1_highbd_block_error sse2/
;
if
(
aom_config
("
CONFIG_AOM_QM
")
eq
"
yes
")
{
add_proto
qw/void av1_highbd_quantize_fp/
,
"
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t * qm_ptr, const qm_val_t * iqm_ptr
";
add_proto
qw/void av1_highbd_quantize_fp/
,
"
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t * qm_ptr, const qm_val_t * iqm_ptr, int log_scale
";
specialize
qw/av1_highbd_quantize_fp/
;
add_proto
qw/void av1_highbd_quantize_fp_32x32/
,
"
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t * qm_ptr, const qm_val_t * iqm_ptr
";
add_proto
qw/void av1_highbd_quantize_fp_32x32/
,
"
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t * qm_ptr, const qm_val_t * iqm_ptr, int log_scale
";
specialize
qw/av1_highbd_quantize_fp_32x32/
;
add_proto
qw/void av1_highbd_quantize_b/
,
"
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, const qm_val_t * qm_ptr, const qm_val_t * iqm_ptr, int log_scale
";
specialize
qw/av1_highbd_quantize_b/
;
}
else
{
add_proto
qw/void av1_highbd_quantize_fp/
,
"
const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan, int log_scale
";
specialize
qw/av1_highbd_quantize_fp sse4_1/
;
...
...
av1/decoder/decodeframe.c
View file @
0dd04637
...
...
@@ -1719,8 +1719,7 @@ static void decode_partition(AV1Decoder *const pbi, MACROBLOCKD *const xd,
#else
if
(
supertx_size
<
TX_32X32
)
{
txfm
=
aom_read_tree
(
r
,
av1_ext_tx_tree
,
cm
->
fc
->
inter_ext_tx_prob
[
supertx_size
],
ACCT_STR
);
cm
->
fc
->
inter_ext_tx_prob
[
supertx_size
],
ACCT_STR
);
if
(
xd
->
counts
)
++
xd
->
counts
->
inter_ext_tx
[
supertx_size
][
txfm
];
}
#endif // CONFIG_EXT_TX
...
...
av1/encoder/encodemb.c
View file @
0dd04637
...
...
@@ -386,12 +386,6 @@ int av1_optimize_b(MACROBLOCK *mb, int plane, int block, TX_SIZE tx_size,
for
(
i
=
next
;
i
<
eob
;
i
=
next
)
{
const
int
x
=
tokens
[
i
][
best
].
qc
;
const
int
rc
=
scan
[
i
];
#if CONFIG_AOM_QM
const
int
iwt
=
iqmatrix
[
rc
];
const
int
dequant
=
(
dequant_ptr
[
rc
!=
0
]
*
iwt
+
(
1
<<
(
AOM_QM_BITS
-
1
)))
>>
AOM_QM_BITS
;
#endif
if
(
x
)
final_eob
=
i
;
qcoeff
[
rc
]
=
x
;
dqcoeff
[
rc
]
=
tokens
[
i
][
best
].
dqc
;
...
...
av1/encoder/quantize.c
View file @
0dd04637
...
...
@@ -344,18 +344,33 @@ void av1_quantize_fp_facade(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
)
{
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
)
{
// obsolete skip_block
const
int
skip_block
=
0
;
if
(
qparam
->
log_scale
==
0
)
{
av1_quantize_fp
(
coeff_ptr
,
n_coeffs
,
skip_block
,
p
->
zbin
,
p
->
round_fp
,
p
->
quant_fp
,
p
->
quant_shift
,
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
);
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
#if CONFIG_AOM_QM
,
qm_ptr
,
iqm_ptr
#endif
);
}
else
{
av1_quantize_fp_32x32
(
coeff_ptr
,
n_coeffs
,
skip_block
,
p
->
zbin
,
p
->
round_fp
,
p
->
quant_fp
,
p
->
quant_shift
,
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
);
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
#if CONFIG_AOM_QM
,
qm_ptr
,
iqm_ptr
#endif
);
}
}
...
...
@@ -363,18 +378,33 @@ void av1_quantize_b_facade(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
)
{
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
)
{
// obsolete skip_block
const
int
skip_block
=
0
;
if
(
qparam
->
log_scale
==
0
)
{
aom_quantize_b
(
coeff_ptr
,
n_coeffs
,
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
);
eob_ptr
,
sc
->
scan
,
sc
->
iscan
#if CONFIG_AOM_QM
,
qm_ptr
,
iqm_ptr
#endif
);
}
else
{
aom_quantize_b_32x32
(
coeff_ptr
,
n_coeffs
,
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
);
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
#if CONFIG_AOM_QM
,
qm_ptr
,
iqm_ptr
#endif
);
}
}
...
...
@@ -382,60 +412,90 @@ void av1_quantize_dc_facade(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
)
{
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
)
{
// obsolete skip_block
const
int
skip_block
=
0
;
(
void
)
sc
;
if
(
qparam
->
log_scale
==
0
)
{
aom_quantize_dc
(
coeff_ptr
,
(
int
)
n_coeffs
,
skip_block
,
p
->
round
,
p
->
quant_fp
[
0
],
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
[
0
],
eob_ptr
);
eob_ptr
#if CONFIG_AOM_QM
,
qm_ptr
,
iqm_ptr
#endif
);
}
else
{
aom_quantize_dc_32x32
(
coeff_ptr
,
skip_block
,
p
->
round
,
p
->
quant_fp
[
0
],
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
[
0
],
eob_ptr
);
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
[
0
],
eob_ptr
#if CONFIG_AOM_QM
,
qm_ptr
,
iqm_ptr
#endif
);
}
}
#if CONFIG_AOM_HIGHBITDEPTH
void
av1_highbd_quantize_fp_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
)
{
void
av1_highbd_quantize_fp_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
)
{
// obsolete skip_block
const
int
skip_block
=
0
;
av1_highbd_quantize_fp
(
coeff_ptr
,
n_coeffs
,
skip_block
,
p
->
zbin
,
p
->
round_fp
,
p
->
quant_fp
,
p
->
quant_shift
,
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
,
#if CONFIG_AOM_QM
qm_ptr
,
iqm_ptr
,
#endif
qparam
->
log_scale
);
}
void
av1_highbd_quantize_b_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
)
{
void
av1_highbd_quantize_b_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
)
{
// obsolete skip_block
const
int
skip_block
=
0
;
av1_highbd_quantize_b
(
coeff_ptr
,
n_coeffs
,
skip_block
,
p
->
zbin
,
p
->
round
,
p
->
quant
,
p
->
quant_shift
,
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
,
eob_ptr
,
sc
->
scan
,
sc
->
iscan
,
#if CONFIG_AOM_QM
qm_ptr
,
iqm_ptr
,
#endif
qparam
->
log_scale
);
}
void
av1_highbd_quantize_dc_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
)
{
void
av1_highbd_quantize_dc_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
)
{
// obsolete skip_block
const
int
skip_block
=
0
;
...
...
@@ -443,7 +503,11 @@ void av1_highbd_quantize_dc_facade(const tran_low_t *coeff_ptr,
av1_highbd_quantize_dc
(
coeff_ptr
,
(
int
)
n_coeffs
,
skip_block
,
p
->
round
,
p
->
quant_fp
[
0
],
qcoeff_ptr
,
dqcoeff_ptr
,
pd
->
dequant
[
0
],
eob_ptr
,
qparam
->
log_scale
);
pd
->
dequant
[
0
],
eob_ptr
,
#if CONFIG_AOM_QM
qm_ptr
,
iqm_ptr
,
#endif
qparam
->
log_scale
);
}
#if CONFIG_NEW_QUANT
...
...
@@ -975,15 +1039,6 @@ void av1_highbd_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
for
(
i
=
(
int
)
n_coeffs
-
1
;
i
>=
0
;
i
--
)
{
const
int
rc
=
scan
[
i
];
const
int
coeff
=
coeff_ptr
[
rc
];
#if CONFIG_AOM_QM
uint32_t
abs_qcoeff
=
0
;
const
qm_val_t
wt
=
qm_ptr
[
rc
];
const
qm_val_t
iwt
=
iqm_ptr
[
rc
];
const
int
dequant
=
(
dequant_ptr
[
rc
!=
0
]
*
iwt
+
(
1
<<
(
AOM_QM_BITS
-
1
)))
>>
AOM_QM_BITS
;
#endif
if
(
coeff
<
zbins
[
rc
!=
0
]
&&
coeff
>
nzbins
[
rc
!=
0
])
non_zero_count
--
;
else
...
...
@@ -994,6 +1049,13 @@ void av1_highbd_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
// skippable. Note: zero_flag can be zero.
for
(
i
=
0
;
i
<
non_zero_count
;
i
++
)
{
const
int
rc
=
scan
[
i
];
#if CONFIG_AOM_QM
const
qm_val_t
wt
=
qm_ptr
[
rc
];
const
qm_val_t
iwt
=
iqm_ptr
[
rc
];
const
int
dequant
=
(
dequant_ptr
[
rc
!=
0
]
*
iwt
+
(
1
<<
(
AOM_QM_BITS
-
1
)))
>>
AOM_QM_BITS
;
#endif
const
int
coeff
=
coeff_ptr
[
rc
];
const
int
coeff_sign
=
(
coeff
>>
31
);
const
int
abs_coeff
=
(
coeff
^
coeff_sign
)
-
coeff_sign
;
...
...
@@ -1029,12 +1091,19 @@ void av1_highbd_quantize_dc(const tran_low_t *coeff_ptr, int n_coeffs,
int
skip_block
,
const
int16_t
*
round_ptr
,
const
int16_t
quant
,
tran_low_t
*
qcoeff_ptr
,
tran_low_t
*
dqcoeff_ptr
,
const
int16_t
dequant_ptr
,
uint16_t
*
eob_ptr
,
const
int
log_scale
)
{
uint16_t
*
eob_ptr
,
#if CONFIG_AOM_QM
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
,
#endif
const
int
log_scale
)
{
int
eob
=
-
1
;
memset
(
qcoeff_ptr
,
0
,
n_coeffs
*
sizeof
(
*
qcoeff_ptr
));
memset
(
dqcoeff_ptr
,
0
,
n_coeffs
*
sizeof
(
*
dqcoeff_ptr
));
#if CONFIG_AOM_QM
(
void
)
qm_ptr
;
(
void
)
iqm_ptr
;
#endif
if
(
!
skip_block
)
{
const
int
coeff
=
coeff_ptr
[
0
];
const
int
coeff_sign
=
(
coeff
>>
31
);
...
...
@@ -1157,7 +1226,7 @@ void av1_init_plane_quantizers(const AV1_COMP *cpi, MACROBLOCK *x,
int
minqm
=
cm
->
min_qmlevel
;
int
maxqm
=
cm
->
max_qmlevel
;
// Quant matrix only depends on the base QP so there is only one set per frame
int
qmlevel
=
(
lossless
||
cm
->
using_qmatrix
==
0
)
int
qmlevel
=
(
xd
->
lossless
[
segment_id
]
||
cm
->
using_qmatrix
==
0
)
?
NUM_QM_LEVELS
-
1
:
aom_get_qmlevel
(
cm
->
base_qindex
,
minqm
,
maxqm
);
#endif
...
...
av1/encoder/quantize.h
View file @
0dd04637
...
...
@@ -28,8 +28,12 @@ typedef void (*AV1_QUANT_FACADE)(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
typedef
struct
{
#if CONFIG_NEW_QUANT
...
...
@@ -80,19 +84,34 @@ void av1_quantize_fp_facade(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
void
av1_quantize_b_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
void
av1_quantize_dc_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
#if CONFIG_NEW_QUANT
void
quantize_dc_nuq
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
...
...
@@ -123,35 +142,48 @@ void quantize_dc_32x32_fp_nuq(const tran_low_t *coeff_ptr, intptr_t n_coeffs,
#endif // CONFIG_NEW_QUANT
#if CONFIG_AOM_HIGHBITDEPTH
void
av1_highbd_quantize_fp_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
void
av1_highbd_quantize_b_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
void
av1_highbd_quantize_dc_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
);
void
av1_highbd_quantize_fp_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
void
av1_highbd_quantize_b_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
void
av1_highbd_quantize_dc_facade
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
const
MACROBLOCK_PLANE
*
p
,
tran_low_t
*
qcoeff_ptr
,
const
MACROBLOCKD_PLANE
*
pd
,
tran_low_t
*
dqcoeff_ptr
,
uint16_t
*
eob_ptr
,
const
SCAN_ORDER
*
sc
,
const
QUANT_PARAM
*
qparam
#if CONFIG_AOM_QM
,
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
#endif
);
void
av1_highbd_quantize_dc
(
const
tran_low_t
*
coeff_ptr
,
int
n_coeffs
,
int
skip_block
,
const
int16_t
*
round_ptr
,
const
int16_t
quant
,
tran_low_t
*
qcoeff_ptr
,
tran_low_t
*
dqcoeff_ptr
,
const
int16_t
dequant_ptr
,
uint16_t
*
eob_ptr
,
const
int
log_scale
);
uint16_t
*
eob_ptr
,
#if CONFIG_AOM_QM
const
qm_val_t
*
qm_ptr
,
const
qm_val_t
*
iqm_ptr
,
#endif
const
int
log_scale
);
#if CONFIG_NEW_QUANT
void
highbd_quantize_dc_nuq
(
const
tran_low_t
*
coeff_ptr
,
intptr_t
n_coeffs
,
int
skip_block
,
const
int16_t
quant
,
...
...
test/av1_quantize_test.cc
View file @
0dd04637
...
...
@@ -195,6 +195,7 @@ TEST_P(AV1QuantizeTest, BitExactCheck) { RunQuantizeTest(); }
TEST_P
(
AV1QuantizeTest
,
EobVerify
)
{
RunEobTest
();
}
#if HAVE_SSE4_1
#if !CONFIG_AOM_QM
INSTANTIATE_TEST_CASE_P
(
SSE4_1
,
AV1QuantizeTest
,
::
testing
::
Values
(
QuantizeFuncParams
(
&
av1_highbd_quantize_fp_sse4_1
,
...
...
@@ -205,5 +206,6 @@ INSTANTIATE_TEST_CASE_P(
&
av1_highbd_quantize_fp_c
,
256
),
QuantizeFuncParams
(
&
av1_highbd_quantize_fp_sse4_1
,
&
av1_highbd_quantize_fp_c
,
1024
)));
#endif // !CONFIG_AOM_QM
#endif // HAVE_SSE4_1
}
// namespace
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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