On 19/03/14 18:56, Martin Storsjö wrote: > On Wed, 19 Mar 2014, Luca Barbato wrote: > >> On 19/03/14 18:24, Ben Avison wrote: >>> Verified with profiling that this doesn't have a measurable effect upon >>> overall performance. >>> --- >>> libavcodec/mlpdec.c | 37 ++++++++++++------------------------- >>> libavcodec/mlpdsp.c | 33 +++++++++++++++++++++++++++++++++ >>> libavcodec/mlpdsp.h | 23 +++++++++++++++++++++++ >>> 3 files changed, 68 insertions(+), 25 deletions(-) >>> >>> diff --git a/libavcodec/mlpdsp.h b/libavcodec/mlpdsp.h >>> index c985a17..bd864d9 100644 >>> --- a/libavcodec/mlpdsp.h >>> +++ b/libavcodec/mlpdsp.h >>> @@ -24,11 +24,34 @@ >>> >>> #include <stdint.h> >>> >>> +void ff_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); >>> + >>> typedef struct MLPDSPContext { >>> 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); >>> + 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); >> >> Could you please try to have the function accept the m and s context >> instead of having all those parameters? Does it work equally well? > > That requires hand-coding (and manually updating) the struct element > offsets (see libavcodec/arm/asm-offsets.h and mpegvideo_arm.c) and IIRC > we generally tend to move away from it. >
Fine as it is then. lu _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel