29                                int firorder, 
int iirorder,
 
   31                                int blocksize, 
int32_t *sample_buffer);
 
   35                                  const int8_t *noise_buffer,
 
   40                                  int matrix_noise_shift,
 
   41                                  int access_unit_size_pow2,
 
   44 #define DECLARE_PACK(order,channels,shift) \ 
   45     int32_t ff_mlp_pack_output_##order##order_##channels##ch_##shift##shift_armv6(int32_t, uint16_t, int32_t (*)[], void *, uint8_t*, int8_t *, uint8_t, int); 
   46 #define ENUMERATE_PACK(order,channels,shift) \ 
   47     ff_mlp_pack_output_##order##order_##channels##ch_##shift##shift_armv6, 
   48 #define PACK_CHANNELS(macro,order,channels) \ 
   49         macro(order,channels,0) \ 
   50         macro(order,channels,1) \ 
   51         macro(order,channels,2) \ 
   52         macro(order,channels,3) \ 
   53         macro(order,channels,4) \ 
   54         macro(order,channels,5) \ 
   55         macro(order,channels,mixed) 
   56 #define PACK_ORDER(macro,order) \ 
   57         PACK_CHANNELS(macro,order,2) \ 
   58         PACK_CHANNELS(macro,order,6) \ 
   59         PACK_CHANNELS(macro,order,8) 
   60 #define PACK_ALL(macro) \ 
   61         PACK_ORDER(macro,outof) \ 
   65 #define ff_mlp_pack_output_outoforder_2ch_mixedshift_armv6 0 
   66 #define ff_mlp_pack_output_outoforder_6ch_mixedshift_armv6 0 
   67 #define ff_mlp_pack_output_outoforder_8ch_mixedshift_armv6 0 
   69 #define ff_mlp_pack_output_outoforder_2ch_0shift_armv6 0 
   70 #define ff_mlp_pack_output_outoforder_2ch_1shift_armv6 0 
   71 #define ff_mlp_pack_output_outoforder_2ch_2shift_armv6 0 
   72 #define ff_mlp_pack_output_outoforder_2ch_3shift_armv6 0 
   73 #define ff_mlp_pack_output_outoforder_2ch_4shift_armv6 0 
   74 #define ff_mlp_pack_output_outoforder_2ch_5shift_armv6 0 
   75 #define ff_mlp_pack_output_outoforder_6ch_0shift_armv6 0 
   76 #define ff_mlp_pack_output_outoforder_6ch_1shift_armv6 0 
   77 #define ff_mlp_pack_output_outoforder_6ch_2shift_armv6 0 
   78 #define ff_mlp_pack_output_outoforder_6ch_3shift_armv6 0 
   79 #define ff_mlp_pack_output_outoforder_6ch_4shift_armv6 0 
   80 #define ff_mlp_pack_output_outoforder_6ch_5shift_armv6 0 
   81 #define ff_mlp_pack_output_outoforder_8ch_0shift_armv6 0 
   82 #define ff_mlp_pack_output_outoforder_8ch_1shift_armv6 0 
   83 #define ff_mlp_pack_output_outoforder_8ch_2shift_armv6 0 
   84 #define ff_mlp_pack_output_outoforder_8ch_3shift_armv6 0 
   85 #define ff_mlp_pack_output_outoforder_8ch_4shift_armv6 0 
   86 #define ff_mlp_pack_output_outoforder_8ch_5shift_armv6 0 
   95     int shift = output_shift[0] < 0 || output_shift[0] > 5 ? 6 : output_shift[0];
 
  105     switch (max_matrix_channel) {
 
  119     for (i = 0; i <= max_matrix_channel; i++) {
 
  120         if (shift != 6 && output_shift[i] != shift)
 
  122         if (ch_assign[i] != i)
 
  129     if (shift == 6 && !inorder)
 
  133     return routine[(inorder*3+ch_index)*7+shift];
 
static int shift(int a, int b)
void(* mlp_rematrix_channel)(int32_t *samples, const int32_t *coeffs, const uint8_t *bypassed_lsbs, const int8_t *noise_buffer, int index, unsigned int dest_ch, uint16_t blockpos, unsigned int maxchan, int matrix_noise_shift, int access_unit_size_pow2, int32_t mask)
#define have_armv6(flags)
#define ENUMERATE_PACK(order, channels, shift)
Macro definitions for various function/variable attributes. 
#define have_armv5te(flags)
int32_t ff_mlp_pack_output(int32_t lossless_check_data, uint16_t blockpos, int32_t(*sample_buffer)[MAX_CHANNELS], void *data, uint8_t *ch_assign, int8_t *output_shift, uint8_t max_matrix_channel, int is32)
static const uint16_t mask[17]
static int32_t(*)(int32_t, uint16_t, int32_t(*)[], void *, uint8_t *, int8_t *, uint8_t, int) mlp_select_pack_output_armv6(uint8_t *ch_assign, int8_t *output_shift, uint8_t max_matrix_channel, int is32)
int32_t(*(* mlp_select_pack_output)(uint8_t *ch_assign, int8_t *output_shift, uint8_t max_matrix_channel, int is32))(int32_t
#define DECLARE_PACK(order, channels, shift)
av_cold void ff_mlpdsp_init_arm(MLPDSPContext *c)
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU. 
void ff_mlp_rematrix_channel_arm(int32_t *samples, const int32_t *coeffs, const uint8_t *bypassed_lsbs, const int8_t *noise_buffer, int index, unsigned int dest_ch, uint16_t blockpos, unsigned int maxchan, int matrix_noise_shift, int access_unit_size_pow2, int32_t mask)
void ff_mlp_filter_channel_arm(int32_t *state, const int32_t *coeff, int firorder, int iirorder, unsigned int filter_shift, int32_t mask, int blocksize, int32_t *sample_buffer)
static const int16_t coeffs[]
static const double coeff[2][5]
void(* mlp_filter_channel)(int32_t *state, const int32_t *coeff, int firorder, int iirorder, unsigned int filter_shift, int32_t mask, int blocksize, int32_t *sample_buffer)