History

swr: fix cpy() after the len was changed to be in samples.

Michael Niedermayer committed 14 years ago

Commit fecdc761 parent 715c8a51 file · +18 −3Browse files

Showing the changes to libswresample (1 of 1 file). Show all

Unified · Split

libswresample/audioconvert.c+18−3
@@ -107,9 +107,18 @@ static conv_func_type * const fmt_pair_to_conv_functions[AV_SAMPLE_FMT_NB*AV_SAM · 106 unmodified lines
107 FMT_PAIR_FUNC(AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBL),107 FMT_PAIR_FUNC(AV_SAMPLE_FMT_DBL, AV_SAMPLE_FMT_DBL),
108};108};
109 109
110static void cpy(uint8_t **dst, const uint8_t **src, int len){110static void cpy1(uint8_t **dst, const uint8_t **src, int len){
111 memcpy(*dst, *src, len);111 memcpy(*dst, *src, len);
112}112}
113static void cpy2(uint8_t **dst, const uint8_t **src, int len){
114 memcpy(*dst, *src, 2*len);
115}
116static void cpy4(uint8_t **dst, const uint8_t **src, int len){
117 memcpy(*dst, *src, 4*len);
118}
119static void cpy8(uint8_t **dst, const uint8_t **src, int len){
120 memcpy(*dst, *src, 8*len);
121}
113 122
114AudioConvert *swri_audio_convert_alloc(enum AVSampleFormat out_fmt,123AudioConvert *swri_audio_convert_alloc(enum AVSampleFormat out_fmt,
115 enum AVSampleFormat in_fmt,124 enum AVSampleFormat in_fmt,
@@ -136,8 +145,14 @@ AudioConvert *swri_audio_convert_alloc(enum AVSampleFormat out_fmt, · 20 unmodified lines
136 if (in_fmt == AV_SAMPLE_FMT_U8)145 if (in_fmt == AV_SAMPLE_FMT_U8)
137 memset(ctx->silence, 0x80, sizeof(ctx->silence));146 memset(ctx->silence, 0x80, sizeof(ctx->silence));
138 147
139 if(out_fmt == in_fmt && !ch_map)148 if(out_fmt == in_fmt && !ch_map) {
140 ctx->simd_f = cpy;149 switch(av_get_bytes_per_sample(in_fmt)){
150 case 1:ctx->simd_f = cpy1; break;
151 case 2:ctx->simd_f = cpy2; break;
152 case 4:ctx->simd_f = cpy4; break;
153 case 8:ctx->simd_f = cpy8; break;
154 }
155 }
141 156
142 if(HAVE_YASM && HAVE_MMX) swri_audio_convert_init_x86(ctx, out_fmt, in_fmt, channels);157 if(HAVE_YASM && HAVE_MMX) swri_audio_convert_init_x86(ctx, out_fmt, in_fmt, channels);
143 158

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t