diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-04-28 11:19:22 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-04-28 13:02:58 +0200 |
commit | edbde5222688c18eecd7a589779aa8696b64a6ab (patch) | |
tree | 28405bcbcb939665b6e8e2b0efbb160f66168239 /libswresample/resample.c | |
parent | 9d4a1aca883965cfc2bbc5a6f9c9d8f4b93f9d74 (diff) | |
download | ffmpeg-edbde5222688c18eecd7a589779aa8696b64a6ab.tar.gz |
swr: change sample format representation so as to maintain the planer/packed distinction.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswresample/resample.c')
-rw-r--r-- | libswresample/resample.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/libswresample/resample.c b/libswresample/resample.c index 806aba8df4..868f3eb949 100644 --- a/libswresample/resample.c +++ b/libswresample/resample.c @@ -131,19 +131,19 @@ static int build_filter(ResampleContext *c, void *filter, double factor, int tap /* normalize so that an uniform color remains the same */ switch(c->format){ - case AV_SAMPLE_FMT_S16: + case AV_SAMPLE_FMT_S16P: for(i=0;i<tap_count;i++) ((int16_t*)filter)[ph * tap_count + i] = av_clip(lrintf(tab[i] * scale / norm), INT16_MIN, INT16_MAX); break; - case AV_SAMPLE_FMT_S32: + case AV_SAMPLE_FMT_S32P: for(i=0;i<tap_count;i++) ((int32_t*)filter)[ph * tap_count + i] = av_clip(lrintf(tab[i] * scale / norm), INT32_MIN, INT32_MAX); break; - case AV_SAMPLE_FMT_FLT: + case AV_SAMPLE_FMT_FLTP: for(i=0;i<tap_count;i++) ((float*)filter)[ph * tap_count + i] = tab[i] * scale / norm; break; - case AV_SAMPLE_FMT_DBL: + case AV_SAMPLE_FMT_DBLP: for(i=0;i<tap_count;i++) ((double*)filter)[ph * tap_count + i] = tab[i] * scale / norm; break; @@ -205,14 +205,14 @@ ResampleContext *swri_resample_init(ResampleContext *c, int out_rate, int in_rat c->felem_size= av_get_bytes_per_sample(c->format); switch(c->format){ - case AV_SAMPLE_FMT_S16: + case AV_SAMPLE_FMT_S16P: c->filter_shift = 15; break; - case AV_SAMPLE_FMT_S32: + case AV_SAMPLE_FMT_S32P: c->filter_shift = 30; break; - case AV_SAMPLE_FMT_FLT: - case AV_SAMPLE_FMT_DBL: + case AV_SAMPLE_FMT_FLTP: + case AV_SAMPLE_FMT_DBLP: c->filter_shift = 0; break; default: @@ -359,10 +359,10 @@ int swri_multiple_resample(ResampleContext *c, AudioData *dst, int dst_size, Aud int i, ret= -1; for(i=0; i<dst->ch_count; i++){ - if(c->format == AV_SAMPLE_FMT_S16) ret= swri_resample_int16(c, (int16_t*)dst->ch[i], (const int16_t*)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); - if(c->format == AV_SAMPLE_FMT_S32) ret= swri_resample_int32(c, (int32_t*)dst->ch[i], (const int32_t*)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); - if(c->format == AV_SAMPLE_FMT_FLT) ret= swri_resample_float(c, (float *)dst->ch[i], (const float *)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); - if(c->format == AV_SAMPLE_FMT_DBL) ret= swri_resample_double(c,(double *)dst->ch[i], (const double *)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); + if(c->format == AV_SAMPLE_FMT_S16P) ret= swri_resample_int16(c, (int16_t*)dst->ch[i], (const int16_t*)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); + if(c->format == AV_SAMPLE_FMT_S32P) ret= swri_resample_int32(c, (int32_t*)dst->ch[i], (const int32_t*)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); + if(c->format == AV_SAMPLE_FMT_FLTP) ret= swri_resample_float(c, (float *)dst->ch[i], (const float *)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); + if(c->format == AV_SAMPLE_FMT_DBLP) ret= swri_resample_double(c,(double *)dst->ch[i], (const double *)src->ch[i], consumed, src_size, dst_size, i+1==dst->ch_count); } return ret; |