From 0d00cf38c609262239a5f6da5fc7b21016278ec9 Mon Sep 17 00:00:00 2001 From: Sigbjørn Skjæret Date: Sat, 18 Dec 2004 16:20:42 +0000 Subject: fixes transcoding to vorbis with ffmpeg on big endian machines patch by (Sigbjørn Skjæret {sskjer-1 broadpark no}) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Originally committed as revision 3759 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/oggvorbis.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libavcodec/oggvorbis.c') diff --git a/libavcodec/oggvorbis.c b/libavcodec/oggvorbis.c index 803de20632..8358411964 100644 --- a/libavcodec/oggvorbis.c +++ b/libavcodec/oggvorbis.c @@ -102,18 +102,18 @@ static int oggvorbis_encode_frame(AVCodecContext *avccontext, OggVorbisContext *context = avccontext->priv_data ; float **buffer ; ogg_packet op ; - signed char *audio = data ; + signed short *audio = data ; int l, samples = data ? OGGVORBIS_FRAME_SIZE : 0; buffer = vorbis_analysis_buffer(&context->vd, samples) ; if(context->vi.channels == 1) { for(l = 0 ; l < samples ; l++) - buffer[0][l]=((audio[l*2+1]<<8)|(0x00ff&(int)audio[l*2]))/32768.f; + buffer[0][l]=audio[l]/32768.f; } else { for(l = 0 ; l < samples ; l++){ - buffer[0][l]=((audio[l*4+1]<<8)|(0x00ff&(int)audio[l*4]))/32768.f; - buffer[1][l]=((audio[l*4+3]<<8)|(0x00ff&(int)audio[l*4+2]))/32768.f; + buffer[0][l]=audio[l*2]/32768.f; + buffer[1][l]=audio[l*2+1]/32768.f; } } -- cgit v1.2.3