Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Xiph.Org
aom-rav1e
Commits
8fd2d7aa
Commit
8fd2d7aa
authored
Jan 03, 2017
by
Angie Chiang
Browse files
Remove speed feature use_lp32x32fdct
Change-Id: I6ce654b582f2a9d45a40bf22ba597b47d418a0be
parent
3839548c
Changes
8
Hide whitespace changes
Inline
Side-by-side
av1/decoder/decodeframe.c
View file @
8fd2d7aa
...
...
@@ -432,7 +432,6 @@ static int av1_pvq_decode_helper2(MACROBLOCKD *const xd,
fwd_txfm_param
.
tx_type
=
tx_type
;
fwd_txfm_param
.
tx_size
=
tx_size
;
fwd_txfm_param
.
fwd_txfm_opt
=
FWD_TXFM_OPT_NORMAL
;
fwd_txfm_param
.
rd_transform
=
0
;
fwd_txfm_param
.
lossless
=
xd
->
lossless
[
seg_id
];
fwd_txfm
(
pred
,
pvq_ref_coeff
,
diff_stride
,
&
fwd_txfm_param
);
...
...
av1/encoder/block.h
View file @
8fd2d7aa
...
...
@@ -171,9 +171,6 @@ struct macroblock {
int
optimize
;
// indicate if it is in the rd search loop or encoding process
int
use_lp32x32fdct
;
// Used to store sub partition's choices.
MV
pred_mv
[
TOTAL_REFS_PER_FRAME
];
...
...
av1/encoder/encodeframe.c
View file @
8fd2d7aa
...
...
@@ -1688,9 +1688,6 @@ static void rd_pick_sb_modes(const AV1_COMP *const cpi, TileDataEnc *tile_data,
aom_clear_system_state
();
// Use the lower precision, but faster, 32x32 fdct for mode selection.
x
->
use_lp32x32fdct
=
1
;
#if CONFIG_PVQ
x
->
pvq_speed
=
1
;
x
->
pvq_coded
=
0
;
...
...
@@ -2320,8 +2317,6 @@ static void encode_sb(const AV1_COMP *const cpi, ThreadData *td,
if
(
!
x
->
skip
)
{
int
this_rate
=
0
;
x
->
use_lp32x32fdct
=
cpi
->
sf
.
use_lp32x32fdct
;
av1_encode_sb_supertx
((
AV1_COMMON
*
)
cm
,
x
,
bsize
);
av1_tokenize_sb_supertx
(
cpi
,
td
,
tp
,
dry_run
,
bsize
,
rate
);
if
(
rate
)
*
rate
+=
this_rate
;
...
...
@@ -5352,8 +5347,6 @@ static void encode_superblock(const AV1_COMP *const cpi, ThreadData *td,
const
BLOCK_SIZE
block_size
=
AOMMAX
(
bsize
,
BLOCK_8X8
);
#endif
x
->
use_lp32x32fdct
=
cpi
->
sf
.
use_lp32x32fdct
;
#if CONFIG_PVQ
x
->
pvq_speed
=
0
;
x
->
pvq_coded
=
(
dry_run
==
OUTPUT_ENABLED
)
?
1
:
0
;
...
...
av1/encoder/encodemb.c
View file @
8fd2d7aa
...
...
@@ -566,7 +566,6 @@ void av1_xform_quant(const AV1_COMMON *cm, MACROBLOCK *x, int plane, int block,
fwd_txfm_param
.
tx_type
=
tx_type
;
fwd_txfm_param
.
tx_size
=
tx_size
;
fwd_txfm_param
.
fwd_txfm_opt
=
fwd_txfm_opt_list
[
xform_quant_idx
];
fwd_txfm_param
.
rd_transform
=
x
->
use_lp32x32fdct
;
fwd_txfm_param
.
lossless
=
xd
->
lossless
[
xd
->
mi
[
0
]
->
mbmi
.
segment_id
];
#if CONFIG_AOM_HIGHBITDEPTH
...
...
@@ -596,7 +595,6 @@ void av1_xform_quant(const AV1_COMMON *cm, MACROBLOCK *x, int plane, int block,
}
}
#else // #if !CONFIG_PVQ
fwd_txfm_param
.
rd_transform
=
0
;
fwd_txfm
(
src_int16
,
coeff
,
diff_stride
,
&
fwd_txfm_param
);
fwd_txfm
(
pred
,
ref_coeff
,
diff_stride
,
&
fwd_txfm_param
);
...
...
av1/encoder/hybrid_fwd_txfm.c
View file @
8fd2d7aa
...
...
@@ -16,14 +16,6 @@
#include "av1/common/idct.h"
#include "av1/encoder/hybrid_fwd_txfm.h"
static
INLINE
void
fdct32x32
(
int
rd_transform
,
const
int16_t
*
src
,
tran_low_t
*
dst
,
int
src_stride
)
{
if
(
rd_transform
)
aom_fdct32x32_rd
(
src
,
dst
,
src_stride
);
else
av1_fht32x32
(
src
,
dst
,
src_stride
,
DCT_DCT
);
}
#if CONFIG_TX64X64
static
INLINE
void
fdct64x64
(
const
int16_t
*
src
,
tran_low_t
*
dst
,
int
src_stride
)
{
...
...
@@ -205,13 +197,13 @@ static void fwd_txfm_16x16(const int16_t *src_diff, tran_low_t *coeff,
}
}
static
void
fwd_txfm_32x32
(
int
rd_transform
,
const
int16_t
*
src_diff
,
tran_low_t
*
coeff
,
int
diff_stride
,
TX_TYPE
tx_type
,
static
void
fwd_txfm_32x32
(
const
int16_t
*
src_diff
,
tran_low_t
*
coeff
,
int
diff_stride
,
TX_TYPE
tx_type
,
FWD_TXFM_OPT
fwd_txfm_opt
)
{
switch
(
tx_type
)
{
case
DCT_DCT
:
if
(
fwd_txfm_opt
==
FWD_TXFM_OPT_NORMAL
)
fdc
t32x32
(
rd_transform
,
src_diff
,
coeff
,
diff_stride
);
av1_fh
t32x32
(
src_diff
,
coeff
,
diff_stride
,
tx_type
);
else
// FWD_TXFM_OPT_DC
aom_fdct32x32_1
(
src_diff
,
coeff
,
diff_stride
);
break
;
...
...
@@ -458,11 +450,9 @@ static void highbd_fwd_txfm_16x16(const int16_t *src_diff, tran_low_t *coeff,
}
}
static
void
highbd_fwd_txfm_32x32
(
int
rd_transform
,
const
int16_t
*
src_diff
,
tran_low_t
*
coeff
,
int
diff_stride
,
TX_TYPE
tx_type
,
FWD_TXFM_OPT
fwd_txfm_opt
,
const
int
bd
)
{
(
void
)
rd_transform
;
static
void
highbd_fwd_txfm_32x32
(
const
int16_t
*
src_diff
,
tran_low_t
*
coeff
,
int
diff_stride
,
TX_TYPE
tx_type
,
FWD_TXFM_OPT
fwd_txfm_opt
,
const
int
bd
)
{
(
void
)
fwd_txfm_opt
;
switch
(
tx_type
)
{
case
DCT_DCT
:
...
...
@@ -531,7 +521,6 @@ void fwd_txfm(const int16_t *src_diff, tran_low_t *coeff, int diff_stride,
const
int
fwd_txfm_opt
=
fwd_txfm_param
->
fwd_txfm_opt
;
const
TX_TYPE
tx_type
=
fwd_txfm_param
->
tx_type
;
const
TX_SIZE
tx_size
=
fwd_txfm_param
->
tx_size
;
const
int
rd_transform
=
fwd_txfm_param
->
rd_transform
;
const
int
lossless
=
fwd_txfm_param
->
lossless
;
switch
(
tx_size
)
{
#if CONFIG_TX64X64
...
...
@@ -540,8 +529,7 @@ void fwd_txfm(const int16_t *src_diff, tran_low_t *coeff, int diff_stride,
break
;
#endif // CONFIG_TX64X64
case
TX_32X32
:
fwd_txfm_32x32
(
rd_transform
,
src_diff
,
coeff
,
diff_stride
,
tx_type
,
fwd_txfm_opt
);
fwd_txfm_32x32
(
src_diff
,
coeff
,
diff_stride
,
tx_type
,
fwd_txfm_opt
);
break
;
case
TX_16X16
:
fwd_txfm_16x16
(
src_diff
,
coeff
,
diff_stride
,
tx_type
,
fwd_txfm_opt
);
...
...
@@ -585,7 +573,6 @@ void highbd_fwd_txfm(const int16_t *src_diff, tran_low_t *coeff,
const
int
fwd_txfm_opt
=
fwd_txfm_param
->
fwd_txfm_opt
;
const
TX_TYPE
tx_type
=
fwd_txfm_param
->
tx_type
;
const
TX_SIZE
tx_size
=
fwd_txfm_param
->
tx_size
;
const
int
rd_transform
=
fwd_txfm_param
->
rd_transform
;
const
int
lossless
=
fwd_txfm_param
->
lossless
;
const
int
bd
=
fwd_txfm_param
->
bd
;
switch
(
tx_size
)
{
...
...
@@ -596,8 +583,8 @@ void highbd_fwd_txfm(const int16_t *src_diff, tran_low_t *coeff,
break
;
#endif // CONFIG_TX64X64
case
TX_32X32
:
highbd_fwd_txfm_32x32
(
rd_transform
,
src_diff
,
coeff
,
diff_stride
,
tx_type
,
fwd_txfm_opt
,
bd
);
highbd_fwd_txfm_32x32
(
src_diff
,
coeff
,
diff_stride
,
tx_type
,
fwd_txfm_opt
,
bd
);
break
;
case
TX_16X16
:
highbd_fwd_txfm_16x16
(
src_diff
,
coeff
,
diff_stride
,
tx_type
,
fwd_txfm_opt
,
...
...
av1/encoder/hybrid_fwd_txfm.h
View file @
8fd2d7aa
...
...
@@ -20,7 +20,6 @@ typedef struct FWD_TXFM_PARAM {
TX_TYPE
tx_type
;
TX_SIZE
tx_size
;
FWD_TXFM_OPT
fwd_txfm_opt
;
int
rd_transform
;
int
lossless
;
#if CONFIG_AOM_HIGHBITDEPTH
int
bd
;
...
...
av1/encoder/speed_features.c
View file @
8fd2d7aa
...
...
@@ -228,7 +228,6 @@ static void set_good_speed_feature(AV1_COMP *cpi, AV1_COMMON *cm,
if
(
cm
->
frame_type
!=
KEY_FRAME
)
sf
->
mode_search_skip_flags
|=
FLAG_EARLY_TERMINATE
;
sf
->
disable_filter_search_var_thresh
=
200
;
sf
->
use_lp32x32fdct
=
1
;
sf
->
use_fast_coef_updates
=
ONE_LOOP_REDUCED
;
sf
->
use_fast_coef_costing
=
1
;
sf
->
partition_search_breakout_rate_thr
=
300
;
...
...
@@ -334,7 +333,6 @@ static void set_rt_speed_feature(AV1_COMP *cpi, SPEED_FEATURES *sf, int speed,
sf
->
lf_motion_threshold
=
LOW_MOTION_THRESHOLD
;
sf
->
adjust_partitioning_from_last_frame
=
1
;
sf
->
last_partitioning_redo_frequency
=
3
;
sf
->
use_lp32x32fdct
=
1
;
sf
->
mode_skip_start
=
11
;
sf
->
intra_y_mode_mask
[
TX_16X16
]
=
INTRA_DC_H_V
;
}
...
...
@@ -500,7 +498,6 @@ void av1_set_speed_features_framesize_independent(AV1_COMP *cpi) {
sf
->
comp_inter_joint_search_thresh
=
BLOCK_4X4
;
sf
->
adaptive_rd_thresh
=
0
;
sf
->
tx_size_search_method
=
USE_FULL_RD
;
sf
->
use_lp32x32fdct
=
0
;
sf
->
adaptive_motion_search
=
0
;
sf
->
adaptive_pred_interp_filter
=
0
;
sf
->
adaptive_mode_search
=
0
;
...
...
av1/encoder/speed_features.h
View file @
8fd2d7aa
...
...
@@ -293,10 +293,6 @@ typedef struct SPEED_FEATURES {
// for intra and model coefs for the rest.
TX_SIZE_SEARCH_METHOD
tx_size_search_method
;
// Low precision 32x32 fdct keeps everything in 16 bits and thus is less
// precise but significantly faster than the non lp version.
int
use_lp32x32fdct
;
// After looking at the first set of modes (set by index here), skip
// checking modes for reference frames that don't match the reference frame
// of the best so far.
...
...
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