diff --git a/doc/APIchanges b/doc/APIchanges
index 15eec4067a725f3c29d37441b348aa0499ecb48b..80bea4fd514647c42ffdacbd5310e2f20cf0a9aa 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -12,6 +12,9 @@ libavutil:   2011-04-18
 
 API changes, most recent first:
 
+2012-xx-xx - xxxxxxx - lavu 51.26.0 - audioconvert.h
+  Add av_get_default_channel_layout()
+
 2012-03-06 - 4d851f8 - lavu 51.25.0 - cpu.h
   Add av_set_cpu_flags_mask().
 
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index c903b724d5f8f9a56219eb10988089670b86ceb4..3962fab74872f786c3a88fc826edd0f84e09e9c2 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -2074,7 +2074,7 @@ static av_cold int set_channel_info(AC3EncodeContext *s, int channels,
         return AVERROR(EINVAL);
     ch_layout = *channel_layout;
     if (!ch_layout)
-        ch_layout = avcodec_guess_channel_layout(channels, CODEC_ID_AC3, NULL);
+        ch_layout = av_get_default_channel_layout(channels);
 
     s->lfe_on       = !!(ch_layout & AV_CH_LOW_FREQUENCY);
     s->channels     = channels;
diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c
index 0a83b05ad917255ec89bbbbae46d55491a5d7d2c..85c20e28681b2755311c3f0e02e2f879f6746683 100644
--- a/libavutil/audioconvert.c
+++ b/libavutil/audioconvert.c
@@ -153,3 +153,18 @@ int av_get_channel_layout_nb_channels(uint64_t channel_layout)
         x &= x-1; // unset lowest set bit
     return count;
 }
+
+uint64_t av_get_default_channel_layout(int nb_channels)
+{
+    switch(nb_channels) {
+    case 1: return AV_CH_LAYOUT_MONO;
+    case 2: return AV_CH_LAYOUT_STEREO;
+    case 3: return AV_CH_LAYOUT_SURROUND;
+    case 4: return AV_CH_LAYOUT_QUAD;
+    case 5: return AV_CH_LAYOUT_5POINT0;
+    case 6: return AV_CH_LAYOUT_5POINT1;
+    case 7: return AV_CH_LAYOUT_6POINT1;
+    case 8: return AV_CH_LAYOUT_7POINT1;
+    default: return 0;
+    }
+}
diff --git a/libavutil/audioconvert.h b/libavutil/audioconvert.h
index 55d79fc97e4060a5e3ab73c0ad6c6db2b64112d2..2b0c9cdea9f38f7c1a061e7fc738d3999acdc9d0 100644
--- a/libavutil/audioconvert.h
+++ b/libavutil/audioconvert.h
@@ -124,6 +124,11 @@ void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint
  */
 int av_get_channel_layout_nb_channels(uint64_t channel_layout);
 
+/**
+ * Return default channel layout for a given number of channels.
+ */
+uint64_t av_get_default_channel_layout(int nb_channels);
+
 /**
  * @}
  */
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index 21fc73711426e0a533f3153a05d2289fd1a6abd3..6ab4840edefc137bb8a73f4902c04928a12956c3 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -152,7 +152,7 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR 51
-#define LIBAVUTIL_VERSION_MINOR 25
+#define LIBAVUTIL_VERSION_MINOR 26
 #define LIBAVUTIL_VERSION_MICRO  0
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \