diff --git a/libavcodec/aac_ac3_parser.h b/libavcodec/aac_ac3_parser.h
index c4ed816d939818dbea2ed4220bbea77723a1e689..a14fce51909fa1482e8f9968f9ec5b685263f618 100644
--- a/libavcodec/aac_ac3_parser.h
+++ b/libavcodec/aac_ac3_parser.h
@@ -48,7 +48,7 @@ typedef struct AACAC3ParseContext {
     int sample_rate;
     int bit_rate;
     int samples;
-    int64_t channel_layout;
+    uint64_t channel_layout;
     int service_type;
 
     int remaining_size;
diff --git a/libavcodec/aacdectab.h b/libavcodec/aacdectab.h
index 23a7868ab238ce68ab81553554b2fb334c99ec18..4f8d84b24116b1d8a9c65518cc592a9178d8441f 100644
--- a/libavcodec/aacdectab.h
+++ b/libavcodec/aacdectab.h
@@ -90,7 +90,7 @@ static const uint8_t aac_channel_layout_map[7][5][2] = {
     { { TYPE_CPE, 0 }, { TYPE_SCE, 0 }, { TYPE_LFE, 0 }, { TYPE_CPE, 2 }, { TYPE_CPE, 1 }, },
 };
 
-static const int64_t aac_channel_layout[8] = {
+static const uint64_t aac_channel_layout[8] = {
     AV_CH_LAYOUT_MONO,
     AV_CH_LAYOUT_STEREO,
     AV_CH_LAYOUT_SURROUND,
diff --git a/libavcodec/ac3.h b/libavcodec/ac3.h
index 9adad93db8e9c5aaf229c5ed9bb6a3dd572138c2..304c86c1812e608e6e9c4a5b52ae3cb6fcf55ba1 100644
--- a/libavcodec/ac3.h
+++ b/libavcodec/ac3.h
@@ -118,7 +118,7 @@ typedef struct {
     uint32_t bit_rate;
     uint8_t channels;
     uint16_t frame_size;
-    int64_t channel_layout;
+    uint64_t channel_layout;
     /** @} */
 } AC3HeaderInfo;
 
diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c
index c1564d2a3a83816d5c835beadcad331ca1192a32..b8e23e49f6182934b6cfc44c8eb31da9abf96fc0 100644
--- a/libavcodec/ac3enc.c
+++ b/libavcodec/ac3enc.c
@@ -77,7 +77,7 @@ static uint8_t exponent_group_tab[2][3][256];
 /**
  * List of supported channel layouts.
  */
-const int64_t ff_ac3_channel_layouts[19] = {
+const uint64_t ff_ac3_channel_layouts[19] = {
      AV_CH_LAYOUT_MONO,
      AV_CH_LAYOUT_STEREO,
      AV_CH_LAYOUT_2_1,
@@ -2063,13 +2063,13 @@ av_cold int ff_ac3_encode_close(AVCodecContext *avctx)
  * Set channel information during initialization.
  */
 static av_cold int set_channel_info(AC3EncodeContext *s, int channels,
-                                    int64_t *channel_layout)
+                                    uint64_t *channel_layout)
 {
     int ch_layout;
 
     if (channels < 1 || channels > AC3_MAX_CHANNELS)
         return AVERROR(EINVAL);
-    if ((uint64_t)*channel_layout > 0x7FF)
+    if (*channel_layout > 0x7FF)
         return AVERROR(EINVAL);
     ch_layout = *channel_layout;
     if (!ch_layout)
diff --git a/libavcodec/ac3enc.h b/libavcodec/ac3enc.h
index 4a017498f605b66b78086049ddd7f0df9f1decc9..6ef1a5373ae4710953c5032ba544b9a9a73acd4a 100644
--- a/libavcodec/ac3enc.h
+++ b/libavcodec/ac3enc.h
@@ -258,7 +258,7 @@ typedef struct AC3EncodeContext {
 } AC3EncodeContext;
 
 
-extern const int64_t ff_ac3_channel_layouts[19];
+extern const uint64_t ff_ac3_channel_layouts[19];
 
 int ff_ac3_encode_init(AVCodecContext *avctx);
 
diff --git a/libavcodec/audioconvert.c b/libavcodec/audioconvert.c
index 4bea30848fbe305d450520f3d10f04681b70aeb8..a24434547effa07fa795a51af3a3a5f7a344d659 100644
--- a/libavcodec/audioconvert.c
+++ b/libavcodec/audioconvert.c
@@ -48,7 +48,7 @@ void avcodec_sample_fmt_string (char *buf, int buf_size, int sample_fmt)
 }
 #endif
 
-int64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name)
+uint64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name)
 {
     switch(nb_channels) {
     case 1: return AV_CH_LAYOUT_MONO;
diff --git a/libavcodec/audioconvert.h b/libavcodec/audioconvert.h
index e9a78fe49546642cce46dcaeaf37b0aef6fbb164..f50eb3e1bba026e12b5f8826922283782a2ef33f 100644
--- a/libavcodec/audioconvert.h
+++ b/libavcodec/audioconvert.h
@@ -80,7 +80,7 @@ int avcodec_channel_layout_num_channels(int64_t channel_layout);
  * @param fmt_name Format name, or NULL if unknown
  * @return Channel layout mask
  */
-int64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name);
+uint64_t avcodec_guess_channel_layout(int nb_channels, enum CodecID codec_id, const char *fmt_name);
 
 struct AVAudioConvert;
 typedef struct AVAudioConvert AVAudioConvert;
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index dc794b05384225806d94fd8ba604eb577de6e15c..8005af4fd531fa57767a4a4dc1d2d4de410a586a 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -2696,14 +2696,14 @@ typedef struct AVCodecContext {
      * - encoding: set by user.
      * - decoding: set by libavcodec.
      */
-    int64_t channel_layout;
+    uint64_t channel_layout;
 
     /**
      * Request decoder to use this channel layout if it can (0 for default)
      * - encoding: unused
      * - decoding: Set by user.
      */
-    int64_t request_channel_layout;
+    uint64_t request_channel_layout;
 
     /**
      * Ratecontrol attempt to use, at maximum, <value> of what can be used without an underflow.
@@ -3044,7 +3044,7 @@ typedef struct AVCodec {
     const char *long_name;
     const int *supported_samplerates;       ///< array of supported audio samplerates, or NULL if unknown, array is terminated by 0
     const enum AVSampleFormat *sample_fmts; ///< array of supported sample formats, or NULL if unknown, array is terminated by -1
-    const int64_t *channel_layouts;         ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
+    const uint64_t *channel_layouts;         ///< array of support channel layouts, or NULL if unknown. array is terminated by 0
     uint8_t max_lowres;                     ///< maximum value for lowres supported by the decoder
     const AVClass *priv_class;              ///< AVClass for the private context
     const AVProfile *profiles;              ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}
diff --git a/libavcodec/dca.c b/libavcodec/dca.c
index b310638dc1ffeaa08c29232216338a69a990c12c..9d24b595c2a3eec501857a8e4f8c86a1b9d289ff 100644
--- a/libavcodec/dca.c
+++ b/libavcodec/dca.c
@@ -128,7 +128,7 @@ static const int dca_ext_audio_descr_mask[] = {
  * All 2 channel configurations -> AV_CH_LAYOUT_STEREO
  */
 
-static const int64_t dca_core_channel_layout[] = {
+static const uint64_t dca_core_channel_layout[] = {
     AV_CH_FRONT_CENTER,                                                      ///< 1, A
     AV_CH_LAYOUT_STEREO,                                                     ///< 2, A + B (dual mono)
     AV_CH_LAYOUT_STEREO,                                                     ///< 2, L + R (stereo)
diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c
index 0fca1967c5813b2e52c03c77be39618872551cf3..e0fedeb7e9503deed154724fd99f1d864d4d56da 100644
--- a/libavcodec/mlp_parser.c
+++ b/libavcodec/mlp_parser.c
@@ -107,7 +107,7 @@ static int truehd_channels(int chanmap)
     return channels;
 }
 
-static int64_t truehd_layout(int chanmap)
+static uint64_t truehd_layout(int chanmap)
 {
     int layout = 0, i;
 
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 6280e1c1c96256a10519801294772c7b609699b2..2313fae021624675d305657d8b5bd60cd6ceec42 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -22,7 +22,7 @@
 
 #define LIBAVCODEC_VERSION_MAJOR 53
 #define LIBAVCODEC_VERSION_MINOR 22
-#define LIBAVCODEC_VERSION_MICRO  0
+#define LIBAVCODEC_VERSION_MICRO  1
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
diff --git a/libavcodec/vorbis.h b/libavcodec/vorbis.h
index 8501e0a178db5086679b1ce6e7aa8ef1fd9d65a3..a55523f17e32a834adcf24959b51351453e70fcb 100644
--- a/libavcodec/vorbis.h
+++ b/libavcodec/vorbis.h
@@ -27,7 +27,7 @@ extern const float ff_vorbis_floor1_inverse_db_table[256];
 extern const float * const ff_vorbis_vwin[8];
 extern const uint8_t ff_vorbis_channel_layout_offsets[8][8];
 extern const uint8_t ff_vorbis_encoding_channel_layout_offsets[8][8];
-extern const int64_t ff_vorbis_channel_layouts[9];
+extern const uint64_t ff_vorbis_channel_layouts[9];
 
 typedef struct {
     uint16_t x;
diff --git a/libavcodec/vorbis_data.c b/libavcodec/vorbis_data.c
index 4e1fe0086326b10375c25d7067d5db49a424b394..bd27b82d4ac0aaa3fe9fb16eafc28fc09b635ba5 100644
--- a/libavcodec/vorbis_data.c
+++ b/libavcodec/vorbis_data.c
@@ -44,7 +44,7 @@ const uint8_t ff_vorbis_encoding_channel_layout_offsets[8][8] = {
     { 0, 2, 1, 6, 7, 4, 5, 3 },
 };
 
-const int64_t ff_vorbis_channel_layouts[9] = {
+const uint64_t ff_vorbis_channel_layouts[9] = {
     AV_CH_LAYOUT_MONO,
     AV_CH_LAYOUT_STEREO,
     AV_CH_LAYOUT_SURROUND,
diff --git a/libavdevice/alsa-audio-common.c b/libavdevice/alsa-audio-common.c
index a0662f6d8e12b26df7fa815efafed8813011dce6..cfee28c516414e47a214e0b73466f81acd4d6a07 100644
--- a/libavdevice/alsa-audio-common.c
+++ b/libavdevice/alsa-audio-common.c
@@ -143,7 +143,7 @@ switch(format) {\
     case FORMAT_F32: s->reorder_func = alsa_reorder_f32_out_ ##layout;   break;\
 }
 
-static av_cold int find_reorder_func(AlsaData *s, int codec_id, int64_t layout, int out)
+static av_cold int find_reorder_func(AlsaData *s, int codec_id, uint64_t layout, int out)
 {
     int format;
 
@@ -194,7 +194,7 @@ av_cold int ff_alsa_open(AVFormatContext *ctx, snd_pcm_stream_t mode,
     snd_pcm_t *h;
     snd_pcm_hw_params_t *hw_params;
     snd_pcm_uframes_t buffer_size, period_size;
-    int64_t layout = ctx->streams[0]->codec->channel_layout;
+    uint64_t layout = ctx->streams[0]->codec->channel_layout;
 
     if (ctx->filename[0] == 0) audio_device = "default";
     else                       audio_device = ctx->filename;
diff --git a/libavfilter/asrc_anullsrc.c b/libavfilter/asrc_anullsrc.c
index dd671c5d5324103ee6bdc58e59c9fdf00633827f..8e99012faf6dac724ff26f632f877f30650fff06 100644
--- a/libavfilter/asrc_anullsrc.c
+++ b/libavfilter/asrc_anullsrc.c
@@ -25,7 +25,7 @@
 #include "libavutil/audioconvert.h"
 
 typedef struct {
-    int64_t channel_layout;
+    uint64_t channel_layout;
     int64_t sample_rate;
 } ANullContext;
 
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index 2f24aa3d9811f219dc7bbdbfed0798021b710b7a..b0304d64d58fd0a0b4d7a150ba8fb0497bae79b8 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -349,7 +349,7 @@ fail:
 
 AVFilterBufferRef *avfilter_get_audio_buffer(AVFilterLink *link, int perms,
                                              enum AVSampleFormat sample_fmt, int size,
-                                             int64_t channel_layout, int planar)
+                                             uint64_t channel_layout, int planar)
 {
     AVFilterBufferRef *ret = NULL;
 
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index f83c861f4b827954044882a5d3110b1e3a114eff..c40d9f4d04cab1c09a186edf12db6e721e2c6c36 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -30,7 +30,7 @@
 
 #define LIBAVFILTER_VERSION_MAJOR  2
 #define LIBAVFILTER_VERSION_MINOR  13
-#define LIBAVFILTER_VERSION_MICRO  0
+#define LIBAVFILTER_VERSION_MICRO  1
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \
@@ -100,7 +100,7 @@ typedef struct AVFilterBuffer {
  * per reference properties must be separated out.
  */
 typedef struct AVFilterBufferRefAudioProps {
-    int64_t channel_layout;     ///< channel layout of audio buffer
+    uint64_t channel_layout;    ///< channel layout of audio buffer
     int nb_samples;             ///< number of audio samples
     int size;                   ///< audio buffer size
     uint32_t sample_rate;       ///< audio buffer sample rate
@@ -376,7 +376,7 @@ struct AVFilterPad {
      */
     AVFilterBufferRef *(*get_audio_buffer)(AVFilterLink *link, int perms,
                                            enum AVSampleFormat sample_fmt, int size,
-                                           int64_t channel_layout, int planar);
+                                           uint64_t channel_layout, int planar);
 
     /**
      * Callback called after the slices of a frame are completely sent. If
@@ -465,7 +465,7 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link,
 /** default handler for get_audio_buffer() for audio inputs */
 AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, int perms,
                                                      enum AVSampleFormat sample_fmt, int size,
-                                                     int64_t channel_layout, int planar);
+                                                     uint64_t channel_layout, int planar);
 
 /**
  * A helper for query_formats() which sets all links to the same list of
@@ -496,7 +496,7 @@ AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link,
 /** get_audio_buffer() handler for filters which simply pass audio along */
 AVFilterBufferRef *avfilter_null_get_audio_buffer(AVFilterLink *link, int perms,
                                                   enum AVSampleFormat sample_fmt, int size,
-                                                  int64_t channel_layout, int planar);
+                                                  uint64_t channel_layout, int planar);
 
 /**
  * Filter definition. This defines the pads a filter contains, and all the
@@ -589,7 +589,7 @@ struct AVFilterLink {
     int h;                      ///< agreed upon image height
     AVRational sample_aspect_ratio; ///< agreed upon sample aspect ratio
     /* These two parameters apply only to audio */
-    int64_t channel_layout;     ///< channel layout of current buffer (see libavutil/audioconvert.h)
+    uint64_t channel_layout;    ///< channel layout of current buffer (see libavutil/audioconvert.h)
     int64_t sample_rate;        ///< samples per second
 
     int format;                 ///< agreed upon media format
@@ -688,7 +688,7 @@ avfilter_get_video_buffer_ref_from_arrays(uint8_t *data[4], int linesize[4], int
  */
 AVFilterBufferRef *avfilter_get_audio_buffer(AVFilterLink *link, int perms,
                                              enum AVSampleFormat sample_fmt, int size,
-                                             int64_t channel_layout, int planar);
+                                             uint64_t channel_layout, int planar);
 
 /**
  * Request an input frame from the filter at the other end of the link.
diff --git a/libavfilter/defaults.c b/libavfilter/defaults.c
index b891ab1f22c542d30b63c441354a9230ed166bed..4c7e878f9e424bacfd4be2cd09b385110fd24cf0 100644
--- a/libavfilter/defaults.c
+++ b/libavfilter/defaults.c
@@ -57,7 +57,7 @@ AVFilterBufferRef *avfilter_default_get_video_buffer(AVFilterLink *link, int per
 
 AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, int perms,
                                                      enum AVSampleFormat sample_fmt, int size,
-                                                     int64_t channel_layout, int planar)
+                                                     uint64_t channel_layout, int planar)
 {
     AVFilterBuffer *samples = av_mallocz(sizeof(AVFilterBuffer));
     AVFilterBufferRef *ref = NULL;
@@ -292,7 +292,7 @@ AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link, int perms,
 
 AVFilterBufferRef *avfilter_null_get_audio_buffer(AVFilterLink *link, int perms,
                                                   enum AVSampleFormat sample_fmt, int size,
-                                                  int64_t channel_layout, int packed)
+                                                  uint64_t channel_layout, int packed)
 {
     return avfilter_get_audio_buffer(link->dst->outputs[0], perms, sample_fmt,
                                      size, channel_layout, packed);
diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c
index 7250e36d902732a94897ca3d87823dcaa6750101..52656c73026173022b0aab669327c959cfc6a7d0 100644
--- a/libavutil/audioconvert.c
+++ b/libavutil/audioconvert.c
@@ -60,7 +60,7 @@ static const char *get_channel_name(int channel_id)
 static const struct {
     const char *name;
     int         nb_channels;
-    int64_t     layout;
+    uint64_t     layout;
 } channel_layout_map[] = {
     { "mono",        1,  AV_CH_LAYOUT_MONO },
     { "stereo",      2,  AV_CH_LAYOUT_STEREO },
@@ -77,7 +77,7 @@ static const struct {
     { 0 }
 };
 
-int64_t av_get_channel_layout(const char *name)
+uint64_t av_get_channel_layout(const char *name)
 {
     int i = 0;
     do {
@@ -90,7 +90,7 @@ int64_t av_get_channel_layout(const char *name)
 }
 
 void av_get_channel_layout_string(char *buf, int buf_size,
-                                  int nb_channels, int64_t channel_layout)
+                                  int nb_channels, uint64_t channel_layout)
 {
     int i;
 
@@ -123,7 +123,7 @@ void av_get_channel_layout_string(char *buf, int buf_size,
     }
 }
 
-int av_get_channel_layout_nb_channels(int64_t channel_layout)
+int av_get_channel_layout_nb_channels(uint64_t channel_layout)
 {
     int count;
     uint64_t x = channel_layout;
diff --git a/libavutil/audioconvert.h b/libavutil/audioconvert.h
index 1c5cfa0a8e63271152edba9d094fdd2765d6313c..54b13b2beae1417f21005e02f7ed467acf79a2c2 100644
--- a/libavutil/audioconvert.h
+++ b/libavutil/audioconvert.h
@@ -62,7 +62,7 @@
 /** Channel mask value used for AVCodecContext.request_channel_layout
     to indicate that the user requests the channel order of the decoder output
     to be the native codec channel order. */
-#define AV_CH_LAYOUT_NATIVE          0x8000000000000000LL
+#define AV_CH_LAYOUT_NATIVE          0x8000000000000000ULL
 
 /**
  * @}
@@ -92,7 +92,7 @@
 /**
  * Return a channel layout id that matches name, 0 if no match.
  */
-int64_t av_get_channel_layout(const char *name);
+uint64_t av_get_channel_layout(const char *name);
 
 /**
  * Return a description of a channel layout.
@@ -101,12 +101,12 @@ int64_t av_get_channel_layout(const char *name);
  * @param buf put here the string containing the channel layout
  * @param buf_size size in bytes of the buffer
  */
-void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, int64_t channel_layout);
+void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
 
 /**
  * Return the number of channels in the channel layout.
  */
-int av_get_channel_layout_nb_channels(int64_t channel_layout);
+int av_get_channel_layout_nb_channels(uint64_t channel_layout);
 
 /**
  * @}
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index a2d3073467151dc291c4a55093ad96b86333784d..0400d939c6f5c7c0da72fd99846cb9161226a9e1 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -154,7 +154,7 @@
 
 #define LIBAVUTIL_VERSION_MAJOR 51
 #define LIBAVUTIL_VERSION_MINOR 19
-#define LIBAVUTIL_VERSION_MICRO  0
+#define LIBAVUTIL_VERSION_MICRO  1
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \