Skip to content
GitLab
Menu
Projects
Groups
Snippets
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
99350a62
Commit
99350a62
authored
Jan 11, 2018
by
Hui Su
Browse files
Remove obsolete code about "FIXED_TX_TYPE"
Change-Id: I0156df138342be1f4ffa867a5e293887ff83e251
parent
366a6843
Changes
4
Hide whitespace changes
Inline
Side-by-side
av1/common/blockd.h
View file @
99350a62
...
...
@@ -886,12 +886,6 @@ static INLINE TX_SIZE av1_max_tx_size_for_filter_intra(BLOCK_SIZE bsize,
}
#endif
#if CONFIG_DCT_ONLY
#define FIXED_TX_TYPE 1
#else
#define FIXED_TX_TYPE 0
#endif
// Converts block_index for given transform size to index of the block in raster
// order.
static
INLINE
int
av1_block_index_to_raster_order
(
TX_SIZE
tx_size
,
...
...
@@ -976,10 +970,6 @@ static INLINE TX_TYPE av1_get_tx_type(PLANE_TYPE plane_type,
if
(
is_inter_block
(
mbmi
)
&&
!
av1_ext_tx_used
[
tx_set_type
][
mbmi
->
tx_type
])
return
DCT_DCT
;
#if FIXED_TX_TYPE
return
get_default_tx_type
(
plane_type
,
xd
,
tx_size
);
#endif // FIXED_TX_TYPE
#if CONFIG_DAALA_TX_DST32
if
(
xd
->
lossless
[
mbmi
->
segment_id
]
||
txsize_sqr_map
[
tx_size
]
>
TX_32X32
)
#else
...
...
av1/decoder/decodemv.c
View file @
99350a62
...
...
@@ -916,50 +916,45 @@ void av1_read_tx_type(const AV1_COMMON *const cm, MACROBLOCKD *xd,
TX_TYPE
*
tx_type
=
&
mbmi
->
txk_type
[(
blk_row
<<
MAX_MIB_SIZE_LOG2
)
+
blk_col
];
#endif
if
(
!
FIXED_TX_TYPE
)
{
const
TX_SIZE
square_tx_size
=
txsize_sqr_map
[
tx_size
];
if
(
get_ext_tx_types
(
tx_size
,
mbmi
->
sb_type
,
inter_block
,
cm
->
reduced_tx_set_used
)
>
1
&&
((
!
cm
->
seg
.
enabled
&&
cm
->
base_qindex
>
0
)
||
(
cm
->
seg
.
enabled
&&
xd
->
qindex
[
mbmi
->
segment_id
]
>
0
))
&&
!
mbmi
->
skip
&&
!
segfeature_active
(
&
cm
->
seg
,
mbmi
->
segment_id
,
SEG_LVL_SKIP
))
{
const
TxSetType
tx_set_type
=
get_ext_tx_set_type
(
tx_size
,
mbmi
->
sb_type
,
inter_block
,
cm
->
reduced_tx_set_used
);
const
int
eset
=
get_ext_tx_set
(
tx_size
,
mbmi
->
sb_type
,
inter_block
,
cm
->
reduced_tx_set_used
);
// eset == 0 should correspond to a set with only DCT_DCT and
// there is no need to read the tx_type
assert
(
eset
!=
0
);
if
(
inter_block
)
{
*
tx_type
=
av1_ext_tx_inv
[
tx_set_type
][
aom_read_symbol
(
r
,
ec_ctx
->
inter_ext_tx_cdf
[
eset
][
square_tx_size
],
av1_num_ext_tx_set
[
tx_set_type
],
ACCT_STR
)];
}
else
{
const
TX_SIZE
square_tx_size
=
txsize_sqr_map
[
tx_size
];
if
(
get_ext_tx_types
(
tx_size
,
mbmi
->
sb_type
,
inter_block
,
cm
->
reduced_tx_set_used
)
>
1
&&
((
!
cm
->
seg
.
enabled
&&
cm
->
base_qindex
>
0
)
||
(
cm
->
seg
.
enabled
&&
xd
->
qindex
[
mbmi
->
segment_id
]
>
0
))
&&
!
mbmi
->
skip
&&
!
segfeature_active
(
&
cm
->
seg
,
mbmi
->
segment_id
,
SEG_LVL_SKIP
))
{
const
TxSetType
tx_set_type
=
get_ext_tx_set_type
(
tx_size
,
mbmi
->
sb_type
,
inter_block
,
cm
->
reduced_tx_set_used
);
const
int
eset
=
get_ext_tx_set
(
tx_size
,
mbmi
->
sb_type
,
inter_block
,
cm
->
reduced_tx_set_used
);
// eset == 0 should correspond to a set with only DCT_DCT and
// there is no need to read the tx_type
assert
(
eset
!=
0
);
if
(
inter_block
)
{
*
tx_type
=
av1_ext_tx_inv
[
tx_set_type
][
aom_read_symbol
(
r
,
ec_ctx
->
inter_ext_tx_cdf
[
eset
][
square_tx_size
],
av1_num_ext_tx_set
[
tx_set_type
],
ACCT_STR
)];
}
else
{
#if CONFIG_FILTER_INTRA
PREDICTION_MODE
intra_dir
;
if
(
mbmi
->
filter_intra_mode_info
.
use_filter_intra
)
intra_dir
=
fimode_to_intradir
[
mbmi
->
filter_intra_mode_info
.
filter_intra_mode
];
else
intra_dir
=
mbmi
->
mode
;
*
tx_type
=
av1_ext_tx_inv
[
tx_set_type
][
aom_read_symbol
(
r
,
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
intra_dir
],
av1_num_ext_tx_set
[
tx_set_type
],
ACCT_STR
)];
PREDICTION_MODE
intra_dir
;
if
(
mbmi
->
filter_intra_mode_info
.
use_filter_intra
)
intra_dir
=
fimode_to_intradir
[
mbmi
->
filter_intra_mode_info
.
filter_intra_mode
];
else
intra_dir
=
mbmi
->
mode
;
*
tx_type
=
av1_ext_tx_inv
[
tx_set_type
][
aom_read_symbol
(
r
,
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
intra_dir
],
av1_num_ext_tx_set
[
tx_set_type
],
ACCT_STR
)];
#else
*
tx_type
=
av1_ext_tx_inv
[
tx_set_type
][
aom_read_symbol
(
r
,
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
mbmi
->
mode
],
av1_num_ext_tx_set
[
tx_set_type
],
ACCT_STR
)];
*
tx_type
=
av1_ext_tx_inv
[
tx_set_type
][
aom_read_symbol
(
r
,
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
mbmi
->
mode
],
av1_num_ext_tx_set
[
tx_set_type
],
ACCT_STR
)];
#endif
}
}
else
{
*
tx_type
=
DCT_DCT
;
}
}
else
{
*
tx_type
=
DCT_DCT
;
}
#if FIXED_TX_TYPE
assert
(
mbmi
->
tx_type
==
DCT_DCT
);
#endif
}
#if CONFIG_INTRABC
...
...
av1/encoder/bitstream.c
View file @
99350a62
...
...
@@ -1049,46 +1049,43 @@ void av1_write_tx_type(const AV1_COMMON *const cm, const MACROBLOCKD *xd,
TX_TYPE
tx_type
=
av1_get_tx_type
(
plane_type
,
xd
,
blk_row
,
blk_col
,
tx_size
);
#endif
if
(
!
FIXED_TX_TYPE
)
{
const
TX_SIZE
square_tx_size
=
txsize_sqr_map
[
tx_size
];
const
BLOCK_SIZE
bsize
=
mbmi
->
sb_type
;
if
(
get_ext_tx_types
(
tx_size
,
bsize
,
is_inter
,
cm
->
reduced_tx_set_used
)
>
1
&&
((
!
cm
->
seg
.
enabled
&&
cm
->
base_qindex
>
0
)
||
(
cm
->
seg
.
enabled
&&
xd
->
qindex
[
mbmi
->
segment_id
]
>
0
))
&&
!
mbmi
->
skip
&&
!
segfeature_active
(
&
cm
->
seg
,
mbmi
->
segment_id
,
SEG_LVL_SKIP
))
{
const
TxSetType
tx_set_type
=
get_ext_tx_set_type
(
tx_size
,
bsize
,
is_inter
,
cm
->
reduced_tx_set_used
);
const
int
eset
=
get_ext_tx_set
(
tx_size
,
bsize
,
is_inter
,
cm
->
reduced_tx_set_used
);
// eset == 0 should correspond to a set with only DCT_DCT and there
// is no need to send the tx_type
assert
(
eset
>
0
);
assert
(
av1_ext_tx_used
[
tx_set_type
][
tx_type
]);
if
(
is_inter
)
{
aom_write_symbol
(
w
,
av1_ext_tx_ind
[
tx_set_type
][
tx_type
],
ec_ctx
->
inter_ext_tx_cdf
[
eset
][
square_tx_size
],
av1_num_ext_tx_set
[
tx_set_type
]);
}
else
{
const
TX_SIZE
square_tx_size
=
txsize_sqr_map
[
tx_size
];
const
BLOCK_SIZE
bsize
=
mbmi
->
sb_type
;
if
(
get_ext_tx_types
(
tx_size
,
bsize
,
is_inter
,
cm
->
reduced_tx_set_used
)
>
1
&&
((
!
cm
->
seg
.
enabled
&&
cm
->
base_qindex
>
0
)
||
(
cm
->
seg
.
enabled
&&
xd
->
qindex
[
mbmi
->
segment_id
]
>
0
))
&&
!
mbmi
->
skip
&&
!
segfeature_active
(
&
cm
->
seg
,
mbmi
->
segment_id
,
SEG_LVL_SKIP
))
{
const
TxSetType
tx_set_type
=
get_ext_tx_set_type
(
tx_size
,
bsize
,
is_inter
,
cm
->
reduced_tx_set_used
);
const
int
eset
=
get_ext_tx_set
(
tx_size
,
bsize
,
is_inter
,
cm
->
reduced_tx_set_used
);
// eset == 0 should correspond to a set with only DCT_DCT and there
// is no need to send the tx_type
assert
(
eset
>
0
);
assert
(
av1_ext_tx_used
[
tx_set_type
][
tx_type
]);
if
(
is_inter
)
{
aom_write_symbol
(
w
,
av1_ext_tx_ind
[
tx_set_type
][
tx_type
],
ec_ctx
->
inter_ext_tx_cdf
[
eset
][
square_tx_size
],
av1_num_ext_tx_set
[
tx_set_type
]);
}
else
{
#if CONFIG_FILTER_INTRA
PREDICTION_MODE
intra_dir
;
if
(
mbmi
->
filter_intra_mode_info
.
use_filter_intra
)
intra_dir
=
fimode_to_intradir
[
mbmi
->
filter_intra_mode_info
.
filter_intra_mode
];
else
intra_dir
=
mbmi
->
mode
;
aom_write_symbol
(
w
,
av1_ext_tx_ind
[
tx_set_type
][
tx_type
],
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
intra_dir
],
av1_num_ext_tx_set
[
tx_set_type
]);
PREDICTION_MODE
intra_dir
;
if
(
mbmi
->
filter_intra_mode_info
.
use_filter_intra
)
intra_dir
=
fimode_to_intradir
[
mbmi
->
filter_intra_mode_info
.
filter_intra_mode
];
else
intra_dir
=
mbmi
->
mode
;
aom_write_symbol
(
w
,
av1_ext_tx_ind
[
tx_set_type
][
tx_type
],
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
intra_dir
],
av1_num_ext_tx_set
[
tx_set_type
]);
#else
aom_write_symbol
(
w
,
av1_ext_tx_ind
[
tx_set_type
][
tx_type
],
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
mbmi
->
mode
],
av1_num_ext_tx_set
[
tx_set_type
]);
aom_write_symbol
(
w
,
av1_ext_tx_ind
[
tx_set_type
][
tx_type
],
ec_ctx
->
intra_ext_tx_cdf
[
eset
][
square_tx_size
][
mbmi
->
mode
],
av1_num_ext_tx_set
[
tx_set_type
]);
#endif
}
}
}
}
...
...
av1/encoder/rdopt.c
View file @
99350a62
...
...
@@ -2232,7 +2232,6 @@ static int skip_txfm_search(const AV1_COMP *cpi, MACROBLOCK *x, BLOCK_SIZE bs,
const int is_inter = is_inter_block(mbmi);
if (mbmi->ref_mv_idx > 0 && tx_type != DCT_DCT) return 1;
if (FIXED_TX_TYPE && tx_type != get_default_tx_type(0, xd, tx_size)) return 1;
if (!is_inter && x->use_default_intra_tx_type &&
tx_type != get_default_tx_type(0, xd, tx_size))
return 1;
...
...
Write
Preview
Supports
Markdown
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