diff --git a/Makefile b/Makefile
index dda8b165bdd84acdbb4d4c798cf8a18a69eb37b1..b78c92be0d6eef8e1c4aa92d97a28622766d32e1 100644
--- a/Makefile
+++ b/Makefile
@@ -24,6 +24,9 @@ DEP_FFMPEG_LIB=
 else
 FFMPEG_LIB=libavcodec/libavcodec.a
 DEP_FFMPEG_LIB=libavcodec/libavcodec.a
+ifeq ($(CONFIG_MP3LAME),yes)
+EXTRALIBS+=-lmp3lame
+endif
 endif
 
 all: lib $(PROG)
diff --git a/configure b/configure
index 4501b6af5dd368ea0a5e54a5561a895096f80ffa..e37cf16b355c55b3fb69031cfd3581f7b3368c5d 100755
--- a/configure
+++ b/configure
@@ -45,6 +45,7 @@ case "$cpu" in
 esac
 gprof="no"
 grab="yes"
+mp3lame="no"
 win32="no"
 extralibs="-lm"
 
@@ -81,6 +82,7 @@ echo "  --cpu=CPU               force cpu to CPU  [$cpu]"
 echo "  --disable-mmx           disable mmx usage"
 echo "  --enable-gprof          enable profiling with gprof [$gprof]"
 echo "  --disable-grab          disable audio/video grabbing code"
+echo "  --enable-mp3lame        enable mp3 encoding via libmp3lame"
 echo "  --enable-win32          enable win32 cross compile"
 echo "  --enable-shared         build shared libraries [default=no]"
 exit 1
@@ -101,6 +103,8 @@ for opt do
   ;;
   --disable-grab) grab="no"
   ;;
+  --enable-mp3lame) mp3lame="yes"
+  ;;
   --enable-win32) win32="yes"
   ;;
   --enable-shared=*) lshared=`echo $opt | cut -d '=' -f 2`
@@ -151,6 +155,7 @@ echo "CPU              $cpu"
 echo "MMX enabled      $mmx"
 echo "gprof enabled    $gprof"
 echo "grab enabled     $grab"
+echo "mp3lame enabled  $mp3lame"
 
 echo "Creating config.mak and config.h"
 
@@ -209,6 +214,11 @@ if [ "$grab" = "yes" ] ; then
   echo "CONFIG_GRAB=yes" >> config.mak
 fi
 
+if [ "$mp3lame" = "yes" ] ; then
+  echo "#define CONFIG_MP3LAME 1" >> config.h
+  echo "CONFIG_MP3LAME=yes" >> config.mak
+fi
+
 if [ "$win32" = "yes" ] ; then
   echo "#define CONFIG_WIN32 1" >> config.h
   echo "CONFIG_WIN32=yes" >> config.mak