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
851a2fd7
Commit
851a2fd7
authored
Aug 27, 2013
by
Dmitry Kovalev
Browse files
Renaming txfm_size to tx_size.
Change-Id: I752e374867d459960995b24d197301d65ad535e3
parent
eb7acb55
Changes
12
Hide whitespace changes
Inline
Side-by-side
vp9/common/vp9_blockd.h
View file @
851a2fd7
...
...
@@ -134,7 +134,7 @@ static INLINE int mi_height_log2(BLOCK_SIZE sb_type) {
typedef
struct
{
MB_PREDICTION_MODE
mode
,
uv_mode
;
MV_REFERENCE_FRAME
ref_frame
[
2
];
TX_SIZE
tx
fm
_size
;
TX_SIZE
tx_size
;
int_mv
mv
[
2
];
// for each reference frame used
int_mv
ref_mvs
[
MAX_REF_FRAMES
][
MAX_MV_REF_CANDIDATES
];
int_mv
best_mv
,
best_second_mv
;
...
...
@@ -360,7 +360,7 @@ static void setup_block_dptrs(MACROBLOCKD *xd, int ss_x, int ss_y) {
static
INLINE
TX_SIZE
get_uv_tx_size
(
const
MB_MODE_INFO
*
mbmi
)
{
return
MIN
(
mbmi
->
tx
fm
_size
,
max_uv_txsize_lookup
[
mbmi
->
sb_type
]);
return
MIN
(
mbmi
->
tx_size
,
max_uv_txsize_lookup
[
mbmi
->
sb_type
]);
}
static
BLOCK_SIZE
get_plane_block_size
(
BLOCK_SIZE
bsize
,
...
...
@@ -394,7 +394,7 @@ static INLINE void foreach_transformed_block_in_plane(
// 4x4=0, 8x8=2, 16x16=4, 32x32=6, 64x64=8
// transform size varies per plane, look it up in a common way.
const
TX_SIZE
tx_size
=
plane
?
get_uv_tx_size
(
mbmi
)
:
mbmi
->
tx
fm
_size
;
:
mbmi
->
tx_size
;
const
BLOCK_SIZE
plane_bsize
=
get_plane_block_size
(
bsize
,
pd
);
const
int
num_4x4_w
=
num_4x4_blocks_wide_lookup
[
plane_bsize
];
const
int
num_4x4_h
=
num_4x4_blocks_high_lookup
[
plane_bsize
];
...
...
vp9/common/vp9_debugmodes.c
View file @
851a2fd7
...
...
@@ -59,7 +59,7 @@ void vp9_print_modes_and_motion_vectors(VP9_COMMON *cm, char *file) {
print_mi_data
(
cm
,
mvs
,
"Modes:"
,
offsetof
(
MB_MODE_INFO
,
mode
));
print_mi_data
(
cm
,
mvs
,
"Skips:"
,
offsetof
(
MB_MODE_INFO
,
skip_coeff
));
print_mi_data
(
cm
,
mvs
,
"Ref frame:"
,
offsetof
(
MB_MODE_INFO
,
ref_frame
[
0
]));
print_mi_data
(
cm
,
mvs
,
"Transform:"
,
offsetof
(
MB_MODE_INFO
,
tx
fm
_size
));
print_mi_data
(
cm
,
mvs
,
"Transform:"
,
offsetof
(
MB_MODE_INFO
,
tx_size
));
print_mi_data
(
cm
,
mvs
,
"UV Modes:"
,
offsetof
(
MB_MODE_INFO
,
uv_mode
));
log_frame_info
(
cm
,
"Vectors "
,
mvs
);
...
...
vp9/common/vp9_loopfilter.c
View file @
851a2fd7
...
...
@@ -274,7 +274,7 @@ static void filter_block_plane(VP9_COMMON *cm,
const
int
skip_this_r
=
skip_this
&&
!
block_edge_above
;
const
TX_SIZE
tx_size
=
(
plane
->
plane_type
==
PLANE_TYPE_UV
)
?
get_uv_tx_size
(
&
mi
[
c
].
mbmi
)
:
mi
[
c
].
mbmi
.
tx
fm
_size
;
:
mi
[
c
].
mbmi
.
tx_size
;
const
int
skip_border_4x4_c
=
ss_x
&&
mi_col
+
c
==
cm
->
mi_cols
-
1
;
const
int
skip_border_4x4_r
=
ss_y
&&
mi_row
+
r
==
cm
->
mi_rows
-
1
;
...
...
vp9/common/vp9_pred_common.c
View file @
851a2fd7
...
...
@@ -369,11 +369,11 @@ unsigned char vp9_get_pred_context_tx_size(const MACROBLOCKD *xd) {
if
(
above_in_image
)
above_context
=
above_mbmi
->
skip_coeff
?
max_tx_size
:
above_mbmi
->
tx
fm
_size
;
:
above_mbmi
->
tx_size
;
if
(
left_in_image
)
left_context
=
left_mbmi
->
skip_coeff
?
max_tx_size
:
left_mbmi
->
tx
fm
_size
;
:
left_mbmi
->
tx_size
;
if
(
!
left_in_image
)
left_context
=
above_context
;
...
...
vp9/decoder/vp9_decodemv.c
View file @
851a2fd7
...
...
@@ -160,7 +160,7 @@ static void read_intra_frame_mode_info(VP9D_COMP *pbi, MODE_INFO *m,
mbmi
->
segment_id
=
read_intra_segment_id
(
pbi
,
mi_row
,
mi_col
,
r
);
mbmi
->
skip_coeff
=
read_skip_coeff
(
pbi
,
mbmi
->
segment_id
,
r
);
mbmi
->
tx
fm
_size
=
read_tx_size
(
pbi
,
cm
->
tx_mode
,
bsize
,
1
,
r
);
mbmi
->
tx_size
=
read_tx_size
(
pbi
,
cm
->
tx_mode
,
bsize
,
1
,
r
);
mbmi
->
ref_frame
[
0
]
=
INTRA_FRAME
;
mbmi
->
ref_frame
[
1
]
=
NONE
;
...
...
@@ -591,8 +591,8 @@ static void read_inter_frame_mode_info(VP9D_COMP *pbi, MODE_INFO *mi,
mbmi
->
segment_id
=
read_inter_segment_id
(
pbi
,
mi_row
,
mi_col
,
r
);
mbmi
->
skip_coeff
=
read_skip_coeff
(
pbi
,
mbmi
->
segment_id
,
r
);
inter_block
=
read_is_inter_block
(
pbi
,
mbmi
->
segment_id
,
r
);
mbmi
->
tx
fm
_size
=
read_tx_size
(
pbi
,
cm
->
tx_mode
,
mbmi
->
sb_type
,
!
mbmi
->
skip_coeff
||
!
inter_block
,
r
);
mbmi
->
tx_size
=
read_tx_size
(
pbi
,
cm
->
tx_mode
,
mbmi
->
sb_type
,
!
mbmi
->
skip_coeff
||
!
inter_block
,
r
);
if
(
inter_block
)
read_inter_block_mode_info
(
pbi
,
mi
,
mi_row
,
mi_col
,
r
);
...
...
vp9/encoder/vp9_bitstream.c
View file @
851a2fd7
...
...
@@ -437,7 +437,7 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, MODE_INFO *m, vp9_writer *bc) {
if
(
bsize
>=
BLOCK_8X8
&&
pc
->
tx_mode
==
TX_MODE_SELECT
&&
!
(
rf
!=
INTRA_FRAME
&&
(
skip_coeff
||
vp9_segfeature_active
(
seg
,
segment_id
,
SEG_LVL_SKIP
))))
{
write_selected_tx_size
(
cpi
,
mi
->
tx
fm
_size
,
bsize
,
bc
);
write_selected_tx_size
(
cpi
,
mi
->
tx_size
,
bsize
,
bc
);
}
if
(
rf
==
INTRA_FRAME
)
{
...
...
@@ -546,7 +546,7 @@ static void write_mb_modes_kf(const VP9_COMP *cpi, MODE_INFO *m,
write_skip_coeff
(
cpi
,
segment_id
,
m
,
bc
);
if
(
m
->
mbmi
.
sb_type
>=
BLOCK_8X8
&&
c
->
tx_mode
==
TX_MODE_SELECT
)
write_selected_tx_size
(
cpi
,
m
->
mbmi
.
tx
fm
_size
,
m
->
mbmi
.
sb_type
,
bc
);
write_selected_tx_size
(
cpi
,
m
->
mbmi
.
tx_size
,
m
->
mbmi
.
sb_type
,
bc
);
if
(
m
->
mbmi
.
sb_type
>=
BLOCK_8X8
)
{
const
MB_PREDICTION_MODE
A
=
above_block_mode
(
m
,
0
,
mis
);
...
...
vp9/encoder/vp9_encodeframe.c
View file @
851a2fd7
...
...
@@ -2217,12 +2217,12 @@ static int get_skip_flag(MODE_INFO *mi, int mis, int ymbs, int xmbs) {
}
static
void
set_txfm_flag
(
MODE_INFO
*
mi
,
int
mis
,
int
ymbs
,
int
xmbs
,
TX_SIZE
tx
fm
_size
)
{
TX_SIZE
tx_size
)
{
int
x
,
y
;
for
(
y
=
0
;
y
<
ymbs
;
y
++
)
{
for
(
x
=
0
;
x
<
xmbs
;
x
++
)
mi
[
y
*
mis
+
x
].
mbmi
.
tx
fm
_size
=
tx
fm
_size
;
mi
[
y
*
mis
+
x
].
mbmi
.
tx_size
=
tx_size
;
}
}
...
...
@@ -2235,7 +2235,7 @@ static void reset_skip_txfm_size_b(VP9_COMP *cpi, MODE_INFO *mi, int mis,
if
(
mi_row
>=
cm
->
mi_rows
||
mi_col
>=
cm
->
mi_cols
)
return
;
if
(
mbmi
->
tx
fm
_size
>
max_tx_size
)
{
if
(
mbmi
->
tx_size
>
max_tx_size
)
{
MACROBLOCK
*
const
x
=
&
cpi
->
mb
;
MACROBLOCKD
*
const
xd
=
&
x
->
e_mbd
;
const
int
ymbs
=
MIN
(
bh
,
cm
->
mi_rows
-
mi_row
);
...
...
@@ -2656,7 +2656,7 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
(
mbmi
->
skip_coeff
||
vp9_segfeature_active
(
&
cm
->
seg
,
segment_id
,
SEG_LVL_SKIP
))))
{
const
uint8_t
context
=
vp9_get_pred_context_tx_size
(
xd
);
update_tx_counts
(
bsize
,
context
,
mbmi
->
tx
fm
_size
,
&
cm
->
counts
.
tx
);
update_tx_counts
(
bsize
,
context
,
mbmi
->
tx_size
,
&
cm
->
counts
.
tx
);
}
else
{
int
x
,
y
;
TX_SIZE
sz
=
(
cm
->
tx_mode
==
TX_MODE_SELECT
)
?
TX_32X32
:
cm
->
tx_mode
;
...
...
@@ -2669,18 +2669,15 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled,
if
(
sz
==
TX_8X8
&&
bsize
<
BLOCK_8X8
)
sz
=
TX_4X4
;
}
else
if
(
bsize
>=
BLOCK_8X8
)
{
sz
=
mbmi
->
tx
fm
_size
;
sz
=
mbmi
->
tx_size
;
}
else
{
sz
=
TX_4X4
;
}
for
(
y
=
0
;
y
<
mi_height
;
y
++
)
{
for
(
x
=
0
;
x
<
mi_width
;
x
++
)
{
if
(
mi_col
+
x
<
cm
->
mi_cols
&&
mi_row
+
y
<
cm
->
mi_rows
)
{
mi
[
mis
*
y
+
x
].
mbmi
.
txfm_size
=
sz
;
}
}
}
for
(
y
=
0
;
y
<
mi_height
;
y
++
)
for
(
x
=
0
;
x
<
mi_width
;
x
++
)
if
(
mi_col
+
x
<
cm
->
mi_cols
&&
mi_row
+
y
<
cm
->
mi_rows
)
mi
[
mis
*
y
+
x
].
mbmi
.
tx_size
=
sz
;
}
}
}
vp9/encoder/vp9_encodeintra.c
View file @
851a2fd7
...
...
@@ -20,8 +20,8 @@ int vp9_encode_intra(MACROBLOCK *x, int use_16x16_pred) {
x
->
skip_encode
=
0
;
mbmi
->
mode
=
DC_PRED
;
mbmi
->
ref_frame
[
0
]
=
INTRA_FRAME
;
mbmi
->
tx
fm
_size
=
use_16x16_pred
?
(
mbmi
->
sb_type
>=
BLOCK_16X16
?
TX_16X16
:
TX_8X8
)
mbmi
->
tx_size
=
use_16x16_pred
?
(
mbmi
->
sb_type
>=
BLOCK_16X16
?
TX_16X16
:
TX_8X8
)
:
TX_4X4
;
vp9_encode_intra_block_y
(
x
,
mbmi
->
sb_type
);
return
vp9_get_mb_ss
(
x
->
plane
[
0
].
src_diff
);
...
...
vp9/encoder/vp9_encodemb.c
View file @
851a2fd7
...
...
@@ -386,7 +386,7 @@ static void optimize_init_b(int plane, BLOCK_SIZE bsize,
const
int
num_4x4_w
=
num_4x4_blocks_wide_lookup
[
plane_bsize
];
const
int
num_4x4_h
=
num_4x4_blocks_high_lookup
[
plane_bsize
];
const
MB_MODE_INFO
*
mbmi
=
&
xd
->
mode_info_context
->
mbmi
;
const
TX_SIZE
tx_size
=
plane
?
get_uv_tx_size
(
mbmi
)
:
mbmi
->
tx
fm
_size
;
const
TX_SIZE
tx_size
=
plane
?
get_uv_tx_size
(
mbmi
)
:
mbmi
->
tx_size
;
int
i
;
switch
(
tx_size
)
{
...
...
vp9/encoder/vp9_firstpass.c
View file @
851a2fd7
...
...
@@ -661,7 +661,7 @@ void vp9_first_pass(VP9_COMP *cpi) {
mv
.
as_mv
.
col
<<=
3
;
this_error
=
motion_error
;
vp9_set_mbmode_and_mvs
(
x
,
NEWMV
,
&
mv
);
xd
->
mode_info_context
->
mbmi
.
tx
fm
_size
=
TX_4X4
;
xd
->
mode_info_context
->
mbmi
.
tx_size
=
TX_4X4
;
xd
->
mode_info_context
->
mbmi
.
ref_frame
[
0
]
=
LAST_FRAME
;
xd
->
mode_info_context
->
mbmi
.
ref_frame
[
1
]
=
NONE
;
vp9_build_inter_predictors_sby
(
xd
,
mb_row
<<
1
,
...
...
vp9/encoder/vp9_rdopt.c
View file @
851a2fd7
...
...
@@ -489,7 +489,7 @@ static INLINE int cost_coeffs(MACROBLOCK *mb,
int
c
,
cost
;
// Check for consistency of tx_size with mode info
assert
(
type
==
PLANE_TYPE_Y_WITH_DC
?
mbmi
->
tx
fm
_size
==
tx_size
assert
(
type
==
PLANE_TYPE_Y_WITH_DC
?
mbmi
->
tx_size
==
tx_size
:
get_uv_tx_size
(
mbmi
)
==
tx_size
);
if
(
eob
==
0
)
{
...
...
@@ -634,7 +634,7 @@ static void txfm_rd_in_plane(MACROBLOCK *x,
num_4x4_blocks_wide
,
num_4x4_blocks_high
,
0
,
0
,
0
,
ref_best_rd
,
0
};
if
(
plane
==
0
)
xd
->
mode_info_context
->
mbmi
.
tx
fm
_size
=
tx_size
;
xd
->
mode_info_context
->
mbmi
.
tx_size
=
tx_size
;
switch
(
tx_size
)
{
case
TX_4X4
:
...
...
@@ -692,20 +692,20 @@ static void choose_largest_txfm_size(VP9_COMP *cpi, MACROBLOCK *x,
if
(
max_txfm_size
==
TX_32X32
&&
(
cm
->
tx_mode
==
ALLOW_32X32
||
cm
->
tx_mode
==
TX_MODE_SELECT
))
{
mbmi
->
tx
fm
_size
=
TX_32X32
;
mbmi
->
tx_size
=
TX_32X32
;
}
else
if
(
max_txfm_size
>=
TX_16X16
&&
(
cm
->
tx_mode
==
ALLOW_16X16
||
cm
->
tx_mode
==
ALLOW_32X32
||
cm
->
tx_mode
==
TX_MODE_SELECT
))
{
mbmi
->
tx
fm
_size
=
TX_16X16
;
mbmi
->
tx_size
=
TX_16X16
;
}
else
if
(
cm
->
tx_mode
!=
ONLY_4X4
)
{
mbmi
->
tx
fm
_size
=
TX_8X8
;
mbmi
->
tx_size
=
TX_8X8
;
}
else
{
mbmi
->
tx
fm
_size
=
TX_4X4
;
mbmi
->
tx_size
=
TX_4X4
;
}
txfm_rd_in_plane
(
x
,
rate
,
distortion
,
skip
,
&
sse
[
mbmi
->
tx
fm
_size
],
ref_best_rd
,
0
,
bs
,
mbmi
->
tx
fm
_size
);
&
sse
[
mbmi
->
tx_size
],
ref_best_rd
,
0
,
bs
,
mbmi
->
tx_size
);
cpi
->
txfm_stepdown_count
[
0
]
++
;
}
...
...
@@ -760,26 +760,26 @@ static void choose_txfm_size_from_rd(VP9_COMP *cpi, MACROBLOCK *x,
(
cm
->
tx_mode
==
TX_MODE_SELECT
&&
rd
[
TX_32X32
][
1
]
<
rd
[
TX_16X16
][
1
]
&&
rd
[
TX_32X32
][
1
]
<
rd
[
TX_8X8
][
1
]
&&
rd
[
TX_32X32
][
1
]
<
rd
[
TX_4X4
][
1
])))
{
mbmi
->
tx
fm
_size
=
TX_32X32
;
mbmi
->
tx_size
=
TX_32X32
;
}
else
if
(
max_tx_size
>=
TX_16X16
&&
(
cm
->
tx_mode
==
ALLOW_16X16
||
cm
->
tx_mode
==
ALLOW_32X32
||
(
cm
->
tx_mode
==
TX_MODE_SELECT
&&
rd
[
TX_16X16
][
1
]
<
rd
[
TX_8X8
][
1
]
&&
rd
[
TX_16X16
][
1
]
<
rd
[
TX_4X4
][
1
])))
{
mbmi
->
tx
fm
_size
=
TX_16X16
;
mbmi
->
tx_size
=
TX_16X16
;
}
else
if
(
cm
->
tx_mode
==
ALLOW_8X8
||
cm
->
tx_mode
==
ALLOW_16X16
||
cm
->
tx_mode
==
ALLOW_32X32
||
(
cm
->
tx_mode
==
TX_MODE_SELECT
&&
rd
[
TX_8X8
][
1
]
<
rd
[
TX_4X4
][
1
]))
{
mbmi
->
tx
fm
_size
=
TX_8X8
;
mbmi
->
tx_size
=
TX_8X8
;
}
else
{
mbmi
->
tx
fm
_size
=
TX_4X4
;
mbmi
->
tx_size
=
TX_4X4
;
}
*
distortion
=
d
[
mbmi
->
tx
fm
_size
];
*
rate
=
r
[
mbmi
->
tx
fm
_size
][
cm
->
tx_mode
==
TX_MODE_SELECT
];
*
skip
=
s
[
mbmi
->
tx
fm
_size
];
*
distortion
=
d
[
mbmi
->
tx_size
];
*
rate
=
r
[
mbmi
->
tx_size
][
cm
->
tx_mode
==
TX_MODE_SELECT
];
*
skip
=
s
[
mbmi
->
tx_size
];
tx_cache
[
ONLY_4X4
]
=
rd
[
TX_4X4
][
0
];
tx_cache
[
ALLOW_8X8
]
=
rd
[
TX_8X8
][
0
];
...
...
@@ -867,28 +867,28 @@ static void choose_txfm_size_from_modelrd(VP9_COMP *cpi, MACROBLOCK *x,
rd
[
TX_32X32
][
1
]
<=
rd
[
TX_16X16
][
1
]
&&
rd
[
TX_32X32
][
1
]
<=
rd
[
TX_8X8
][
1
]
&&
rd
[
TX_32X32
][
1
]
<=
rd
[
TX_4X4
][
1
])))
{
mbmi
->
tx
fm
_size
=
TX_32X32
;
mbmi
->
tx_size
=
TX_32X32
;
}
else
if
(
max_txfm_size
>=
TX_16X16
&&
(
cm
->
tx_mode
==
ALLOW_16X16
||
cm
->
tx_mode
==
ALLOW_32X32
||
(
cm
->
tx_mode
==
TX_MODE_SELECT
&&
rd
[
TX_16X16
][
1
]
<=
rd
[
TX_8X8
][
1
]
&&
rd
[
TX_16X16
][
1
]
<=
rd
[
TX_4X4
][
1
])))
{
mbmi
->
tx
fm
_size
=
TX_16X16
;
mbmi
->
tx_size
=
TX_16X16
;
}
else
if
(
cm
->
tx_mode
==
ALLOW_8X8
||
cm
->
tx_mode
==
ALLOW_16X16
||
cm
->
tx_mode
==
ALLOW_32X32
||
(
cm
->
tx_mode
==
TX_MODE_SELECT
&&
rd
[
TX_8X8
][
1
]
<=
rd
[
TX_4X4
][
1
]))
{
mbmi
->
tx
fm
_size
=
TX_8X8
;
mbmi
->
tx_size
=
TX_8X8
;
}
else
{
mbmi
->
tx
fm
_size
=
TX_4X4
;
mbmi
->
tx_size
=
TX_4X4
;
}
// Actually encode using the chosen mode if a model was used, but do not
// update the r, d costs
txfm_rd_in_plane
(
x
,
rate
,
distortion
,
skip
,
&
sse
[
mbmi
->
tx
fm
_size
],
ref_best_rd
,
0
,
bs
,
mbmi
->
tx
fm
_size
);
txfm_rd_in_plane
(
x
,
rate
,
distortion
,
skip
,
&
sse
[
mbmi
->
tx_size
],
ref_best_rd
,
0
,
bs
,
mbmi
->
tx_size
);
if
(
max_txfm_size
==
TX_32X32
&&
rd
[
TX_32X32
][
1
]
<=
rd
[
TX_16X16
][
1
]
&&
...
...
@@ -927,7 +927,7 @@ static void super_block_yrd(VP9_COMP *cpi,
choose_largest_txfm_size
(
cpi
,
x
,
rate
,
distortion
,
skip
,
sse
,
ref_best_rd
,
bs
);
if
(
psse
)
*
psse
=
sse
[
mbmi
->
tx
fm
_size
];
*
psse
=
sse
[
mbmi
->
tx_size
];
return
;
}
...
...
@@ -963,7 +963,7 @@ static void super_block_yrd(VP9_COMP *cpi,
skip
,
txfm_cache
,
bs
);
}
if
(
psse
)
*
psse
=
sse
[
mbmi
->
tx
fm
_size
];
*
psse
=
sse
[
mbmi
->
tx_size
];
}
static
int
conditional_skipintra
(
MB_PREDICTION_MODE
mode
,
...
...
@@ -1021,7 +1021,7 @@ static int64_t rd_pick_intra4x4block(VP9_COMP *cpi, MACROBLOCK *x, int ib,
vpx_memcpy
(
ta
,
a
,
sizeof
(
ta
));
vpx_memcpy
(
tl
,
l
,
sizeof
(
tl
));
xd
->
mode_info_context
->
mbmi
.
tx
fm
_size
=
TX_4X4
;
xd
->
mode_info_context
->
mbmi
.
tx_size
=
TX_4X4
;
for
(
mode
=
DC_PRED
;
mode
<=
TM_PRED
;
++
mode
)
{
int64_t
this_rd
;
...
...
@@ -1239,7 +1239,7 @@ static int64_t rd_pick_intra_sby_mode(VP9_COMP *cpi, MACROBLOCK *x,
if
(
this_rd
<
best_rd
)
{
mode_selected
=
mode
;
best_rd
=
this_rd
;
best_tx
=
mic
->
mbmi
.
tx
fm
_size
;
best_tx
=
mic
->
mbmi
.
tx_size
;
*
rate
=
this_rate
;
*
rate_tokenonly
=
this_rate_tokenonly
;
*
distortion
=
this_distortion
;
...
...
@@ -1258,7 +1258,7 @@ static int64_t rd_pick_intra_sby_mode(VP9_COMP *cpi, MACROBLOCK *x,
}
mic
->
mbmi
.
mode
=
mode_selected
;
mic
->
mbmi
.
tx
fm
_size
=
best_tx
;
mic
->
mbmi
.
tx_size
=
best_tx
;
return
best_rd
;
}
...
...
@@ -3354,7 +3354,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
*/
// I4X4_PRED is only considered for block sizes less than 8x8.
mbmi
->
tx
fm
_size
=
TX_4X4
;
mbmi
->
tx_size
=
TX_4X4
;
if
(
rd_pick_intra_sub_8x8_y_mode
(
cpi
,
x
,
&
rate
,
&
rate_y
,
&
distortion_y
,
best_rd
)
>=
best_rd
)
continue
;
...
...
@@ -3405,7 +3405,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
if
(
rate_y
==
INT_MAX
)
continue
;
uv_tx
=
MIN
(
mbmi
->
tx
fm
_size
,
max_uv_txsize_lookup
[
bsize
]);
uv_tx
=
MIN
(
mbmi
->
tx_size
,
max_uv_txsize_lookup
[
bsize
]);
if
(
rate_uv_intra
[
uv_tx
]
==
INT_MAX
)
{
choose_intra_uv_mode
(
cpi
,
bsize
,
&
rate_uv_intra
[
uv_tx
],
&
rate_uv_tokenonly
[
uv_tx
],
...
...
@@ -3455,7 +3455,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
cpi
->
rd_threshes
[
bsize
][
THR_NEWA
];
this_rd_thresh
=
(
ref_frame
==
GOLDEN_FRAME
)
?
cpi
->
rd_threshes
[
bsize
][
THR_NEWG
]
:
this_rd_thresh
;
xd
->
mode_info_context
->
mbmi
.
tx
fm
_size
=
TX_4X4
;
xd
->
mode_info_context
->
mbmi
.
tx_size
=
TX_4X4
;
cpi
->
rd_filter_cache
[
SWITCHABLE_FILTERS
]
=
INT64_MAX
;
if
(
cm
->
mcomp_filter_type
!=
BILINEAR
)
{
...
...
vp9/encoder/vp9_tokenize.c
View file @
851a2fd7
...
...
@@ -215,7 +215,7 @@ void vp9_tokenize_sb(VP9_COMP *cpi, TOKENEXTRA **t, int dry_run,
const
int
mb_skip_context
=
vp9_get_pred_context_mbskip
(
xd
);
const
int
skip_inc
=
!
vp9_segfeature_active
(
&
cm
->
seg
,
mbmi
->
segment_id
,
SEG_LVL_SKIP
);
struct
tokenize_b_args
arg
=
{
cpi
,
xd
,
t
,
mbmi
->
tx
fm
_size
};
struct
tokenize_b_args
arg
=
{
cpi
,
xd
,
t
,
mbmi
->
tx_size
};
mbmi
->
skip_coeff
=
vp9_sb_is_skippable
(
xd
,
bsize
);
if
(
mbmi
->
skip_coeff
)
{
...
...
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