[FFmpeg-devel] [PATCH 5/6] truehd: break out part of output_data into platform-specific callback.

James Almer jamrial at gmail.com
Wed Mar 19 19:27:54 CET 2014


On 19/03/14 2:26 PM, Ben Avison wrote:
> diff --git a/libavcodec/mlpdsp.h b/libavcodec/mlpdsp.h
> index f98e9be..5bc901f 100644
> --- a/libavcodec/mlpdsp.h
> +++ b/libavcodec/mlpdsp.h
> @@ -23,6 +23,7 @@
>  #define AVCODEC_MLPDSP_H
>  
>  #include <stdint.h>
> +#include "mlp.h"
>  
>  void ff_mlp_rematrix_channel(int32_t *samples,
>                               const int32_t *coeffs,
> @@ -36,6 +37,15 @@ void ff_mlp_rematrix_channel(int32_t *samples,
>                               int access_unit_size_pow2,
>                               int32_t mask);
>  
> +int32_t ff_mlp_pack_output(int32_t lossless_check_data,
> +                           int32_t (*sample_buffer)[MAX_CHANNELS],
> +                           void *data,
> +                           uint16_t blockpos,
> +                           uint8_t max_matrix_channel,
> +                           int is32,
> +                           uint8_t *ch_assign,
> +                           int8_t *output_shift);
> +
>  typedef struct MLPDSPContext {
>      void (*mlp_filter_channel)(int32_t *state, const int32_t *coeff,
>                                 int firorder, int iirorder,
> @@ -52,6 +62,18 @@ typedef struct MLPDSPContext {
>                                   int matrix_noise_shift,
>                                   int access_unit_size_pow2,
>                                   int32_t mask);
> +    int32_t (*(*mlp_select_pack_output)(uint8_t max_matrix_channel,
> +                                        int is32,
> +                                        uint8_t *ch_assign,
> +                                        int8_t *output_shift))(int32_t, int32_t (*)[], void *, uint16_t, uint8_t, int, uint8_t*, int8_t *);
> +    int32_t (*mlp_pack_output)(int32_t lossless_check_data,
> +                               int32_t (*sample_buffer)[MAX_CHANNELS],
> +                               void *data,
> +                               uint16_t blockpos,
> +                               uint8_t max_matrix_channel,
> +                               int is32,
> +                               uint8_t *ch_assign,
> +                               int8_t *output_shift);
>  } MLPDSPContext;

As i said elsewhere, please put pointers first if possible, like you did 
for mlp_rematrix_channel.



More information about the ffmpeg-devel mailing list