From ef859ca33f7aee637005de6ae9c5d380f2450fcc Mon Sep 17 00:00:00 2001
From: Alex Beregszaszi <alex@rtfs.hu>
Date: Sun, 22 Aug 2004 12:40:57 +0000
Subject: [PATCH] ffmpeg short conversion got fixed somewhere, no need to
 workaround it - fixes amplitude bug

Originally committed as revision 3408 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/sonic.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/libavcodec/sonic.c b/libavcodec/sonic.c
index 43e30518331..b9872386ff5 100644
--- a/libavcodec/sonic.c
+++ b/libavcodec/sonic.c
@@ -501,10 +501,14 @@ static int sonic_encode_init(AVCodecContext *avctx)
     int i, version = 0;
 
     if (avctx->channels > MAX_CHANNELS)
+    {
+	av_log(avctx, AV_LOG_ERROR, "Only mono and stereo streams are supported by now\n");
         return -1; /* only stereo or mono for now */
+    }
 
     if (avctx->channels == 2)
 	s->mid_side = 1;
+
     if (avctx->codec->id == CODEC_ID_SONIC_LS)
     {
 	s->lossless = 1;
@@ -627,10 +631,12 @@ static int sonic_encode_frame(AVCodecContext *avctx,
     // short -> internal
     for (i = 0; i < s->frame_size; i++)
     {
-	if (samples[i] < 0)
-	    s->int_samples[i] = samples[i]+32768;
-	else
-	    s->int_samples[i] = samples[i]-32768;
+//	if (samples[i] < 0)
+//	    s->int_samples[i] = samples[i]+32768;
+//	else
+//	    s->int_samples[i] = samples[i]-32768;
+	s->int_samples[i] = samples[i];
+//	av_log(NULL, AV_LOG_INFO, "%d\n", s->int_samples[i]);
     }
 
     if (!s->lossless)
-- 
GitLab