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
96d1c0a5
Commit
96d1c0a5
authored
Oct 10, 2017
by
Urvang Joshi
Browse files
Rename TM_PRED --> PAETH_PRED.
Change-Id: Ic4e04ef959e10b60dae6de8d6da50e7a281e654c
parent
f0e39196
Changes
19
Hide whitespace changes
Inline
Side-by-side
aom_dsp/x86/intrapred_avx2.c
View file @
96d1c0a5
...
...
@@ -219,7 +219,7 @@ void aom_v_predictor_32x16_avx2(uint8_t *dst, ptrdiff_t stride,
}
// -----------------------------------------------------------------------------
//
TM
_PRED
//
PAETH
_PRED
// Return 16 16-bit pixels in one row (__m256i)
static
INLINE
__m256i
paeth_pred
(
const
__m256i
*
left
,
const
__m256i
*
top
,
...
...
aom_dsp/x86/intrapred_ssse3.c
View file @
96d1c0a5
...
...
@@ -15,7 +15,7 @@
#include "aom_dsp/intrapred_common.h"
// -----------------------------------------------------------------------------
//
TM
_PRED
//
PAETH
_PRED
// Return 8 16-bit pixels in one row
static
INLINE
__m128i
paeth_8x1_pred
(
const
__m128i
*
left
,
const
__m128i
*
top
,
...
...
av1/common/av1_rtcd_defs.pl
View file @
96d1c0a5
...
...
@@ -191,7 +191,7 @@ if (aom_config("CONFIG_FILTER_INTRA") eq "yes") {
add_proto
qw/void av1_d153_filter_predictor/
,
"
uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint8_t *above, const uint8_t *left
";
add_proto
qw/void av1_d207_filter_predictor/
,
"
uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint8_t *above, const uint8_t *left
";
add_proto
qw/void av1_d63_filter_predictor/
,
"
uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint8_t *above, const uint8_t *left
";
add_proto
qw/void av1_
tm
_filter_predictor/
,
"
uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint8_t *above, const uint8_t *left
";
add_proto
qw/void av1_
paeth
_filter_predictor/
,
"
uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint8_t *above, const uint8_t *left
";
# High bitdepth functions
if
(
aom_config
("
CONFIG_HIGHBITDEPTH
")
eq
"
yes
")
{
add_proto
qw/void av1_highbd_dc_filter_predictor/
,
"
uint16_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint16_t *above, const uint16_t *left, int bd
";
...
...
@@ -203,7 +203,7 @@ if (aom_config("CONFIG_FILTER_INTRA") eq "yes") {
add_proto
qw/void av1_highbd_d153_filter_predictor/
,
"
uint16_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint16_t *above, const uint16_t *left, int bd
";
add_proto
qw/void av1_highbd_d207_filter_predictor/
,
"
uint16_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint16_t *above, const uint16_t *left, int bd
";
add_proto
qw/void av1_highbd_d63_filter_predictor/
,
"
uint16_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint16_t *above, const uint16_t *left, int bd
";
add_proto
qw/void av1_highbd_
tm
_filter_predictor/
,
"
uint16_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint16_t *above, const uint16_t *left, int bd
";
add_proto
qw/void av1_highbd_
paeth
_filter_predictor/
,
"
uint16_t *dst, ptrdiff_t stride, TX_SIZE tx_size, const uint16_t *above, const uint16_t *left, int bd
";
}
}
...
...
av1/common/blockd.h
View file @
96d1c0a5
...
...
@@ -160,7 +160,7 @@ static INLINE PREDICTION_MODE compound_ref0_mode(PREDICTION_MODE mode) {
MB_MODE_COUNT
,
// SMOOTH_V_PRED
MB_MODE_COUNT
,
// SMOOTH_H_PRED
#endif // CONFIG_SMOOTH_HV
MB_MODE_COUNT
,
//
TM
_PRED
MB_MODE_COUNT
,
//
PAETH
_PRED
MB_MODE_COUNT
,
// NEARESTMV
MB_MODE_COUNT
,
// NEARMV
MB_MODE_COUNT
,
// ZEROMV
...
...
@@ -206,7 +206,7 @@ static INLINE PREDICTION_MODE compound_ref1_mode(PREDICTION_MODE mode) {
MB_MODE_COUNT
,
// SMOOTH_V_PRED
MB_MODE_COUNT
,
// SMOOTH_H_PRED
#endif // CONFIG_SMOOTH_HV
MB_MODE_COUNT
,
//
TM
_PRED
MB_MODE_COUNT
,
//
PAETH
_PRED
MB_MODE_COUNT
,
// NEARESTMV
MB_MODE_COUNT
,
// NEARMV
MB_MODE_COUNT
,
// ZEROMV
...
...
@@ -511,7 +511,7 @@ static INLINE PREDICTION_MODE get_uv_mode(UV_PREDICTION_MODE mode) {
SMOOTH_V_PRED
,
// UV_SMOOTH_V_PRED
SMOOTH_H_PRED
,
// UV_SMOOTH_H_PRED
#endif // CONFIG_SMOOTH_HV
TM
_PRED
,
// UV_
TM
_PRED
PAETH
_PRED
,
// UV_
PAETH
_PRED
DC_PRED
,
// CFL_PRED
};
return
uv2y
[
mode
];
...
...
@@ -878,7 +878,7 @@ static const TX_TYPE intra_mode_to_tx_type_context[INTRA_MODES] = {
ADST_DCT
,
// SMOOTH_V
DCT_ADST
,
// SMOOTH_H
#endif // CONFIG_SMOOTH_HV
ADST_ADST
,
//
TM
ADST_ADST
,
//
PAETH
};
#if CONFIG_SUPERTX
...
...
@@ -1080,7 +1080,7 @@ static INLINE int is_lgt_allowed(PREDICTION_MODE mode, TX_SIZE tx_size) {
return
tx_size_high
[
tx_size
]
<=
8
;
case
DC_PRED
:
case
SMOOTH_PRED
:
return
0
;
case
TM
_PRED
:
case
PAETH
_PRED
:
default:
return
tx_size_wide
[
tx_size
]
<=
8
||
tx_size_high
[
tx_size
]
<=
8
;
}
}
...
...
av1/common/enums.h
View file @
96d1c0a5
...
...
@@ -498,7 +498,7 @@ typedef enum ATTRIBUTE_PACKED {
SMOOTH_V_PRED
,
// Vertical interpolation
SMOOTH_H_PRED
,
// Horizontal interpolation
#endif // CONFIG_SMOOTH_HV
TM
_PRED
,
//
True-motion
PAETH
_PRED
,
//
Predict from the direction of smallest gradient
NEARESTMV
,
NEARMV
,
ZEROMV
,
...
...
@@ -521,7 +521,7 @@ typedef enum ATTRIBUTE_PACKED {
ZERO_ZEROMV
,
NEW_NEWMV
,
MB_MODE_COUNT
,
INTRA_MODES
=
TM
_PRED
+
1
,
// TM
_PRED has to be the last intra mode.
INTRA_MODES
=
PAETH
_PRED
+
1
,
// PAETH
_PRED has to be the last intra mode.
INTRA_INVALID
=
MB_MODE_COUNT
// For uv_mode in inter blocks
}
PREDICTION_MODE
;
...
...
@@ -543,7 +543,7 @@ typedef enum ATTRIBUTE_PACKED {
UV_SMOOTH_V_PRED
,
// Vertical interpolation
UV_SMOOTH_H_PRED
,
// Horizontal interpolation
#endif // CONFIG_SMOOTH_HV
UV_
TM
_PRED
,
//
True-motion
UV_
PAETH
_PRED
,
//
Predict from the direction of smallest gradient
UV_CFL_PRED
,
// Chroma-from-Luma
UV_INTRA_MODES
,
UV_MODE_INVALID
,
// For uv_mode in inter blocks
...
...
@@ -606,7 +606,7 @@ typedef enum {
FILTER_D153_PRED
,
FILTER_D207_PRED
,
FILTER_D63_PRED
,
FILTER_
TM
_PRED
,
FILTER_
PAETH
_PRED
,
FILTER_INTRA_MODES
,
}
FILTER_INTRA_MODE
;
#endif // CONFIG_FILTER_INTRA
...
...
av1/common/idct.c
View file @
96d1c0a5
...
...
@@ -352,7 +352,7 @@ int idx_selfloop_wrt_mode(PREDICTION_MODE mode, int is_col) {
case
SMOOTH_PRED
:
// predition is good for both directions: large SLs for row and col
return
3
;
case
TM
_PRED
:
return
0
;
case
PAETH
_PRED
:
return
0
;
#if CONFIG_SMOOTH_HV
case
SMOOTH_H_PRED
:
#endif
...
...
@@ -422,8 +422,8 @@ void get_lgt4_from_pred(const TxfmParam *txfm_param, int is_col,
// typically yields very smooth residues so having the break point
// does not usually improve the RD result.
return
;
}
else
if
(
mode
==
TM
_PRED
)
{
//
TM
_PRED: use both 1D top boundary and 1D left boundary
}
else
if
(
mode
==
PAETH
_PRED
)
{
//
PAETH
_PRED: use both 1D top boundary and 1D left boundary
if
(
is_col
)
for
(
int
i
=
0
;
i
<
4
;
++
i
)
arr
[
i
]
=
dst
[
i
*
stride
];
else
...
...
@@ -455,7 +455,7 @@ void get_lgt4_from_pred(const TxfmParam *txfm_param, int is_col,
}
else
if
(
mode
==
D135_PRED
||
mode
==
D153_PRED
||
mode
==
D207_PRED
)
{
// directional modes closer to horizontal
if
(
is_col
)
get_discontinuity_2d
(
dst
,
stride
,
4
,
1
,
&
bp
,
ntx
);
}
else
if
(
mode
>
TM
_PRED
)
{
}
else
if
(
mode
>
PAETH
_PRED
)
{
// inter
get_discontinuity_2d
(
dst
,
stride
,
4
,
is_col
,
&
bp
,
ntx
);
}
...
...
@@ -495,7 +495,7 @@ void get_lgt8_from_pred(const TxfmParam *txfm_param, int is_col,
if
(
mode
==
DC_PRED
||
mode
==
SMOOTH_PRED
)
{
return
;
}
else
if
(
mode
==
TM
_PRED
)
{
}
else
if
(
mode
==
PAETH
_PRED
)
{
if
(
is_col
)
for
(
int
i
=
0
;
i
<
8
;
++
i
)
arr
[
i
]
=
dst
[
i
*
stride
];
else
...
...
@@ -523,7 +523,7 @@ void get_lgt8_from_pred(const TxfmParam *txfm_param, int is_col,
if
(
!
is_col
)
get_discontinuity_2d
(
dst
,
stride
,
8
,
0
,
&
bp
,
ntx
);
}
else
if
(
mode
==
D135_PRED
||
mode
==
D153_PRED
||
mode
==
D207_PRED
)
{
if
(
is_col
)
get_discontinuity_2d
(
dst
,
stride
,
8
,
1
,
&
bp
,
ntx
);
}
else
if
(
mode
>
TM
_PRED
)
{
}
else
if
(
mode
>
PAETH
_PRED
)
{
get_discontinuity_2d
(
dst
,
stride
,
8
,
is_col
,
&
bp
,
ntx
);
}
...
...
@@ -551,7 +551,7 @@ void get_lgt16up_from_pred(const TxfmParam *txfm_param, int is_col,
switch
(
mode
)
{
case
DC_PRED
:
case
TM
_PRED
:
case
PAETH
_PRED
:
case
SMOOTH_PRED
:
// prediction from both top and left -> ADST
lgtmtx
[
0
]
=
adstmtx
;
...
...
av1/common/mvref_common.h
View file @
96d1c0a5
...
...
@@ -58,7 +58,7 @@ static const int mode_2_counter[] = {
9
,
// SMOOTH_V_PRED
9
,
// SMOOTH_H_PRED
#endif // CONFIG_SMOOTH_HV
9
,
//
TM
_PRED
9
,
//
PAETH
_PRED
0
,
// NEARESTMV
0
,
// NEARMV
3
,
// ZEROMV
...
...
av1/common/reconintra.c
View file @
96d1c0a5
...
...
@@ -63,7 +63,7 @@ static const uint8_t extend_modes[INTRA_MODES] = {
NEED_LEFT
|
NEED_ABOVE
,
// SMOOTH_V
NEED_LEFT
|
NEED_ABOVE
,
// SMOOTH_H
#endif // CONFIG_SMOOTH_HV
NEED_LEFT
|
NEED_ABOVE
|
NEED_ABOVELEFT
,
//
TM
NEED_LEFT
|
NEED_ABOVE
|
NEED_ABOVELEFT
,
//
PAETH
};
static
const
uint16_t
orders_128x128
[
1
]
=
{
0
};
...
...
@@ -727,7 +727,7 @@ static void av1_init_intra_predictors_internal(void) {
INIT_ALL_SIZES
(
pred
[
D135_PRED
],
d135
);
INIT_ALL_SIZES
(
pred
[
D153_PRED
],
d153
);
INIT_ALL_SIZES
(
pred
[
TM
_PRED
],
paeth
);
INIT_ALL_SIZES
(
pred
[
PAETH
_PRED
],
paeth
);
INIT_ALL_SIZES
(
pred
[
SMOOTH_PRED
],
smooth
);
#if CONFIG_SMOOTH_HV
INIT_ALL_SIZES
(
pred
[
SMOOTH_V_PRED
],
smooth_v
);
...
...
@@ -749,7 +749,7 @@ static void av1_init_intra_predictors_internal(void) {
INIT_ALL_SIZES
(
pred_high
[
D135_PRED
],
highbd_d135
);
INIT_ALL_SIZES
(
pred_high
[
D153_PRED
],
highbd_d153
);
INIT_ALL_SIZES
(
pred_high
[
TM
_PRED
],
highbd_paeth
);
INIT_ALL_SIZES
(
pred_high
[
PAETH
_PRED
],
highbd_paeth
);
INIT_ALL_SIZES
(
pred_high
[
SMOOTH_PRED
],
highbd_smooth
);
#if CONFIG_SMOOTH_HV
INIT_ALL_SIZES
(
pred_high
[
SMOOTH_V_PRED
],
highbd_smooth_v
);
...
...
@@ -1867,14 +1867,15 @@ void av1_d63_filter_predictor_c(uint8_t *dst, ptrdiff_t stride, TX_SIZE tx_size,
#endif
}
void
av1_tm_filter_predictor_c
(
uint8_t
*
dst
,
ptrdiff_t
stride
,
TX_SIZE
tx_size
,
const
uint8_t
*
above
,
const
uint8_t
*
left
)
{
void
av1_paeth_filter_predictor_c
(
uint8_t
*
dst
,
ptrdiff_t
stride
,
TX_SIZE
tx_size
,
const
uint8_t
*
above
,
const
uint8_t
*
left
)
{
#if USE_3TAP_INTRA_FILTER
filter_intra_predictors_3tap
(
dst
,
stride
,
tx_size
,
above
,
left
,
FILTER_
TM
_PRED
);
FILTER_
PAETH
_PRED
);
#else
filter_intra_predictors_4tap
(
dst
,
stride
,
tx_size
,
above
,
left
,
FILTER_
TM
_PRED
);
FILTER_
PAETH
_PRED
);
#endif
}
...
...
@@ -1909,8 +1910,8 @@ static void filter_intra_predictors(FILTER_INTRA_MODE mode, uint8_t *dst,
case
FILTER_D63_PRED
:
av1_d63_filter_predictor
(
dst
,
stride
,
tx_size
,
above
,
left
);
break
;
case
FILTER_
TM
_PRED
:
av1_
tm
_filter_predictor
(
dst
,
stride
,
tx_size
,
above
,
left
);
case
FILTER_
PAETH
_PRED
:
av1_
paeth
_filter_predictor
(
dst
,
stride
,
tx_size
,
above
,
left
);
break
;
default:
assert
(
0
);
}
...
...
@@ -2121,15 +2122,15 @@ void av1_highbd_d63_filter_predictor_c(uint16_t *dst, ptrdiff_t stride,
#endif
}
void
av1_highbd_
tm
_filter_predictor_c
(
uint16_t
*
dst
,
ptrdiff_t
stride
,
TX_SIZE
tx_size
,
const
uint16_t
*
above
,
const
uint16_t
*
left
,
int
bd
)
{
void
av1_highbd_
paeth
_filter_predictor_c
(
uint16_t
*
dst
,
ptrdiff_t
stride
,
TX_SIZE
tx_size
,
const
uint16_t
*
above
,
const
uint16_t
*
left
,
int
bd
)
{
#if USE_3TAP_INTRA_FILTER
highbd_filter_intra_predictors_3tap
(
dst
,
stride
,
tx_size
,
above
,
left
,
FILTER_
TM
_PRED
,
bd
);
FILTER_
PAETH
_PRED
,
bd
);
#else
highbd_filter_intra_predictors_4tap
(
dst
,
stride
,
tx_size
,
above
,
left
,
FILTER_
TM
_PRED
,
bd
);
FILTER_
PAETH
_PRED
,
bd
);
#endif
}
...
...
@@ -2166,8 +2167,8 @@ static void highbd_filter_intra_predictors(FILTER_INTRA_MODE mode,
case
FILTER_D63_PRED
:
av1_highbd_d63_filter_predictor
(
dst
,
stride
,
tx_size
,
above
,
left
,
bd
);
break
;
case
FILTER_
TM
_PRED
:
av1_highbd_
tm
_filter_predictor
(
dst
,
stride
,
tx_size
,
above
,
left
,
bd
);
case
FILTER_
PAETH
_PRED
:
av1_highbd_
paeth
_filter_predictor
(
dst
,
stride
,
tx_size
,
above
,
left
,
bd
);
break
;
default:
assert
(
0
);
}
...
...
av1/common/x86/filterintra_sse4.c
View file @
96d1c0a5
...
...
@@ -574,10 +574,11 @@ void av1_d63_filter_predictor_sse4_1(uint8_t *dst, ptrdiff_t stride, int bs,
FilterPrediction
(
above
,
left
,
bs
,
prm
,
dst
,
stride
);
}
void
av1_tm_filter_predictor_sse4_1
(
uint8_t
*
dst
,
ptrdiff_t
stride
,
int
bs
,
const
uint8_t
*
above
,
const
uint8_t
*
left
)
{
void
av1_paeth_filter_predictor_sse4_1
(
uint8_t
*
dst
,
ptrdiff_t
stride
,
int
bs
,
const
uint8_t
*
above
,
const
uint8_t
*
left
)
{
__m128i
prm
[
5
];
GetIntraFilterParams
(
bs
,
TM
_PRED
,
&
prm
[
0
]);
GetIntraFilterParams
(
bs
,
PAETH
_PRED
,
&
prm
[
0
]);
FilterPrediction
(
above
,
left
,
bs
,
prm
,
dst
,
stride
);
}
...
...
@@ -886,11 +887,11 @@ void av1_highbd_d63_filter_predictor_sse4_1(uint16_t *dst, ptrdiff_t stride,
HighbdFilterPrediction
(
above
,
left
,
bs
,
bd
,
prm
,
dst
,
stride
);
}
void
av1_highbd_
tm
_filter_predictor_sse4_1
(
uint16_t
*
dst
,
ptrdiff_t
stride
,
int
bs
,
const
uint16_t
*
above
,
const
uint16_t
*
left
,
int
bd
)
{
void
av1_highbd_
paeth
_filter_predictor_sse4_1
(
uint16_t
*
dst
,
ptrdiff_t
stride
,
int
bs
,
const
uint16_t
*
above
,
const
uint16_t
*
left
,
int
bd
)
{
__m128i
prm
[
5
];
GetIntraFilterParams
(
bs
,
TM
_PRED
,
&
prm
[
0
]);
GetIntraFilterParams
(
bs
,
PAETH
_PRED
,
&
prm
[
0
]);
HighbdFilterPrediction
(
above
,
left
,
bs
,
bd
,
prm
,
dst
,
stride
);
}
#endif // CONFIG_HIGHBITDEPTH
...
...
av1/encoder/encodeframe.c
View file @
96d1c0a5
...
...
@@ -696,7 +696,7 @@ static void update_state(const AV1_COMP *const cpi, ThreadData *td,
THR_SMOOTH_V
,
/*SMOOTH_V_PRED*/
THR_SMOOTH_H
,
/*SMOOTH_H_PRED*/
#endif // CONFIG_SMOOTH_HV
THR_
TM /*TM
_PRED*/,
THR_
PAETH
/*PAETH
_PRED*/
,
};
++
mode_chosen_counts
[
kf_mode_index
[
mbmi
->
mode
]];
}
else
{
...
...
av1/encoder/mbgraph.c
View file @
96d1c0a5
...
...
@@ -144,7 +144,7 @@ static int find_best_16x16_intra(AV1_COMP *cpi, PREDICTION_MODE *pbest_mode) {
// calculate SATD for each intra prediction mode;
// we're intentionally not doing 4x4, we just want a rough estimate
for
(
mode
=
DC_PRED
;
mode
<=
TM
_PRED
;
mode
++
)
{
for
(
mode
=
DC_PRED
;
mode
<=
PAETH
_PRED
;
mode
++
)
{
unsigned
int
err
;
xd
->
mi
[
0
]
->
mbmi
.
mode
=
mode
;
...
...
av1/encoder/rd.c
View file @
96d1c0a5
...
...
@@ -1314,7 +1314,7 @@ void av1_set_rd_speed_thresholds(AV1_COMP *cpi) {
rd
->
thresh_mult
[
THR_ZEROG
]
+=
2000
;
rd
->
thresh_mult
[
THR_ZEROA
]
+=
2000
;
rd
->
thresh_mult
[
THR_
TM
]
+=
1000
;
rd
->
thresh_mult
[
THR_
PAETH
]
+=
1000
;
#if CONFIG_COMPOUND_SINGLEREF
rd
->
thresh_mult
[
THR_SR_NEAREST_NEARMV
]
+=
1200
;
...
...
av1/encoder/rd.h
View file @
96d1c0a5
...
...
@@ -162,7 +162,7 @@ typedef enum {
#endif // CONFIG_EXT_COMP_REFS
#endif // CONFIG_EXT_REFS
THR_
TM
,
THR_
PAETH
,
THR_SMOOTH
,
#if CONFIG_SMOOTH_HV
...
...
av1/encoder/rdopt.c
View file @
96d1c0a5
...
...
@@ -295,7 +295,7 @@ static const MODE_DEFINITION av1_mode_order[MAX_MODES] = {
#endif // CONFIG_EXT_COMP_REFS
#endif // CONFIG_EXT_REFS
{
TM
_PRED, { INTRA_FRAME, NONE_FRAME } },
{
PAETH
_PRED, { INTRA_FRAME, NONE_FRAME } },
{ SMOOTH_PRED, { INTRA_FRAME, NONE_FRAME } },
#if CONFIG_SMOOTH_HV
...
...
@@ -487,17 +487,17 @@ static const MODE_DEFINITION av1_mode_order[MAX_MODES] = {
};
static const PREDICTION_MODE intra_rd_search_mode_order[INTRA_MODES] = {
DC_PRED, H_PRED, V_PRED, SMOOTH_PRED,
TM
_PRED,
DC_PRED, H_PRED, V_PRED, SMOOTH_PRED,
PAETH
_PRED,
#if CONFIG_SMOOTH_HV
SMOOTH_V_PRED, SMOOTH_H_PRED,
#endif // CONFIG_SMOOTH_HV
D135_PRED, D207_PRED, D153_PRED, D63_PRED, D117_PRED, D45_PRED,
D135_PRED, D207_PRED, D153_PRED, D63_PRED, D117_PRED,
D45_PRED,
};
#if CONFIG_CFL
static const UV_PREDICTION_MODE uv_rd_search_mode_order[UV_INTRA_MODES] = {
UV_DC_PRED, UV_CFL_PRED, UV_H_PRED,
UV_V_PRED, UV_SMOOTH_PRED, UV_
TM
_PRED,
UV_V_PRED, UV_SMOOTH_PRED, UV_
PAETH
_PRED,
#if CONFIG_SMOOTH_HV
UV_SMOOTH_V_PRED, UV_SMOOTH_H_PRED,
#endif // CONFIG_SMOOTH_HV
...
...
@@ -3293,7 +3293,7 @@ static int64_t rd_pick_intra_sub_8x8_y_subblock_mode(
#if CONFIG_PVQ
od_encode_checkpoint(&x->daala_enc, &pre_buf);
#endif
for (mode = DC_PRED; mode <=
TM
_PRED; ++mode) {
for (mode = DC_PRED; mode <=
PAETH
_PRED; ++mode) {
int64_t this_rd;
int ratey = 0;
int64_t distortion = 0;
...
...
@@ -3502,7 +3502,7 @@ static int64_t rd_pick_intra_sub_8x8_y_subblock_mode(
od_encode_checkpoint(&x->daala_enc, &pre_buf);
#endif // CONFIG_PVQ
for (mode = DC_PRED; mode <=
TM
_PRED; ++mode) {
for (mode = DC_PRED; mode <=
PAETH
_PRED; ++mode) {
int64_t this_rd;
int ratey = 0;
int64_t distortion = 0;
...
...
@@ -4286,7 +4286,7 @@ static int64_t rd_pick_intra_sby_mode(const AV1_COMP *const cpi, MACROBLOCK *x,
const MODE_INFO *left_mi = xd->left_mi;
const PREDICTION_MODE A = av1_above_block_mode(mic, above_mi, 0);
const PREDICTION_MODE L = av1_left_block_mode(mic, left_mi, 0);
const PREDICTION_MODE FINAL_MODE_SEARCH =
TM
_PRED + 1;
const PREDICTION_MODE FINAL_MODE_SEARCH =
PAETH
_PRED + 1;
#if CONFIG_PVQ
od_rollback_buffer pre_buf, post_buf;
...
...
@@ -10944,7 +10944,7 @@ void av1_rd_pick_inter_mode_sb(const AV1_COMP *cpi, TileDataEnc *tile_data,
// Only search the oblique modes if the best so far is
// one of the neighboring directional modes
if ((mode_search_skip_flags & FLAG_SKIP_INTRA_BESTINTER) &&
(this_mode >= D45_PRED && this_mode <=
TM
_PRED)) {
(this_mode >= D45_PRED && this_mode <=
PAETH
_PRED)) {
if (best_mode_index >= 0 && best_mbmode.ref_frame[0] > INTRA_FRAME)
continue;
}
...
...
@@ -11151,7 +11151,7 @@ void av1_rd_pick_inter_mode_sb(const AV1_COMP *cpi, TileDataEnc *tile_data,
mbmi->filter_intra_mode_info.filter_intra_mode[1]);
}
#endif // CONFIG_FILTER_INTRA
if (mbmi->mode != DC_PRED && mbmi->mode !=
TM
_PRED)
if (mbmi->mode != DC_PRED && mbmi->mode !=
PAETH
_PRED)
rate2 += intra_cost_penalty;
distortion2 = distortion_y + distortion_uv;
} else {
...
...
av1/encoder/speed_features.h
View file @
96d1c0a5
...
...
@@ -25,7 +25,7 @@ enum {
#if CONFIG_SMOOTH_HV
(
1
<<
SMOOTH_V_PRED
)
|
(
1
<<
SMOOTH_H_PRED
)
|
#endif // CONFIG_SMOOTH_HV
(
1
<<
TM
_PRED
),
(
1
<<
PAETH
_PRED
),
#if CONFIG_CFL
UV_INTRA_ALL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
)
|
(
1
<<
UV_D45_PRED
)
|
(
1
<<
UV_D135_PRED
)
|
...
...
@@ -35,26 +35,26 @@ enum {
#if CONFIG_SMOOTH_HV
(
1
<<
UV_SMOOTH_V_PRED
)
|
(
1
<<
UV_SMOOTH_H_PRED
)
|
#endif // CONFIG_SMOOTH_HV
(
1
<<
UV_
TM
_PRED
)
|
(
1
<<
UV_CFL_PRED
),
(
1
<<
UV_
PAETH
_PRED
)
|
(
1
<<
UV_CFL_PRED
),
UV_INTRA_DC
=
(
1
<<
UV_DC_PRED
),
UV_INTRA_DC_CFL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_CFL_PRED
),
UV_INTRA_DC_TM
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
TM
_PRED
),
UV_INTRA_DC_
TM
_CFL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
TM
_PRED
)
|
(
1
<<
UV_CFL_PRED
),
UV_INTRA_DC_TM
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
PAETH
_PRED
),
UV_INTRA_DC_
PAETH
_CFL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
PAETH
_PRED
)
|
(
1
<<
UV_CFL_PRED
),
UV_INTRA_DC_H_V
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
),
UV_INTRA_DC_H_V_CFL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
)
|
(
1
<<
UV_CFL_PRED
),
UV_INTRA_DC_
TM
_H_V
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
TM
_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
),
UV_INTRA_DC_
TM
_H_V_CFL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
TM
_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
)
|
(
1
<<
UV_CFL_PRED
),
UV_INTRA_DC_
PAETH
_H_V
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
PAETH
_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
),
UV_INTRA_DC_
PAETH
_H_V_CFL
=
(
1
<<
UV_DC_PRED
)
|
(
1
<<
UV_
PAETH
_PRED
)
|
(
1
<<
UV_V_PRED
)
|
(
1
<<
UV_H_PRED
)
|
(
1
<<
UV_CFL_PRED
),
#endif // CONFIG_CFL
INTRA_DC
=
(
1
<<
DC_PRED
),
INTRA_DC_TM
=
(
1
<<
DC_PRED
)
|
(
1
<<
TM
_PRED
),
INTRA_DC_TM
=
(
1
<<
DC_PRED
)
|
(
1
<<
PAETH
_PRED
),
INTRA_DC_H_V
=
(
1
<<
DC_PRED
)
|
(
1
<<
V_PRED
)
|
(
1
<<
H_PRED
),
INTRA_DC_
TM
_H_V
=
(
1
<<
DC_PRED
)
|
(
1
<<
TM
_PRED
)
|
(
1
<<
V_PRED
)
|
(
1
<<
H_PRED
)
INTRA_DC_
PAETH
_H_V
=
(
1
<<
DC_PRED
)
|
(
1
<<
PAETH
_PRED
)
|
(
1
<<
V_PRED
)
|
(
1
<<
H_PRED
)
};
enum
{
...
...
examples/inspect.c
View file @
96d1c0a5
...
...
@@ -202,7 +202,7 @@ const map_entry prediction_mode_map[] = {
#if CONFIG_SMOOTH_HV
ENUM
(
SMOOTH_V_PRED
),
ENUM
(
SMOOTH_H_PRED
),
#endif // CONFIG_SMOOTH_HV
ENUM
(
TM
_PRED
),
ENUM
(
NEARESTMV
),
ENUM
(
NEARMV
),
ENUM
(
PAETH
_PRED
),
ENUM
(
NEARESTMV
),
ENUM
(
NEARMV
),
ENUM
(
ZEROMV
),
ENUM
(
NEWMV
),
ENUM
(
NEAREST_NEARESTMV
),
ENUM
(
NEAR_NEARMV
),
ENUM
(
NEAREST_NEWMV
),
ENUM
(
NEW_NEARESTMV
),
ENUM
(
NEAR_NEWMV
),
ENUM
(
NEW_NEARMV
),
ENUM
(
ZERO_ZEROMV
),
...
...
@@ -219,7 +219,7 @@ const map_entry uv_prediction_mode_map[] = {
#if CONFIG_SMOOTH_HV
ENUM
(
UV_SMOOTH_V_PRED
),
ENUM
(
UV_SMOOTH_H_PRED
),
#endif // CONFIG_SMOOTH_HV
ENUM
(
UV_
TM
_PRED
),
ENUM
(
UV_
PAETH
_PRED
),
#if CONFIG_CFL
ENUM
(
UV_CFL_PRED
),
#endif
...
...
test/filterintra_predictors_test.cc
View file @
96d1c0a5
...
...
@@ -284,8 +284,8 @@ const PredFuncMode kPredFuncMdArray[] = {
D207_PRED
),
make_tuple
(
av1_d63_filter_predictor_c
,
av1_d63_filter_predictor_sse4_1
,
D63_PRED
),
make_tuple
(
av1_
tm
_filter_predictor_c
,
av1_
tm
_filter_predictor_sse4_1
,
TM
_PRED
),
make_tuple
(
av1_
paeth
_filter_predictor_c
,
av1_
paeth
_filter_predictor_sse4_1
,
PAETH
_PRED
),
};
const
int
kBlkSize
[]
=
{
4
,
8
,
16
,
32
};
...
...
@@ -315,8 +315,8 @@ const HbdPredFuncMode kHbdPredFuncMdArray[] = {
av1_highbd_d207_filter_predictor_sse4_1
,
D207_PRED
),
make_tuple
(
av1_highbd_d63_filter_predictor_c
,
av1_highbd_d63_filter_predictor_sse4_1
,
D63_PRED
),
make_tuple
(
av1_highbd_
tm
_filter_predictor_c
,
av1_highbd_
tm
_filter_predictor_sse4_1
,
TM
_PRED
),
make_tuple
(
av1_highbd_
paeth
_filter_predictor_c
,
av1_highbd_
paeth
_filter_predictor_sse4_1
,
PAETH
_PRED
),
};
const
int
kBd
[]
=
{
10
,
12
};
...
...
test/test_intra_pred_speed.cc
View file @
96d1c0a5
...
...
@@ -37,7 +37,7 @@ const int kNumAv1IntraFuncs = INTRA_MODES + 3; // 4 DC predictor variants.
const
char
*
kAv1IntraPredNames
[
kNumAv1IntraFuncs
]
=
{
"DC_PRED"
,
"DC_LEFT_PRED"
,
"DC_TOP_PRED"
,
"DC_128_PRED"
,
"V_PRED"
,
"H_PRED"
,
"D45_PRED"
,
"D135_PRED"
,
"D117_PRED"
,
"D153_PRED"
,
"D207_PRED"
,
"D63_PRED"
,
"
TM
_PRED"
,
"SMOOTH_PRED"
,
"D207_PRED"
,
"D63_PRED"
,
"
PAETH
_PRED"
,
"SMOOTH_PRED"
,
#if CONFIG_SMOOTH_HV
"SMOOTH_V_PRED"
,
"SMOOTH_H_PRED"
,
#endif // CONFIG_SMOOTH_HV
...
...
@@ -367,15 +367,15 @@ void TestIntraPred32(const char *block_name, AvxPredFunc const *pred_funcs) {
// Defines a test case for |arch| (e.g., C, SSE2, ...) passing the predictors
// to |test_func|. The test name is 'arch.test_func', e.g., C.TestIntraPred4.
#define INTRA_PRED_TEST(arch, test_func, blk, dc, dc_left, dc_top, dc_128, v, \
h, d45e, d135, d117, d153, d207e, d63e,
tm
, smooth,
\
smooth_v, smooth_h) \
TEST(arch, DISABLED_##test_func) { \
static const AvxPredFunc aom_intra_pred[] = { \
dc, dc_left, dc_top, dc_128, v, h, d45e, d135,
\
d117, d153, d207e, d63e,
tm
, smooth, smooth_v, smooth_h
\
}; \
test_func(blk, aom_intra_pred); \
#define INTRA_PRED_TEST(arch, test_func, blk, dc, dc_left, dc_top, dc_128, v,
\
h, d45e, d135, d117, d153, d207e, d63e,
paeth
, smooth, \
smooth_v, smooth_h)
\
TEST(arch, DISABLED_##test_func) {
\
static const AvxPredFunc aom_intra_pred[] = {
\
dc, dc_left, dc_top, dc_128, v,
h, d45e, d135, \
d117, d153, d207e, d63e,
paeth
, smooth, smooth_v, smooth_h \
};
\
test_func(blk, aom_intra_pred);
\
}
// -----------------------------------------------------------------------------
...
...
@@ -1106,15 +1106,15 @@ void TestHighbdIntraPred32(const char *block_name,
}
// namespace
#define HIGHBD_INTRA_PRED_TEST(arch, test_func, block_size, dc, dc_left, \
dc_top, dc_128, v, h, d45e, d135, d117, d153, \
d207e, d63e,
tm
, smooth, smooth_v, smooth_h)
\
TEST(arch, DISABLED_##test_func) { \
static const AvxHighbdPredFunc aom_intra_pred[] = { \
dc, dc_left, dc_top, dc_128, v, h, d45e, d135,
\
d117, d153, d207e, d63e,
tm
, smooth, smooth_v, smooth_h
\
}; \
test_func(block_size, aom_intra_pred); \
#define HIGHBD_INTRA_PRED_TEST(arch, test_func, block_size, dc, dc_left,
\
dc_top, dc_128, v, h, d45e, d135, d117, d153,
\
d207e, d63e,
paeth
, smooth, smooth_v, smooth_h) \
TEST(arch, DISABLED_##test_func) {
\
static const AvxHighbdPredFunc aom_intra_pred[] = {
\
dc, dc_left, dc_top, dc_128, v,
h, d45e, d135, \
d117, d153, d207e, d63e,
paeth
, smooth, smooth_v, smooth_h \
};
\
test_func(block_size, aom_intra_pred);
\
}
// -----------------------------------------------------------------------------
...
...
tools/aom_entropy_optimizer.c
View file @
96d1c0a5
...
...
@@ -32,8 +32,8 @@
const
aom_tree_index
av1_intra_mode_tree
[
TREE_SIZE
(
INTRA_MODES
)]
=
{
-
DC_PRED
,
2
,
/* 0 = DC_NODE */
-
TM
_PRED
,
4
,
/* 1 =
TM
_NODE */
-
PAETH
_PRED
,
4
,
/* 1 =
PAETH
_NODE */
-
V_PRED
,
6
,
/* 2 = V_NODE */
8
,
...
...
@@ -57,16 +57,16 @@ const aom_tree_index av1_intra_mode_tree[TREE_SIZE(INTRA_MODES)] = {
};
#else
const
aom_tree_index
av1_intra_mode_tree
[
TREE_SIZE
(
INTRA_MODES
)]
=
{
-
DC_PRED
,
2
,
/* 0 = DC_NODE */
-
TM
_PRED
,
4
,
/* 1 =
TM
_NODE */
-
V_PRED
,
6
,
/* 2 = V_NODE */
8
,
12
,
/* 3 = COM_NODE */
-
H_PRED
,
10
,
/* 4 = H_NODE */
-
D135_PRED
,
-
D117_PRED
,
/* 5 = D135_NODE */
-
D45_PRED
,
14
,
/* 6 = D45_NODE */
-
D63_PRED
,
16
,
/* 7 = D63_NODE */
-
D153_PRED
,
18
,
/* 8 = D153_NODE */
-
D207_PRED
,
-
SMOOTH_PRED
,
/* 9 = D207_NODE */
-
DC_PRED
,
2
,
/* 0 = DC_NODE */
-
PAETH
_PRED
,
4
,
/* 1 =
PAETH
_NODE */
-
V_PRED
,
6
,
/* 2 = V_NODE */
8
,
12
,
/* 3 = COM_NODE */
-
H_PRED
,
10
,
/* 4 = H_NODE */
-
D135_PRED
,
-
D117_PRED
,
/* 5 = D135_NODE */
-
D45_PRED
,
14
,
/* 6 = D45_NODE */
-
D63_PRED
,
16
,
/* 7 = D63_NODE */
-
D153_PRED
,
18
,
/* 8 = D153_NODE */
-
D207_PRED
,
-
SMOOTH_PRED
,
/* 9 = D207_NODE */
};
#endif // CONFIG_SMOOTH_HV
...
...
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