X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libswresample%2Fswresample_internal.h;h=4764ddfd6f653c06185c178144e49dd9f782aa75;hb=3a5fc3857435ee1653379e4c8e60d254563a82c9;hp=a9f1fe1211fb424c2c3b8a67f7fd65ffa270f075;hpb=9b471735459d7274f6d7cc646f1d01011f844862;p=ffmpeg diff --git a/libswresample/swresample_internal.h b/libswresample/swresample_internal.h index a9f1fe1211f..4764ddfd6f6 100644 --- a/libswresample/swresample_internal.h +++ b/libswresample/swresample_internal.h @@ -33,7 +33,7 @@ typedef struct AudioData{ } AudioData; typedef struct SwrContext { //FIXME find unused fields - AVClass *av_class; + const AVClass *av_class; int log_level_offset; void *log_ctx; enum AVSampleFormat in_sample_fmt; @@ -44,7 +44,9 @@ typedef struct SwrContext { //FIXME find unused fields int in_sample_rate; int out_sample_rate; int flags; - float slev, clev; + float slev, clev, rematrix_volume; + const int *channel_map; ///< channel index (or -1 if muted channel) map + int used_ch_count; ///< number of used channels (mapped channel count if channel_map, otherwise in.ch_count) //below are private int int_bps; @@ -62,7 +64,7 @@ typedef struct SwrContext { //FIXME find unused fields struct AVResampleContext *resample; float matrix[SWR_CH_MAX][SWR_CH_MAX]; - int16_t matrix16[SWR_CH_MAX][SWR_CH_MAX]; + int32_t matrix32[SWR_CH_MAX][SWR_CH_MAX]; uint8_t matrix_ch[SWR_CH_MAX][SWR_CH_MAX+1]; //TODO callbacks for asm optims @@ -72,7 +74,7 @@ struct AVResampleContext *swr_resample_init(struct AVResampleContext *, int out_ void swr_resample_free(struct AVResampleContext **c); int swr_multiple_resample(struct AVResampleContext *c, AudioData *dst, int dst_size, AudioData *src, int src_size, int *consumed); void swr_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance); -int swr_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx); +int swr_resample(struct AVResampleContext *c, short *dst, const short *src, int *consumed, int src_size, int dst_size, int update_ctx); int swr_rematrix_init(SwrContext *s); int swr_rematrix(SwrContext *s, AudioData *out, AudioData *in, int len, int mustcopy);