- Added MP3 encoding through libmp3lame contributed by Lennert Buytenhek.
authorJuanjo <pulento@users.sourceforge.net>
Sun, 10 Mar 2002 14:51:20 +0000 (14:51 +0000)
committerJuanjo <pulento@users.sourceforge.net>
Sun, 10 Mar 2002 14:51:20 +0000 (14:51 +0000)
- Changes on AVI and WAV muxers to support MP3.

Originally committed as revision 324 to svn://svn.ffmpeg.org/ffmpeg/trunk

libav/avienc.c
libav/wav.c
libavcodec/Makefile

index b894fd7..1be5da4 100644 (file)
@@ -127,6 +127,10 @@ void parse_specific_params(AVCodecContext *stream, int *au_byterate, int *au_ssi
         *au_ssize = 1;
         *au_scale = 1;
         *au_byterate = stream->bit_rate / 8;
         *au_ssize = 1;
         *au_scale = 1;
         *au_byterate = stream->bit_rate / 8;
+    case CODEC_ID_MP3LAME:
+        *au_ssize = 1;
+        *au_scale = 1;
+        *au_byterate = stream->bit_rate / 8;    
     default:
         *au_ssize = 1;
         *au_scale = 1; 
     default:
         *au_ssize = 1;
         *au_scale = 1; 
@@ -361,7 +365,7 @@ static int avi_write_trailer(AVFormatContext *s)
                     if (nb_frames < stream->frame_number)
                         nb_frames = stream->frame_number;
                 } else {
                     if (nb_frames < stream->frame_number)
                         nb_frames = stream->frame_number;
                 } else {
-                    if (stream->codec_id == CODEC_ID_MP2) {
+                    if (stream->codec_id == CODEC_ID_MP2 || stream->codec_id == CODEC_ID_MP3LAME) {
                         put_le32(pb, stream->frame_number);
                         nb_frames += stream->frame_number;
                     } else {
                         put_le32(pb, stream->frame_number);
                         nb_frames += stream->frame_number;
                     } else {
index f909ddf..df18a64 100644 (file)
@@ -21,6 +21,7 @@
 
 CodecTag codec_wav_tags[] = {
     { CODEC_ID_MP2, 0x55 },
 
 CodecTag codec_wav_tags[] = {
     { CODEC_ID_MP2, 0x55 },
+    { CODEC_ID_MP3LAME, 0x55 },
     { CODEC_ID_MP2, 0x50 },
     { CODEC_ID_AC3, 0x2000 },
     { CODEC_ID_PCM_S16LE, 0x01 },
     { CODEC_ID_MP2, 0x50 },
     { CODEC_ID_AC3, 0x2000 },
     { CODEC_ID_PCM_S16LE, 0x01 },
@@ -45,13 +46,13 @@ int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
         enc->codec_id == CODEC_ID_PCM_ALAW ||
         enc->codec_id == CODEC_ID_PCM_MULAW) {
         bps = 8;
         enc->codec_id == CODEC_ID_PCM_ALAW ||
         enc->codec_id == CODEC_ID_PCM_MULAW) {
         bps = 8;
-    } else if (enc->codec_id == CODEC_ID_MP2) {
+    } else if (enc->codec_id == CODEC_ID_MP2 || enc->codec_id == CODEC_ID_MP3LAME) {
         bps = 0;
     } else {
         bps = 16;
     }
     
         bps = 0;
     } else {
         bps = 16;
     }
     
-    if (enc->codec_id == CODEC_ID_MP2)
+    if (enc->codec_id == CODEC_ID_MP2 || enc->codec_id == CODEC_ID_MP3LAME)
         blkalign = 1;
     else
         blkalign = enc->channels*bps >> 3;
         blkalign = 1;
     else
         blkalign = enc->channels*bps >> 3;
@@ -64,7 +65,7 @@ int put_wav_header(ByteIOContext *pb, AVCodecContext *enc)
     put_le32(pb, bytespersec); /* bytes per second */
     put_le16(pb, blkalign); /* block align */
     put_le16(pb, bps); /* bits per sample */
     put_le32(pb, bytespersec); /* bytes per second */
     put_le16(pb, blkalign); /* block align */
     put_le16(pb, bps); /* bits per sample */
-    if (enc->codec_id == CODEC_ID_MP2) {
+    if (enc->codec_id == CODEC_ID_MP2 || enc->codec_id == CODEC_ID_MP3LAME) {
         put_le16(pb, 12); /* wav_extra_size */
         put_le16(pb, 1); /* wID */
         put_le32(pb, 2); /* fdwFlags */
         put_le16(pb, 12); /* wav_extra_size */
         put_le16(pb, 1); /* wID */
         put_le32(pb, 2); /* fdwFlags */
index fe124a4..00d10b7 100644 (file)
@@ -16,6 +16,10 @@ OBJS+= ac3dec.o \
        libac3/imdct.o  libac3/parse.o
 endif
 
        libac3/imdct.o  libac3/parse.o
 endif
 
+ifeq ($(CONFIG_MP3LAME),yes)
+OBJS += mp3lameaudio.o
+endif
+
 ifeq ($(TARGET_GPROF),yes)
 CFLAGS+=-p
 LDFLAGS+=-p
 ifeq ($(TARGET_GPROF),yes)
 CFLAGS+=-p
 LDFLAGS+=-p