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
This commit is contained in:
parent
33a4d8b1b2
commit
ef859ca33f
@ -501,10 +501,14 @@ static int sonic_encode_init(AVCodecContext *avctx)
|
|||||||
int i, version = 0;
|
int i, version = 0;
|
||||||
|
|
||||||
if (avctx->channels > MAX_CHANNELS)
|
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 */
|
return -1; /* only stereo or mono for now */
|
||||||
|
}
|
||||||
|
|
||||||
if (avctx->channels == 2)
|
if (avctx->channels == 2)
|
||||||
s->mid_side = 1;
|
s->mid_side = 1;
|
||||||
|
|
||||||
if (avctx->codec->id == CODEC_ID_SONIC_LS)
|
if (avctx->codec->id == CODEC_ID_SONIC_LS)
|
||||||
{
|
{
|
||||||
s->lossless = 1;
|
s->lossless = 1;
|
||||||
@ -627,10 +631,12 @@ static int sonic_encode_frame(AVCodecContext *avctx,
|
|||||||
// short -> internal
|
// short -> internal
|
||||||
for (i = 0; i < s->frame_size; i++)
|
for (i = 0; i < s->frame_size; i++)
|
||||||
{
|
{
|
||||||
if (samples[i] < 0)
|
// if (samples[i] < 0)
|
||||||
s->int_samples[i] = samples[i]+32768;
|
// s->int_samples[i] = samples[i]+32768;
|
||||||
else
|
// else
|
||||||
s->int_samples[i] = samples[i]-32768;
|
// 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)
|
if (!s->lossless)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user