diff --git a/src/Makefile.am b/src/Makefile.am
index 6f3cbed..fa72df0 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,5 +4,5 @@
 
 bin_PROGRAMS = gapk
 gapk_SOURCES =	main.c	\
-		formats.c fmt_gsm.c fmt_hr_ref.c fmt_racal.c \
+		formats.c fmt_amr.c fmt_gsm.c fmt_hr_ref.c fmt_racal.c \
 		codecs.c codec_pcm.c codec_hr.c codec_fr.c codec_efr.c
diff --git a/src/fmt_amr.c b/src/fmt_amr.c
new file mode 100644
index 0000000..3017103
--- /dev/null
+++ b/src/fmt_amr.c
@@ -0,0 +1,77 @@
+/* Classic .amr file format */
+
+/*
+ * This file is part of gapk (GSM Audio Pocket Knife).
+ *
+ * gapk is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * gapk is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gapk.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdint.h>
+
+#include <osmocom/codec/codec.h>
+
+#include <gapk/codecs.h>
+#include <gapk/formats.h>
+#include <gapk/utils.h>
+
+
+static int
+amr_efr_from_canon(uint8_t *dst, const uint8_t *src)
+{
+	int i;
+
+	dst[ 0] = 0x3c;
+	dst[31] = 0x00;	/* last nibble won't written, pre-clear it */
+
+	for (i=0; i<244; i++) {
+		int si = gsm690_12_2_bitorder[i];
+		int di = i;
+		msb_put_bit(&dst[1], di, msb_get_bit(src, si));
+	}
+
+	return 0;
+}
+
+static int
+amr_efr_to_canon(uint8_t *dst, const uint8_t *src)
+{
+	int i;
+
+	if (src[0] != 0x3c)
+		return -1;
+
+	dst[30] = 0x00; /* last nibble won't written, pre-clear it */
+
+	for (i=0; i<244; i++) {
+		int si = i;
+		int di = gsm690_12_2_bitorder[i];
+		msb_put_bit(dst, di, msb_get_bit(&src[1], si));
+	}
+
+	return 0;
+}
+
+const struct format_desc fmt_amr_efr = {
+	.type			= FMT_AMR_EFR,
+	.codec_type		= CODEC_EFR,
+	.name			= "amr-efr",
+	.description		= "Classic .amr file containing EFR (=AMR 12.2k) data",
+
+	.frame_len		= 32,
+	.conv_from_canon	= amr_efr_from_canon,
+	.conv_to_canon		= amr_efr_to_canon,
+
+	.header_len		= 6,
+	.header			= (const uint8_t *) "#!AMR\x0a",
+};
diff --git a/src/formats.c b/src/formats.c
index f3812a5..9e8da5e 100644
--- a/src/formats.c
+++ b/src/formats.c
@@ -22,6 +22,7 @@
 #include <gapk/formats.h>
 
 /* Extern format descriptors */
+extern const struct format_desc fmt_amr_efr;
 extern const struct format_desc fmt_gsm;
 extern const struct format_desc fmt_hr_ref_dec;
 extern const struct format_desc fmt_hr_ref_enc;
@@ -31,6 +32,7 @@
 
 static const struct format_desc *supported_formats[_FMT_MAX] = {
 	[FMT_INVALID]		= NULL,
+	[FMT_AMR_EFR]		= &fmt_amr_efr,
 	[FMT_GSM]		= &fmt_gsm,
 	[FMT_HR_REF_DEC]	= &fmt_hr_ref_dec,
 	[FMT_HR_REF_ENC]	= &fmt_hr_ref_enc,
