Commit db949919 authored by Jingning Han's avatar Jingning Han

Add 2x2 intra predictors

Add 2x2 DC, V, H, TM intra predictors.

Change-Id: I66937dcbdfbb47b6bc8e6fe9b079a2d5ee4368a9
parent 49e1aaac
......@@ -62,6 +62,27 @@ foreach $w (@block_widths) {
# Intra prediction
#
add_proto qw/void aom_dc_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_predictor_2x2/;
add_proto qw/void aom_dc_top_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_top_predictor_2x2/;
add_proto qw/void aom_dc_left_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_left_predictor_2x2/;
add_proto qw/void aom_dc_128_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_dc_128_predictor_2x2/;
add_proto qw/void aom_v_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_v_predictor_2x2/;
add_proto qw/void aom_h_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_h_predictor_2x2/;
add_proto qw/void aom_tm_predictor_2x2/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_tm_predictor_2x2/;
add_proto qw/void aom_d207_predictor_4x4/, "uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left";
specialize qw/aom_d207_predictor_4x4/, "$sse2_x86inc";
......
......@@ -785,47 +785,46 @@ static INLINE void highbd_dc_predictor(uint16_t *dst, ptrdiff_t stride, int bs,
highbd_##type##_predictor(dst, stride, size, above, left, bd); \
}
#define intra_pred_allsizes(type) \
intra_pred_sized(type, 4) intra_pred_sized(type, 8) \
intra_pred_sized(type, 16) intra_pred_sized(type, 32) \
intra_pred_highbd_sized(type, 4) intra_pred_highbd_sized(type, 8) \
intra_pred_highbd_sized(type, 16) \
intra_pred_highbd_sized(type, 32)
#define intra_pred_no_4x4(type) \
#define intra_pred_allsizes(type) \
intra_pred_sized(type, 2) intra_pred_sized(type, 4) intra_pred_sized( \
type, 8) intra_pred_sized(type, 16) intra_pred_sized(type, 32) \
intra_pred_highbd_sized(type, 4) intra_pred_highbd_sized(type, 8) \
intra_pred_highbd_sized(type, 16) intra_pred_highbd_sized(type, 32)
#define intra_pred_above_4x4(type) \
intra_pred_sized(type, 8) intra_pred_sized(type, 16) \
intra_pred_sized(type, 32) intra_pred_highbd_sized(type, 4) \
intra_pred_highbd_sized(type, 8) intra_pred_highbd_sized(type, 16) \
intra_pred_highbd_sized(type, 32)
#else
#define intra_pred_allsizes(type) \
intra_pred_sized(type, 4) intra_pred_sized(type, 8) \
intra_pred_sized(type, 16) intra_pred_sized(type, 32)
#define intra_pred_allsizes(type) \
intra_pred_sized(type, 2) intra_pred_sized(type, 4) intra_pred_sized( \
type, 8) intra_pred_sized(type, 16) intra_pred_sized(type, 32)
#define intra_pred_no_4x4(type) \
#define intra_pred_above_4x4(type) \
intra_pred_sized(type, 8) intra_pred_sized(type, 16) \
intra_pred_sized(type, 32)
#endif // CONFIG_AOM_HIGHBITDEPTH
/* clang-format off */
intra_pred_no_4x4(d207)
intra_pred_no_4x4(d63)
intra_pred_no_4x4(d45)
intra_pred_above_4x4(d207) // NOLINT
intra_pred_above_4x4(d63) // NOLINT
intra_pred_above_4x4(d45) // NOLINT
#if CONFIG_MISC_FIXES
intra_pred_allsizes(d207e)
intra_pred_allsizes(d63e)
intra_pred_no_4x4(d45e)
intra_pred_allsizes(d207e) // NOLINT
intra_pred_allsizes(d63e) // NOLINT
intra_pred_above_4x4(d45e) // NOLINT
#endif
intra_pred_no_4x4(d117)
intra_pred_no_4x4(d135)
intra_pred_no_4x4(d153)
intra_pred_allsizes(v)
intra_pred_allsizes(h)
intra_pred_allsizes(tm)
intra_pred_allsizes(dc_128)
intra_pred_allsizes(dc_left)
intra_pred_allsizes(dc_top)
intra_pred_allsizes(dc)
intra_pred_above_4x4(d117) // NOLINT
intra_pred_above_4x4(d135) // NOLINT
intra_pred_above_4x4(d153) // NOLINT
intra_pred_allsizes(v) // NOLINT
intra_pred_allsizes(h) // NOLINT
intra_pred_allsizes(tm) // NOLINT
intra_pred_allsizes(dc_128) // NOLINT
intra_pred_allsizes(dc_left) // NOLINT
intra_pred_allsizes(dc_top) // NOLINT
intra_pred_allsizes(dc) // NOLINT
#undef intra_pred_allsizes
/* clang-format on */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment