@ -421,77 +421,77 @@ static void OPNAME ## cavs_filt16_hv_ ## NAME(uint8_t *dst, uint8_t *src1, uint8
} \
} \
# define CAVS_MC(OPNAME, SIZE) \
# define CAVS_MC(OPNAME, SIZE) \
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc10_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc10_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _h_qpel_l ( dst , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _h_qpel_l ( dst , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc20_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc20_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _h_hpel ( dst , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _h_hpel ( dst , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc30_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc30_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _h_qpel_r ( dst , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _h_qpel_r ( dst , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc01_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc01_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _v_qpel_l ( dst , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _v_qpel_l ( dst , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc02_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc02_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _v_hpel ( dst , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _v_hpel ( dst , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc03_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc03_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _v_qpel_r ( dst , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _v_qpel_r ( dst , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc22_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc22_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_jj ( dst , src , NULL , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_jj ( dst , src , NULL , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc11_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc11_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc13_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc13_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src + stride , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src + stride , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc31_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc31_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src + 1 , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src + 1 , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc33_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc33_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src + stride + 1 , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_egpr ( dst , src , src + stride + 1 , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc21_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc21_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_ff ( dst , src , src + stride + 1 , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_ff ( dst , src , src + stride + 1 , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc12_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc12_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_ii ( dst , src , src + stride + 1 , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_ii ( dst , src , src + stride + 1 , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc32_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc32_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_kk ( dst , src , src + stride + 1 , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_kk ( dst , src , src + stride + 1 , stride , stride ) ; \
} \
} \
\
\
static void ff_ # # OPNAME # # cavs_qpel # # SIZE # # _mc23_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
static void OPNAME # # cavs_qpel # # SIZE # # _mc23_c ( uint8_t * dst , uint8_t * src , ptrdiff_t stride ) \
{ \
{ \
OPNAME # # cavs_filt # # SIZE # # _hv_qq ( dst , src , src + stride + 1 , stride , stride ) ; \
OPNAME # # cavs_filt # # SIZE # # _hv_qq ( dst , src , src + stride + 1 , stride , stride ) ; \
} \
} \
@ -527,29 +527,29 @@ CAVS_MC(put_, 16)
CAVS_MC ( avg_ , 8 )
CAVS_MC ( avg_ , 8 )
CAVS_MC ( avg_ , 16 )
CAVS_MC ( avg_ , 16 )
# define ff_ put_cavs_qpel8_mc00_c ff_put_pixels8x8_c
# define put_cavs_qpel8_mc00_c ff_put_pixels8x8_c
# define ff_ avg_cavs_qpel8_mc00_c ff_avg_pixels8x8_c
# define avg_cavs_qpel8_mc00_c ff_avg_pixels8x8_c
# define ff_ put_cavs_qpel16_mc00_c ff_put_pixels16x16_c
# define put_cavs_qpel16_mc00_c ff_put_pixels16x16_c
# define ff_ avg_cavs_qpel16_mc00_c ff_avg_pixels16x16_c
# define avg_cavs_qpel16_mc00_c ff_avg_pixels16x16_c
av_cold void ff_cavsdsp_init ( CAVSDSPContext * c , AVCodecContext * avctx ) {
av_cold void ff_cavsdsp_init ( CAVSDSPContext * c , AVCodecContext * avctx ) {
# define dspfunc(PFX, IDX, NUM) \
# define dspfunc(PFX, IDX, NUM) \
c - > PFX # # _pixels_tab [ IDX ] [ 0 ] = ff_ # # PFX # # NUM # # _mc00_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 0 ] = PFX # # NUM # # _mc00_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 1 ] = ff_ # # PFX # # NUM # # _mc10_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 1 ] = PFX # # NUM # # _mc10_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 2 ] = ff_ # # PFX # # NUM # # _mc20_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 2 ] = PFX # # NUM # # _mc20_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 3 ] = ff_ # # PFX # # NUM # # _mc30_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 3 ] = PFX # # NUM # # _mc30_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 4 ] = ff_ # # PFX # # NUM # # _mc01_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 4 ] = PFX # # NUM # # _mc01_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 5 ] = ff_ # # PFX # # NUM # # _mc11_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 5 ] = PFX # # NUM # # _mc11_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 6 ] = ff_ # # PFX # # NUM # # _mc21_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 6 ] = PFX # # NUM # # _mc21_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 7 ] = ff_ # # PFX # # NUM # # _mc31_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 7 ] = PFX # # NUM # # _mc31_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 8 ] = ff_ # # PFX # # NUM # # _mc02_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 8 ] = PFX # # NUM # # _mc02_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 9 ] = ff_ # # PFX # # NUM # # _mc12_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 9 ] = PFX # # NUM # # _mc12_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 10 ] = ff_ # # PFX # # NUM # # _mc22_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 10 ] = PFX # # NUM # # _mc22_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 11 ] = ff_ # # PFX # # NUM # # _mc32_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 11 ] = PFX # # NUM # # _mc32_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 12 ] = ff_ # # PFX # # NUM # # _mc03_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 12 ] = PFX # # NUM # # _mc03_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 13 ] = ff_ # # PFX # # NUM # # _mc13_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 13 ] = PFX # # NUM # # _mc13_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 14 ] = ff_ # # PFX # # NUM # # _mc23_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 14 ] = PFX # # NUM # # _mc23_c ; \
c - > PFX # # _pixels_tab [ IDX ] [ 15 ] = ff_ # # PFX # # NUM # # _mc33_c
c - > PFX # # _pixels_tab [ IDX ] [ 15 ] = PFX # # NUM # # _mc33_c
dspfunc ( put_cavs_qpel , 0 , 16 ) ;
dspfunc ( put_cavs_qpel , 0 , 16 ) ;
dspfunc ( put_cavs_qpel , 1 , 8 ) ;
dspfunc ( put_cavs_qpel , 1 , 8 ) ;
dspfunc ( avg_cavs_qpel , 0 , 16 ) ;
dspfunc ( avg_cavs_qpel , 0 , 16 ) ;