From 5980f5dd18822f29cfd583c9c085c3e77d81aa72 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sat, 10 Nov 2012 09:03:17 -0500 Subject: lavu: rename audioconvert.* to channel_layout.* and deprecate audioconvert.h --- doc/APIchanges | 3 + libavutil/Makefile | 3 +- libavutil/audioconvert.c | 231 --------------------------------------------- libavutil/audioconvert.h | 184 +----------------------------------- libavutil/channel_layout.c | 231 +++++++++++++++++++++++++++++++++++++++++++++ libavutil/channel_layout.h | 182 +++++++++++++++++++++++++++++++++++ libavutil/version.h | 5 +- 7 files changed, 426 insertions(+), 413 deletions(-) delete mode 100644 libavutil/audioconvert.c create mode 100644 libavutil/channel_layout.c create mode 100644 libavutil/channel_layout.h diff --git a/doc/APIchanges b/doc/APIchanges index c8b8fbf32a..a0756da360 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -13,6 +13,9 @@ libavutil: 2012-10-22 API changes, most recent first: +2012-xx-xx - xxxxxxx - lavu 52.2.0 - audioconvert.h + Rename audioconvert.h to channel_layout.h. audioconvert.h is now deprecated. + 2012-xx-xx - xxxxxxx - lavu 52.1.0 - intmath.h Add av_ctz() for trailing zero bit count diff --git a/libavutil/Makefile b/libavutil/Makefile index d4ffd5e7d6..48a0e16af3 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -11,6 +11,7 @@ HEADERS = adler32.h \ base64.h \ blowfish.h \ bswap.h \ + channel_layout.h \ common.h \ cpu.h \ crc.h \ @@ -53,10 +54,10 @@ BUILT_HEADERS = avconfig.h OBJS = adler32.o \ aes.o \ audio_fifo.o \ - audioconvert.o \ avstring.o \ base64.o \ blowfish.o \ + channel_layout.o \ cpu.o \ crc.o \ des.o \ diff --git a/libavutil/audioconvert.c b/libavutil/audioconvert.c deleted file mode 100644 index 113b9d782d..0000000000 --- a/libavutil/audioconvert.c +++ /dev/null @@ -1,231 +0,0 @@ -/* - * Copyright (c) 2006 Michael Niedermayer - * - * This file is part of Libav. - * - * Libav is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Libav 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** - * @file - * audio conversion routines - */ - -#include "avstring.h" -#include "avutil.h" -#include "audioconvert.h" -#include "common.h" - -static const char * const channel_names[] = { - [0] = "FL", /* front left */ - [1] = "FR", /* front right */ - [2] = "FC", /* front center */ - [3] = "LFE", /* low frequency */ - [4] = "BL", /* back left */ - [5] = "BR", /* back right */ - [6] = "FLC", /* front left-of-center */ - [7] = "FRC", /* front right-of-center */ - [8] = "BC", /* back-center */ - [9] = "SL", /* side left */ - [10] = "SR", /* side right */ - [11] = "TC", /* top center */ - [12] = "TFL", /* top front left */ - [13] = "TFC", /* top front center */ - [14] = "TFR", /* top front right */ - [15] = "TBL", /* top back left */ - [16] = "TBC", /* top back center */ - [17] = "TBR", /* top back right */ - [29] = "DL", /* downmix left */ - [30] = "DR", /* downmix right */ - [31] = "WL", /* wide left */ - [32] = "WR", /* wide right */ - [33] = "SDL", /* surround direct left */ - [34] = "SDR", /* surround direct right */ - [35] = "LFE2", /* low frequency 2 */ -}; - -static const char *get_channel_name(int channel_id) -{ - if (channel_id < 0 || channel_id >= FF_ARRAY_ELEMS(channel_names)) - return NULL; - return channel_names[channel_id]; -} - -static const struct { - const char *name; - int nb_channels; - uint64_t layout; -} channel_layout_map[] = { - { "mono", 1, AV_CH_LAYOUT_MONO }, - { "stereo", 2, AV_CH_LAYOUT_STEREO }, - { "stereo", 2, AV_CH_LAYOUT_STEREO_DOWNMIX }, - { "2.1", 3, AV_CH_LAYOUT_2POINT1 }, - { "3.0", 3, AV_CH_LAYOUT_SURROUND }, - { "3.0(back)", 3, AV_CH_LAYOUT_2_1 }, - { "3.1", 4, AV_CH_LAYOUT_3POINT1 }, - { "4.0", 4, AV_CH_LAYOUT_4POINT0 }, - { "quad", 4, AV_CH_LAYOUT_QUAD }, - { "quad(side)", 4, AV_CH_LAYOUT_2_2 }, - { "4.1", 5, AV_CH_LAYOUT_4POINT1 }, - { "5.0", 5, AV_CH_LAYOUT_5POINT0 }, - { "5.0", 5, AV_CH_LAYOUT_5POINT0_BACK }, - { "5.1", 6, AV_CH_LAYOUT_5POINT1 }, - { "5.1", 6, AV_CH_LAYOUT_5POINT1_BACK }, - { "6.0", 6, AV_CH_LAYOUT_6POINT0 }, - { "6.0(front)", 6, AV_CH_LAYOUT_6POINT0_FRONT }, - { "hexagonal", 6, AV_CH_LAYOUT_HEXAGONAL }, - { "6.1", 7, AV_CH_LAYOUT_6POINT1 }, - { "6.1", 7, AV_CH_LAYOUT_6POINT1_BACK }, - { "6.1(front)", 7, AV_CH_LAYOUT_6POINT1_FRONT }, - { "7.0", 7, AV_CH_LAYOUT_7POINT0 }, - { "7.0(front)", 7, AV_CH_LAYOUT_7POINT0_FRONT }, - { "7.1", 8, AV_CH_LAYOUT_7POINT1 }, - { "7.1(wide)", 8, AV_CH_LAYOUT_7POINT1_WIDE }, - { "7.1(wide)", 8, AV_CH_LAYOUT_7POINT1_WIDE_BACK }, - { "octagonal", 8, AV_CH_LAYOUT_OCTAGONAL }, - { "downmix", 2, AV_CH_LAYOUT_STEREO_DOWNMIX, }, - { 0 } -}; - -static uint64_t get_channel_layout_single(const char *name, int name_len) -{ - int i; - char *end; - int64_t layout; - - for (i = 0; i < FF_ARRAY_ELEMS(channel_layout_map) - 1; i++) { - if (strlen(channel_layout_map[i].name) == name_len && - !memcmp(channel_layout_map[i].name, name, name_len)) - return channel_layout_map[i].layout; - } - for (i = 0; i < FF_ARRAY_ELEMS(channel_names); i++) - if (channel_names[i] && - strlen(channel_names[i]) == name_len && - !memcmp(channel_names[i], name, name_len)) - return (int64_t)1 << i; - i = strtol(name, &end, 10); - if (end - name == name_len || - (end + 1 - name == name_len && *end == 'c')) - return av_get_default_channel_layout(i); - layout = strtoll(name, &end, 0); - if (end - name == name_len) - return FFMAX(layout, 0); - return 0; -} - -uint64_t av_get_channel_layout(const char *name) -{ - const char *n, *e; - const char *name_end = name + strlen(name); - int64_t layout = 0, layout_single; - - for (n = name; n < name_end; n = e + 1) { - for (e = n; e < name_end && *e != '+' && *e != '|'; e++); - layout_single = get_channel_layout_single(n, e - n); - if (!layout_single) - return 0; - layout |= layout_single; - } - return layout; -} - -void av_get_channel_layout_string(char *buf, int buf_size, - int nb_channels, uint64_t channel_layout) -{ - int i; - - if (nb_channels <= 0) - nb_channels = av_get_channel_layout_nb_channels(channel_layout); - - for (i = 0; channel_layout_map[i].name; i++) - if (nb_channels == channel_layout_map[i].nb_channels && - channel_layout == channel_layout_map[i].layout) { - av_strlcpy(buf, channel_layout_map[i].name, buf_size); - return; - } - - snprintf(buf, buf_size, "%d channels", nb_channels); - if (channel_layout) { - int i, ch; - av_strlcat(buf, " (", buf_size); - for (i = 0, ch = 0; i < 64; i++) { - if ((channel_layout & (UINT64_C(1) << i))) { - const char *name = get_channel_name(i); - if (name) { - if (ch > 0) - av_strlcat(buf, "|", buf_size); - av_strlcat(buf, name, buf_size); - } - ch++; - } - } - av_strlcat(buf, ")", buf_size); - } -} - -int av_get_channel_layout_nb_channels(uint64_t channel_layout) -{ - return av_popcount64(channel_layout); -} - -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; - } -} - -int av_get_channel_layout_channel_index(uint64_t channel_layout, - uint64_t channel) -{ - if (!(channel_layout & channel) || - av_get_channel_layout_nb_channels(channel) != 1) - return AVERROR(EINVAL); - channel_layout &= channel - 1; - return av_get_channel_layout_nb_channels(channel_layout); -} - -const char *av_get_channel_name(uint64_t channel) -{ - int i; - if (av_get_channel_layout_nb_channels(channel) != 1) - return NULL; - for (i = 0; i < 64; i++) - if ((1ULL< - * Copyright (c) 2008 Peter Ross - * - * This file is part of Libav. - * - * Libav is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * Libav 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with Libav; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ -#ifndef AVUTIL_AUDIOCONVERT_H -#define AVUTIL_AUDIOCONVERT_H +#include "version.h" -#include - -/** - * @file - * audio conversion routines - */ - -/** - * @addtogroup lavu_audio - * @{ - */ - -/** - * @defgroup channel_masks Audio channel masks - * @{ - */ -#define AV_CH_FRONT_LEFT 0x00000001 -#define AV_CH_FRONT_RIGHT 0x00000002 -#define AV_CH_FRONT_CENTER 0x00000004 -#define AV_CH_LOW_FREQUENCY 0x00000008 -#define AV_CH_BACK_LEFT 0x00000010 -#define AV_CH_BACK_RIGHT 0x00000020 -#define AV_CH_FRONT_LEFT_OF_CENTER 0x00000040 -#define AV_CH_FRONT_RIGHT_OF_CENTER 0x00000080 -#define AV_CH_BACK_CENTER 0x00000100 -#define AV_CH_SIDE_LEFT 0x00000200 -#define AV_CH_SIDE_RIGHT 0x00000400 -#define AV_CH_TOP_CENTER 0x00000800 -#define AV_CH_TOP_FRONT_LEFT 0x00001000 -#define AV_CH_TOP_FRONT_CENTER 0x00002000 -#define AV_CH_TOP_FRONT_RIGHT 0x00004000 -#define AV_CH_TOP_BACK_LEFT 0x00008000 -#define AV_CH_TOP_BACK_CENTER 0x00010000 -#define AV_CH_TOP_BACK_RIGHT 0x00020000 -#define AV_CH_STEREO_LEFT 0x20000000 ///< Stereo downmix. -#define AV_CH_STEREO_RIGHT 0x40000000 ///< See AV_CH_STEREO_LEFT. -#define AV_CH_WIDE_LEFT 0x0000000080000000ULL -#define AV_CH_WIDE_RIGHT 0x0000000100000000ULL -#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL -#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL -#define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL - -/** 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 0x8000000000000000ULL - -/** - * @} - * @defgroup channel_mask_c Audio channel convenience macros - * @{ - * */ -#define AV_CH_LAYOUT_MONO (AV_CH_FRONT_CENTER) -#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT) -#define AV_CH_LAYOUT_2POINT1 (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY) -#define AV_CH_LAYOUT_2_1 (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER) -#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER) -#define AV_CH_LAYOUT_3POINT1 (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY) -#define AV_CH_LAYOUT_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER) -#define AV_CH_LAYOUT_4POINT1 (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY) -#define AV_CH_LAYOUT_2_2 (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT) -#define AV_CH_LAYOUT_QUAD (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) -#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT) -#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY) -#define AV_CH_LAYOUT_5POINT0_BACK (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) -#define AV_CH_LAYOUT_5POINT1_BACK (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY) -#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER) -#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) -#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER) -#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER) -#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER) -#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY) -#define AV_CH_LAYOUT_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) -#define AV_CH_LAYOUT_7POINT0_FRONT (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) -#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) -#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) -#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) -#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) -#define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) - -enum AVMatrixEncoding { - AV_MATRIX_ENCODING_NONE, - AV_MATRIX_ENCODING_DOLBY, - AV_MATRIX_ENCODING_DPLII, - AV_MATRIX_ENCODING_NB -}; - -/** - * @} - */ - -/** - * Return a channel layout id that matches name, or 0 if no match is found. - * - * name can be one or several of the following notations, - * separated by '+' or '|': - * - the name of an usual channel layout (mono, stereo, 4.0, quad, 5.0, - * 5.0(side), 5.1, 5.1(side), 7.1, 7.1(wide), downmix); - * - the name of a single channel (FL, FR, FC, LFE, BL, BR, FLC, FRC, BC, - * SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR); - * - a number of channels, in decimal, optionally followed by 'c', yielding - * the default channel layout for that number of channels (@see - * av_get_default_channel_layout); - * - a channel layout mask, in hexadecimal starting with "0x" (see the - * AV_CH_* macros). - * - * Example: "stereo+FC" = "2+FC" = "2c+1c" = "0x7" - */ -uint64_t av_get_channel_layout(const char *name); - -/** - * Return a description of a channel layout. - * If nb_channels is <= 0, it is guessed from the channel_layout. - * - * @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, uint64_t channel_layout); - -/** - * Return the number of channels in the channel layout. - */ -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); - -/** - * Get the index of a channel in channel_layout. - * - * @param channel a channel layout describing exactly one channel which must be - * present in channel_layout. - * - * @return index of channel in channel_layout on success, a negative AVERROR - * on error. - */ -int av_get_channel_layout_channel_index(uint64_t channel_layout, - uint64_t channel); - -/** - * Get the channel with the given index in channel_layout. - */ -uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index); - -/** - * Get the name of a given channel. - * - * @return channel name on success, NULL on error. - */ -const char *av_get_channel_name(uint64_t channel); - -/** - * @} - */ - -#endif /* AVUTIL_AUDIOCONVERT_H */ +#if FF_API_AUDIOCONVERT +#include "channel_layout.h" +#endif diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c new file mode 100644 index 0000000000..79e398e41a --- /dev/null +++ b/libavutil/channel_layout.c @@ -0,0 +1,231 @@ +/* + * Copyright (c) 2006 Michael Niedermayer + * + * This file is part of Libav. + * + * Libav is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Libav 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * audio channel layout utility functions + */ + +#include "avstring.h" +#include "avutil.h" +#include "channel_layout.h" +#include "common.h" + +static const char * const channel_names[] = { + [0] = "FL", /* front left */ + [1] = "FR", /* front right */ + [2] = "FC", /* front center */ + [3] = "LFE", /* low frequency */ + [4] = "BL", /* back left */ + [5] = "BR", /* back right */ + [6] = "FLC", /* front left-of-center */ + [7] = "FRC", /* front right-of-center */ + [8] = "BC", /* back-center */ + [9] = "SL", /* side left */ + [10] = "SR", /* side right */ + [11] = "TC", /* top center */ + [12] = "TFL", /* top front left */ + [13] = "TFC", /* top front center */ + [14] = "TFR", /* top front right */ + [15] = "TBL", /* top back left */ + [16] = "TBC", /* top back center */ + [17] = "TBR", /* top back right */ + [29] = "DL", /* downmix left */ + [30] = "DR", /* downmix right */ + [31] = "WL", /* wide left */ + [32] = "WR", /* wide right */ + [33] = "SDL", /* surround direct left */ + [34] = "SDR", /* surround direct right */ + [35] = "LFE2", /* low frequency 2 */ +}; + +static const char *get_channel_name(int channel_id) +{ + if (channel_id < 0 || channel_id >= FF_ARRAY_ELEMS(channel_names)) + return NULL; + return channel_names[channel_id]; +} + +static const struct { + const char *name; + int nb_channels; + uint64_t layout; +} channel_layout_map[] = { + { "mono", 1, AV_CH_LAYOUT_MONO }, + { "stereo", 2, AV_CH_LAYOUT_STEREO }, + { "stereo", 2, AV_CH_LAYOUT_STEREO_DOWNMIX }, + { "2.1", 3, AV_CH_LAYOUT_2POINT1 }, + { "3.0", 3, AV_CH_LAYOUT_SURROUND }, + { "3.0(back)", 3, AV_CH_LAYOUT_2_1 }, + { "3.1", 4, AV_CH_LAYOUT_3POINT1 }, + { "4.0", 4, AV_CH_LAYOUT_4POINT0 }, + { "quad", 4, AV_CH_LAYOUT_QUAD }, + { "quad(side)", 4, AV_CH_LAYOUT_2_2 }, + { "4.1", 5, AV_CH_LAYOUT_4POINT1 }, + { "5.0", 5, AV_CH_LAYOUT_5POINT0 }, + { "5.0", 5, AV_CH_LAYOUT_5POINT0_BACK }, + { "5.1", 6, AV_CH_LAYOUT_5POINT1 }, + { "5.1", 6, AV_CH_LAYOUT_5POINT1_BACK }, + { "6.0", 6, AV_CH_LAYOUT_6POINT0 }, + { "6.0(front)", 6, AV_CH_LAYOUT_6POINT0_FRONT }, + { "hexagonal", 6, AV_CH_LAYOUT_HEXAGONAL }, + { "6.1", 7, AV_CH_LAYOUT_6POINT1 }, + { "6.1", 7, AV_CH_LAYOUT_6POINT1_BACK }, + { "6.1(front)", 7, AV_CH_LAYOUT_6POINT1_FRONT }, + { "7.0", 7, AV_CH_LAYOUT_7POINT0 }, + { "7.0(front)", 7, AV_CH_LAYOUT_7POINT0_FRONT }, + { "7.1", 8, AV_CH_LAYOUT_7POINT1 }, + { "7.1(wide)", 8, AV_CH_LAYOUT_7POINT1_WIDE }, + { "7.1(wide)", 8, AV_CH_LAYOUT_7POINT1_WIDE_BACK }, + { "octagonal", 8, AV_CH_LAYOUT_OCTAGONAL }, + { "downmix", 2, AV_CH_LAYOUT_STEREO_DOWNMIX, }, + { 0 } +}; + +static uint64_t get_channel_layout_single(const char *name, int name_len) +{ + int i; + char *end; + int64_t layout; + + for (i = 0; i < FF_ARRAY_ELEMS(channel_layout_map) - 1; i++) { + if (strlen(channel_layout_map[i].name) == name_len && + !memcmp(channel_layout_map[i].name, name, name_len)) + return channel_layout_map[i].layout; + } + for (i = 0; i < FF_ARRAY_ELEMS(channel_names); i++) + if (channel_names[i] && + strlen(channel_names[i]) == name_len && + !memcmp(channel_names[i], name, name_len)) + return (int64_t)1 << i; + i = strtol(name, &end, 10); + if (end - name == name_len || + (end + 1 - name == name_len && *end == 'c')) + return av_get_default_channel_layout(i); + layout = strtoll(name, &end, 0); + if (end - name == name_len) + return FFMAX(layout, 0); + return 0; +} + +uint64_t av_get_channel_layout(const char *name) +{ + const char *n, *e; + const char *name_end = name + strlen(name); + int64_t layout = 0, layout_single; + + for (n = name; n < name_end; n = e + 1) { + for (e = n; e < name_end && *e != '+' && *e != '|'; e++); + layout_single = get_channel_layout_single(n, e - n); + if (!layout_single) + return 0; + layout |= layout_single; + } + return layout; +} + +void av_get_channel_layout_string(char *buf, int buf_size, + int nb_channels, uint64_t channel_layout) +{ + int i; + + if (nb_channels <= 0) + nb_channels = av_get_channel_layout_nb_channels(channel_layout); + + for (i = 0; channel_layout_map[i].name; i++) + if (nb_channels == channel_layout_map[i].nb_channels && + channel_layout == channel_layout_map[i].layout) { + av_strlcpy(buf, channel_layout_map[i].name, buf_size); + return; + } + + snprintf(buf, buf_size, "%d channels", nb_channels); + if (channel_layout) { + int i, ch; + av_strlcat(buf, " (", buf_size); + for (i = 0, ch = 0; i < 64; i++) { + if ((channel_layout & (UINT64_C(1) << i))) { + const char *name = get_channel_name(i); + if (name) { + if (ch > 0) + av_strlcat(buf, "|", buf_size); + av_strlcat(buf, name, buf_size); + } + ch++; + } + } + av_strlcat(buf, ")", buf_size); + } +} + +int av_get_channel_layout_nb_channels(uint64_t channel_layout) +{ + return av_popcount64(channel_layout); +} + +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; + } +} + +int av_get_channel_layout_channel_index(uint64_t channel_layout, + uint64_t channel) +{ + if (!(channel_layout & channel) || + av_get_channel_layout_nb_channels(channel) != 1) + return AVERROR(EINVAL); + channel_layout &= channel - 1; + return av_get_channel_layout_nb_channels(channel_layout); +} + +const char *av_get_channel_name(uint64_t channel) +{ + int i; + if (av_get_channel_layout_nb_channels(channel) != 1) + return NULL; + for (i = 0; i < 64; i++) + if ((1ULL< + * Copyright (c) 2008 Peter Ross + * + * This file is part of Libav. + * + * Libav is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Libav 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVUTIL_CHANNEL_LAYOUT_H +#define AVUTIL_CHANNEL_LAYOUT_H + +#include + +/** + * @file + * audio channel layout utility functions + */ + +/** + * @addtogroup lavu_audio + * @{ + */ + +/** + * @defgroup channel_masks Audio channel masks + * @{ + */ +#define AV_CH_FRONT_LEFT 0x00000001 +#define AV_CH_FRONT_RIGHT 0x00000002 +#define AV_CH_FRONT_CENTER 0x00000004 +#define AV_CH_LOW_FREQUENCY 0x00000008 +#define AV_CH_BACK_LEFT 0x00000010 +#define AV_CH_BACK_RIGHT 0x00000020 +#define AV_CH_FRONT_LEFT_OF_CENTER 0x00000040 +#define AV_CH_FRONT_RIGHT_OF_CENTER 0x00000080 +#define AV_CH_BACK_CENTER 0x00000100 +#define AV_CH_SIDE_LEFT 0x00000200 +#define AV_CH_SIDE_RIGHT 0x00000400 +#define AV_CH_TOP_CENTER 0x00000800 +#define AV_CH_TOP_FRONT_LEFT 0x00001000 +#define AV_CH_TOP_FRONT_CENTER 0x00002000 +#define AV_CH_TOP_FRONT_RIGHT 0x00004000 +#define AV_CH_TOP_BACK_LEFT 0x00008000 +#define AV_CH_TOP_BACK_CENTER 0x00010000 +#define AV_CH_TOP_BACK_RIGHT 0x00020000 +#define AV_CH_STEREO_LEFT 0x20000000 ///< Stereo downmix. +#define AV_CH_STEREO_RIGHT 0x40000000 ///< See AV_CH_STEREO_LEFT. +#define AV_CH_WIDE_LEFT 0x0000000080000000ULL +#define AV_CH_WIDE_RIGHT 0x0000000100000000ULL +#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL +#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL +#define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL + +/** 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 0x8000000000000000ULL + +/** + * @} + * @defgroup channel_mask_c Audio channel convenience macros + * @{ + * */ +#define AV_CH_LAYOUT_MONO (AV_CH_FRONT_CENTER) +#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT) +#define AV_CH_LAYOUT_2POINT1 (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_2_1 (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER) +#define AV_CH_LAYOUT_3POINT1 (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_4POINT1 (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_2_2 (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT) +#define AV_CH_LAYOUT_QUAD (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT) +#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_5POINT0_BACK (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_5POINT1_BACK (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER) +#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY) +#define AV_CH_LAYOUT_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_7POINT0_FRONT (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) +#define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) + +enum AVMatrixEncoding { + AV_MATRIX_ENCODING_NONE, + AV_MATRIX_ENCODING_DOLBY, + AV_MATRIX_ENCODING_DPLII, + AV_MATRIX_ENCODING_NB +}; + +/** + * @} + */ + +/** + * Return a channel layout id that matches name, or 0 if no match is found. + * + * name can be one or several of the following notations, + * separated by '+' or '|': + * - the name of an usual channel layout (mono, stereo, 4.0, quad, 5.0, + * 5.0(side), 5.1, 5.1(side), 7.1, 7.1(wide), downmix); + * - the name of a single channel (FL, FR, FC, LFE, BL, BR, FLC, FRC, BC, + * SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR); + * - a number of channels, in decimal, optionally followed by 'c', yielding + * the default channel layout for that number of channels (@see + * av_get_default_channel_layout); + * - a channel layout mask, in hexadecimal starting with "0x" (see the + * AV_CH_* macros). + * + * Example: "stereo+FC" = "2+FC" = "2c+1c" = "0x7" + */ +uint64_t av_get_channel_layout(const char *name); + +/** + * Return a description of a channel layout. + * If nb_channels is <= 0, it is guessed from the channel_layout. + * + * @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, uint64_t channel_layout); + +/** + * Return the number of channels in the channel layout. + */ +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); + +/** + * Get the index of a channel in channel_layout. + * + * @param channel a channel layout describing exactly one channel which must be + * present in channel_layout. + * + * @return index of channel in channel_layout on success, a negative AVERROR + * on error. + */ +int av_get_channel_layout_channel_index(uint64_t channel_layout, + uint64_t channel); + +/** + * Get the channel with the given index in channel_layout. + */ +uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index); + +/** + * Get the name of a given channel. + * + * @return channel name on success, NULL on error. + */ +const char *av_get_channel_name(uint64_t channel); + +/** + * @} + */ + +#endif /* AVUTIL_CHANNEL_LAYOUT_H */ diff --git a/libavutil/version.h b/libavutil/version.h index 1659dbd537..6f79eeba21 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -37,7 +37,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 52 -#define LIBAVUTIL_VERSION_MINOR 1 +#define LIBAVUTIL_VERSION_MINOR 2 #define LIBAVUTIL_VERSION_MICRO 0 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ @@ -73,6 +73,9 @@ #ifndef FF_API_AV_REVERSE #define FF_API_AV_REVERSE (LIBAVUTIL_VERSION_MAJOR < 53) #endif +#ifndef FF_API_AUDIOCONVERT +#define FF_API_AUDIOCONVERT (LIBAVUTIL_VERSION_MAJOR < 53) +#endif /** * @} -- cgit v1.2.3 From a903f8f087b0bdcc5643054147f3a5f278e7eb99 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sat, 10 Nov 2012 10:00:00 -0500 Subject: Include libavutil/channel_layout.h instead of libavutil/audioconvert.h Also reorder some other #include when applicable. --- avconv.c | 2 +- avconv_filter.c | 2 +- avconv_opt.c | 2 +- doc/filters.texi | 2 +- libavcodec/aacdectab.h | 2 +- libavcodec/ac3_parser.c | 2 +- libavcodec/ac3enc.c | 3 +-- libavcodec/ac3tab.c | 2 +- libavcodec/alac.c | 2 +- libavcodec/amrnbdec.c | 2 +- libavcodec/amrwbdec.c | 2 +- libavcodec/apedec.c | 6 +++--- libavcodec/api-example.c | 2 +- libavcodec/audioconvert.h | 2 +- libavcodec/bmv.c | 2 +- libavcodec/cook.c | 2 +- libavcodec/dcadec.c | 2 +- libavcodec/dsicinav.c | 2 +- libavcodec/flac.c | 2 +- libavcodec/flacdec.c | 2 +- libavcodec/g722dec.c | 4 ++-- libavcodec/g723_1.c | 2 +- libavcodec/g726.c | 2 +- libavcodec/gsmdec.c | 2 +- libavcodec/imc.c | 2 +- libavcodec/libfaac.c | 4 ++-- libavcodec/libfdk-aacenc.c | 6 +++--- libavcodec/libgsm.c | 4 ++-- libavcodec/libilbc.c | 4 ++-- libavcodec/libmp3lame.c | 2 +- libavcodec/libopencore-amr.c | 4 ++-- libavcodec/libspeexdec.c | 2 +- libavcodec/libspeexenc.c | 2 +- libavcodec/mlp_parser.c | 2 +- libavcodec/mpc7.c | 2 +- libavcodec/mpc8.c | 2 +- libavcodec/mpegaudiodec.c | 2 +- libavcodec/mpegaudioenc.c | 2 +- libavcodec/nellymoserdec.c | 4 ++-- libavcodec/pcm-mpeg.c | 2 +- libavcodec/qcelpdec.c | 2 +- libavcodec/qdm2.c | 2 +- libavcodec/ra144dec.c | 2 +- libavcodec/ra288.c | 2 +- libavcodec/ralf.c | 2 +- libavcodec/sipr.c | 2 +- libavcodec/smacker.c | 2 +- libavcodec/truespeech.c | 2 +- libavcodec/twinvq.c | 2 +- libavcodec/utils.c | 3 +-- libavcodec/vmdav.c | 2 +- libavcodec/vorbis_data.c | 4 ++-- libavcodec/wavpack.c | 2 +- libavcodec/wmavoice.c | 2 +- libavcodec/ws-snd1.c | 2 +- libavdevice/alsa-audio-common.c | 2 +- libavfilter/af_aformat.c | 2 +- libavfilter/af_amix.c | 2 +- libavfilter/af_ashowinfo.c | 2 +- libavfilter/af_channelmap.c | 2 +- libavfilter/af_channelsplit.c | 2 +- libavfilter/af_join.c | 2 +- libavfilter/asrc_anullsrc.c | 4 ++-- libavfilter/audio.c | 2 +- libavfilter/avfilter.c | 2 +- libavfilter/avfilter.h | 2 +- libavfilter/avfiltergraph.c | 9 ++++----- libavfilter/buffer.c | 2 +- libavfilter/buffersink.c | 2 +- libavfilter/buffersrc.c | 13 ++++++------- libavfilter/fifo.c | 2 +- libavformat/aea.c | 4 ++-- libavformat/flic.c | 2 +- libavformat/g723_1.c | 2 +- libavformat/mov.c | 2 +- libavformat/mov_chan.c | 2 +- libavformat/wv.c | 2 +- libavresample/avresample.h | 2 +- 78 files changed, 99 insertions(+), 103 deletions(-) diff --git a/avconv.c b/avconv.c index c931c46de5..b2e1f045dc 100644 --- a/avconv.c +++ b/avconv.c @@ -32,7 +32,7 @@ #include "libswscale/swscale.h" #include "libavresample/avresample.h" #include "libavutil/opt.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/parseutils.h" #include "libavutil/samplefmt.h" #include "libavutil/colorspace.h" diff --git a/avconv_filter.c b/avconv_filter.c index 8f3f912582..f51e3e1456 100644 --- a/avconv_filter.c +++ b/avconv_filter.c @@ -23,8 +23,8 @@ #include "libavfilter/avfilter.h" #include "libavfilter/avfiltergraph.h" -#include "libavutil/audioconvert.h" #include "libavutil/avassert.h" +#include "libavutil/channel_layout.h" #include "libavutil/pixdesc.h" #include "libavutil/pixfmt.h" #include "libavutil/samplefmt.h" diff --git a/avconv_opt.c b/avconv_opt.c index ffb6c650ce..03544545c9 100644 --- a/avconv_opt.c +++ b/avconv_opt.c @@ -30,10 +30,10 @@ #include "libavfilter/avfilter.h" #include "libavfilter/avfiltergraph.h" -#include "libavutil/audioconvert.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/avutil.h" +#include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" #include "libavutil/fifo.h" #include "libavutil/mathematics.h" diff --git a/doc/filters.texi b/doc/filters.texi index 85c8ae0b9b..e1da2fee72 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -381,7 +381,7 @@ integer or a string representing a channel layout. The default value of @var{channel_layout} is 3, which corresponds to CH_LAYOUT_STEREO. Check the channel_layout_map definition in -@file{libavcodec/audioconvert.c} for the mapping between strings and +@file{libavutil/channel_layout.c} for the mapping between strings and channel layout values. Follow some examples: diff --git a/libavcodec/aacdectab.h b/libavcodec/aacdectab.h index 844579fdee..4c23f2d03d 100644 --- a/libavcodec/aacdectab.h +++ b/libavcodec/aacdectab.h @@ -30,7 +30,7 @@ #ifndef AVCODEC_AACDECTAB_H #define AVCODEC_AACDECTAB_H -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "aac.h" #include diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c index 9786da3d05..4abcf168a2 100644 --- a/libavcodec/ac3_parser.c +++ b/libavcodec/ac3_parser.c @@ -20,11 +20,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/channel_layout.h" #include "parser.h" #include "ac3_parser.h" #include "aac_ac3_parser.h" #include "get_bits.h" -#include "libavutil/audioconvert.h" #define AC3_HEADER_SIZE 7 diff --git a/libavcodec/ac3enc.c b/libavcodec/ac3enc.c index 5102e30648..6d038ef914 100644 --- a/libavcodec/ac3enc.c +++ b/libavcodec/ac3enc.c @@ -30,9 +30,9 @@ #include -#include "libavutil/audioconvert.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "libavutil/opt.h" #include "avcodec.h" @@ -40,7 +40,6 @@ #include "dsputil.h" #include "ac3dsp.h" #include "ac3.h" -#include "audioconvert.h" #include "fft.h" #include "ac3enc.h" #include "eac3enc.h" diff --git a/libavcodec/ac3tab.c b/libavcodec/ac3tab.c index 951a1014ce..ebcfb0b921 100644 --- a/libavcodec/ac3tab.c +++ b/libavcodec/ac3tab.c @@ -24,7 +24,7 @@ * tables taken directly from the AC-3 spec. */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "ac3tab.h" diff --git a/libavcodec/alac.c b/libavcodec/alac.c index 80f6863105..242e531def 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -45,7 +45,7 @@ * 32bit samplerate */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "bytestream.h" diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c index 21966456a0..ccf1b0cb2f 100644 --- a/libavcodec/amrnbdec.c +++ b/libavcodec/amrnbdec.c @@ -43,7 +43,7 @@ #include #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "dsputil.h" #include "libavutil/common.h" diff --git a/libavcodec/amrwbdec.c b/libavcodec/amrwbdec.c index 9b0fe255b4..43ac0c3d4d 100644 --- a/libavcodec/amrwbdec.c +++ b/libavcodec/amrwbdec.c @@ -24,7 +24,7 @@ * AMR wideband decoder */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/lfg.h" diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c index 9d2941ce15..7a6ee413f8 100644 --- a/libavcodec/apedec.c +++ b/libavcodec/apedec.c @@ -20,12 +20,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/avassert.h" +#include "libavutil/channel_layout.h" +#include "libavutil/opt.h" #include "avcodec.h" #include "dsputil.h" #include "bytestream.h" -#include "libavutil/audioconvert.h" -#include "libavutil/avassert.h" -#include "libavutil/opt.h" /** * @file diff --git a/libavcodec/api-example.c b/libavcodec/api-example.c index 198a59d5f5..949b3ef3ac 100644 --- a/libavcodec/api-example.c +++ b/libavcodec/api-example.c @@ -37,7 +37,7 @@ #endif #include "libavcodec/avcodec.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "libavutil/mathematics.h" diff --git a/libavcodec/audioconvert.h b/libavcodec/audioconvert.h index a7b0baa828..7d76fd6879 100644 --- a/libavcodec/audioconvert.h +++ b/libavcodec/audioconvert.h @@ -31,7 +31,7 @@ #include "libavutil/cpu.h" #include "avcodec.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" struct AVAudioConvert; typedef struct AVAudioConvert AVAudioConvert; diff --git a/libavcodec/bmv.c b/libavcodec/bmv.c index 53781e74e6..3ff6177c74 100644 --- a/libavcodec/bmv.c +++ b/libavcodec/bmv.c @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "bytestream.h" diff --git a/libavcodec/cook.c b/libavcodec/cook.c index 201b44c2be..f41457d1b0 100644 --- a/libavcodec/cook.c +++ b/libavcodec/cook.c @@ -42,13 +42,13 @@ * available. */ +#include "libavutil/channel_layout.h" #include "libavutil/lfg.h" #include "avcodec.h" #include "get_bits.h" #include "dsputil.h" #include "bytestream.h" #include "fft.h" -#include "libavutil/audioconvert.h" #include "sinewin.h" #include "cookdata.h" diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c index 026c572689..712a72aed0 100644 --- a/libavcodec/dcadec.c +++ b/libavcodec/dcadec.c @@ -26,12 +26,12 @@ #include #include +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/float_dsp.h" #include "libavutil/intmath.h" #include "libavutil/intreadwrite.h" #include "libavutil/mathematics.h" -#include "libavutil/audioconvert.h" #include "libavutil/samplefmt.h" #include "avcodec.h" #include "dsputil.h" diff --git a/libavcodec/dsicinav.c b/libavcodec/dsicinav.c index 2dcbf745ea..4874aa3f95 100644 --- a/libavcodec/dsicinav.c +++ b/libavcodec/dsicinav.c @@ -24,7 +24,7 @@ * Delphine Software International CIN audio/video decoders */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "bytestream.h" #include "mathops.h" diff --git a/libavcodec/flac.c b/libavcodec/flac.c index 07da702e94..32b28d0443 100644 --- a/libavcodec/flac.c +++ b/libavcodec/flac.c @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "libavutil/log.h" #include "bytestream.h" diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.c index 10e33f22f2..6b290e2776 100644 --- a/libavcodec/flacdec.c +++ b/libavcodec/flacdec.c @@ -33,7 +33,7 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "avcodec.h" #include "internal.h" diff --git a/libavcodec/g722dec.c b/libavcodec/g722dec.c index 3364850b18..55a23d1c5e 100644 --- a/libavcodec/g722dec.c +++ b/libavcodec/g722dec.c @@ -34,11 +34,11 @@ * respectively of each byte are ignored. */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" +#include "libavutil/opt.h" #include "avcodec.h" #include "get_bits.h" #include "g722.h" -#include "libavutil/opt.h" #define OFFSET(x) offsetof(G722Context, x) #define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM diff --git a/libavcodec/g723_1.c b/libavcodec/g723_1.c index 342c63473d..fe88682d3c 100644 --- a/libavcodec/g723_1.c +++ b/libavcodec/g723_1.c @@ -26,7 +26,7 @@ */ #define BITSTREAM_READER_LE -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/mem.h" #include "libavutil/opt.h" #include "avcodec.h" diff --git a/libavcodec/g726.c b/libavcodec/g726.c index 91b5e54cef..402ae3d2ce 100644 --- a/libavcodec/g726.c +++ b/libavcodec/g726.c @@ -23,8 +23,8 @@ */ #include -#include "libavutil/audioconvert.h" #include "libavutil/avassert.h" +#include "libavutil/channel_layout.h" #include "libavutil/opt.h" #include "avcodec.h" #include "internal.h" diff --git a/libavcodec/gsmdec.c b/libavcodec/gsmdec.c index 14b7e03047..06e6c33875 100644 --- a/libavcodec/gsmdec.c +++ b/libavcodec/gsmdec.c @@ -24,7 +24,7 @@ * GSM decoder */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "msgsmdec.h" diff --git a/libavcodec/imc.c b/libavcodec/imc.c index 4c2d01d025..ea6172b61e 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -35,11 +35,11 @@ #include #include +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "dsputil.h" #include "fft.h" -#include "libavutil/audioconvert.h" #include "sinewin.h" #include "imcdata.h" diff --git a/libavcodec/libfaac.c b/libavcodec/libfaac.c index 7297179887..24f3bf2027 100644 --- a/libavcodec/libfaac.c +++ b/libavcodec/libfaac.c @@ -26,11 +26,11 @@ #include +#include "libavutil/channel_layout.h" +#include "libavutil/common.h" #include "avcodec.h" #include "audio_frame_queue.h" #include "internal.h" -#include "libavutil/audioconvert.h" -#include "libavutil/common.h" /* libfaac has an encoder delay of 1024 samples */ diff --git a/libavcodec/libfdk-aacenc.c b/libavcodec/libfdk-aacenc.c index fada1c2550..85ccb10148 100644 --- a/libavcodec/libfdk-aacenc.c +++ b/libavcodec/libfdk-aacenc.c @@ -21,12 +21,12 @@ #include +#include "libavutil/channel_layout.h" +#include "libavutil/common.h" +#include "libavutil/opt.h" #include "avcodec.h" #include "audio_frame_queue.h" #include "internal.h" -#include "libavutil/audioconvert.h" -#include "libavutil/common.h" -#include "libavutil/opt.h" typedef struct AACContext { const AVClass *class; diff --git a/libavcodec/libgsm.c b/libavcodec/libgsm.c index afed7100a0..55697db069 100644 --- a/libavcodec/libgsm.c +++ b/libavcodec/libgsm.c @@ -29,11 +29,11 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" +#include "libavutil/common.h" #include "avcodec.h" #include "internal.h" #include "gsm.h" -#include "libavutil/common.h" static av_cold int libgsm_encode_init(AVCodecContext *avctx) { if (avctx->channels > 1) { diff --git a/libavcodec/libilbc.c b/libavcodec/libilbc.c index 281206109c..450f413c5b 100644 --- a/libavcodec/libilbc.c +++ b/libavcodec/libilbc.c @@ -21,10 +21,10 @@ #include -#include "libavutil/audioconvert.h" -#include "avcodec.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/opt.h" +#include "avcodec.h" #include "internal.h" static int get_mode(AVCodecContext *avctx) diff --git a/libavcodec/libmp3lame.c b/libavcodec/libmp3lame.c index 947edc0503..600f6fd9dd 100644 --- a/libavcodec/libmp3lame.c +++ b/libavcodec/libmp3lame.c @@ -26,7 +26,7 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" #include "libavutil/log.h" diff --git a/libavcodec/libopencore-amr.c b/libavcodec/libopencore-amr.c index 0c472b7b72..006c85224d 100644 --- a/libavcodec/libopencore-amr.c +++ b/libavcodec/libopencore-amr.c @@ -19,11 +19,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" -#include "avcodec.h" #include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/opt.h" +#include "avcodec.h" #include "audio_frame_queue.h" #include "internal.h" diff --git a/libavcodec/libspeexdec.c b/libavcodec/libspeexdec.c index 0c93f05a1b..e9442f48c3 100644 --- a/libavcodec/libspeexdec.c +++ b/libavcodec/libspeexdec.c @@ -23,7 +23,7 @@ #include #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "avcodec.h" diff --git a/libavcodec/libspeexenc.c b/libavcodec/libspeexenc.c index cbfa5be92b..e30185a758 100644 --- a/libavcodec/libspeexenc.c +++ b/libavcodec/libspeexenc.c @@ -85,7 +85,7 @@ #include #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/opt.h" #include "avcodec.h" diff --git a/libavcodec/mlp_parser.c b/libavcodec/mlp_parser.c index 4c1cf9bd65..d1a3dc1ba0 100644 --- a/libavcodec/mlp_parser.c +++ b/libavcodec/mlp_parser.c @@ -26,8 +26,8 @@ #include +#include "libavutil/channel_layout.h" #include "libavutil/crc.h" -#include "libavutil/audioconvert.h" #include "get_bits.h" #include "parser.h" #include "mlp_parser.h" diff --git a/libavcodec/mpc7.c b/libavcodec/mpc7.c index b013eeb3d5..7c9103c7d2 100644 --- a/libavcodec/mpc7.c +++ b/libavcodec/mpc7.c @@ -25,12 +25,12 @@ * divided into 32 subbands. */ +#include "libavutil/channel_layout.h" #include "libavutil/lfg.h" #include "avcodec.h" #include "get_bits.h" #include "dsputil.h" #include "mpegaudiodsp.h" -#include "libavutil/audioconvert.h" #include "mpc.h" #include "mpc7data.h" diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c index 0331789bbb..f43cb4ead6 100644 --- a/libavcodec/mpc8.c +++ b/libavcodec/mpc8.c @@ -25,12 +25,12 @@ * divided into 32 subbands. */ +#include "libavutil/channel_layout.h" #include "libavutil/lfg.h" #include "avcodec.h" #include "get_bits.h" #include "dsputil.h" #include "mpegaudiodsp.h" -#include "libavutil/audioconvert.h" #include "mpc.h" #include "mpc8data.h" diff --git a/libavcodec/mpegaudiodec.c b/libavcodec/mpegaudiodec.c index 52abcb2906..bb539cdbce 100644 --- a/libavcodec/mpegaudiodec.c +++ b/libavcodec/mpegaudiodec.c @@ -24,7 +24,7 @@ * MPEG Audio decoder */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "mathops.h" diff --git a/libavcodec/mpegaudioenc.c b/libavcodec/mpegaudioenc.c index ab9e0fa54d..ba0d8cfcab 100644 --- a/libavcodec/mpegaudioenc.c +++ b/libavcodec/mpegaudioenc.c @@ -24,7 +24,7 @@ * The simplest mpeg audio layer 2 encoder. */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "internal.h" diff --git a/libavcodec/nellymoserdec.c b/libavcodec/nellymoserdec.c index f17e9fd839..1f7905819c 100644 --- a/libavcodec/nellymoserdec.c +++ b/libavcodec/nellymoserdec.c @@ -31,14 +31,14 @@ * implementors. The original code is available from http://code.google.com/p/nelly2pcm/ */ -#include "nellymoser.h" +#include "libavutil/channel_layout.h" #include "libavutil/lfg.h" #include "libavutil/random_seed.h" -#include "libavutil/audioconvert.h" #include "avcodec.h" #include "dsputil.h" #include "fft.h" #include "fmtconvert.h" +#include "nellymoser.h" #include "sinewin.h" #define BITSTREAM_READER_LE diff --git a/libavcodec/pcm-mpeg.c b/libavcodec/pcm-mpeg.c index b5af6493b7..4f9f52558f 100644 --- a/libavcodec/pcm-mpeg.c +++ b/libavcodec/pcm-mpeg.c @@ -24,7 +24,7 @@ * PCM codecs for encodings found in MPEG streams (DVD/Blu-ray) */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "bytestream.h" diff --git a/libavcodec/qcelpdec.c b/libavcodec/qcelpdec.c index 9c2b354cd4..d0f41072fd 100644 --- a/libavcodec/qcelpdec.c +++ b/libavcodec/qcelpdec.c @@ -29,7 +29,7 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "internal.h" #include "get_bits.h" diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c index a094e6c188..1666242c37 100644 --- a/libavcodec/qdm2.c +++ b/libavcodec/qdm2.c @@ -36,7 +36,7 @@ #include #define BITSTREAM_READER_LE -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "dsputil.h" diff --git a/libavcodec/ra144dec.c b/libavcodec/ra144dec.c index cee3892f79..0c6c7d3cfb 100644 --- a/libavcodec/ra144dec.c +++ b/libavcodec/ra144dec.c @@ -22,7 +22,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/intmath.h" #include "avcodec.h" #include "get_bits.h" diff --git a/libavcodec/ra288.c b/libavcodec/ra288.c index e080d2beac..deaafd2d57 100644 --- a/libavcodec/ra288.c +++ b/libavcodec/ra288.c @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/float_dsp.h" #include "avcodec.h" #define BITSTREAM_READER_LE diff --git a/libavcodec/ralf.c b/libavcodec/ralf.c index 3244424f74..c9c8080dd9 100644 --- a/libavcodec/ralf.c +++ b/libavcodec/ralf.c @@ -26,11 +26,11 @@ * Dedicated to the mastermind behind it, Ralph Wiggum. */ +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "golomb.h" #include "unary.h" -#include "libavutil/audioconvert.h" #include "ralfdata.h" #define FILTER_NONE 0 diff --git a/libavcodec/sipr.c b/libavcodec/sipr.c index 9db09232c1..211396bc65 100644 --- a/libavcodec/sipr.c +++ b/libavcodec/sipr.c @@ -25,7 +25,7 @@ #include #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/mathematics.h" #include "avcodec.h" #define BITSTREAM_READER_LE diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c index df2d4c4b17..61283e83fb 100644 --- a/libavcodec/smacker.c +++ b/libavcodec/smacker.c @@ -31,8 +31,8 @@ #include #include +#include "libavutil/channel_layout.h" #include "avcodec.h" -#include "libavutil/audioconvert.h" #include "mathops.h" #define BITSTREAM_READER_LE diff --git a/libavcodec/truespeech.c b/libavcodec/truespeech.c index efe5f45706..7ee155640a 100644 --- a/libavcodec/truespeech.c +++ b/libavcodec/truespeech.c @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" #include "avcodec.h" #include "dsputil.h" diff --git a/libavcodec/twinvq.c b/libavcodec/twinvq.c index 7af370ee5a..072af7e067 100644 --- a/libavcodec/twinvq.c +++ b/libavcodec/twinvq.c @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/float_dsp.h" #include "avcodec.h" #include "get_bits.h" diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 78726aeff9..8c203b92fb 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -27,10 +27,10 @@ #include "libavutil/avassert.h" #include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" #include "libavutil/crc.h" #include "libavutil/mathematics.h" #include "libavutil/pixdesc.h" -#include "libavutil/audioconvert.h" #include "libavutil/imgutils.h" #include "libavutil/samplefmt.h" #include "libavutil/dict.h" @@ -38,7 +38,6 @@ #include "dsputil.h" #include "libavutil/opt.h" #include "thread.h" -#include "audioconvert.h" #include "internal.h" #include "bytestream.h" #include diff --git a/libavcodec/vmdav.c b/libavcodec/vmdav.c index 6efc9e73fc..2fdd27fdb0 100644 --- a/libavcodec/vmdav.c +++ b/libavcodec/vmdav.c @@ -43,7 +43,7 @@ #include #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" #include "avcodec.h" diff --git a/libavcodec/vorbis_data.c b/libavcodec/vorbis_data.c index 98c7a599c9..03c3d6bae6 100644 --- a/libavcodec/vorbis_data.c +++ b/libavcodec/vorbis_data.c @@ -18,10 +18,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/channel_layout.h" +#include "libavutil/mem.h" #include "dsputil.h" #include "vorbis.h" -#include "libavutil/audioconvert.h" -#include "libavutil/mem.h" const uint8_t ff_vorbis_channel_layout_offsets[8][8] = { { 0 }, diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index eafb40d639..a0ce4a3f64 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -21,7 +21,7 @@ #define BITSTREAM_READER_LE -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avcodec.h" #include "get_bits.h" #include "unary.h" diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c index df98167ab6..2ee235cffc 100644 --- a/libavcodec/wmavoice.c +++ b/libavcodec/wmavoice.c @@ -29,7 +29,7 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/mem.h" #include "dsputil.h" #include "avcodec.h" diff --git a/libavcodec/ws-snd1.c b/libavcodec/ws-snd1.c index 05cb31cff2..036316c4e3 100644 --- a/libavcodec/ws-snd1.c +++ b/libavcodec/ws-snd1.c @@ -21,7 +21,7 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/intreadwrite.h" #include "avcodec.h" diff --git a/libavdevice/alsa-audio-common.c b/libavdevice/alsa-audio-common.c index b48e007fb3..21f1594241 100644 --- a/libavdevice/alsa-audio-common.c +++ b/libavdevice/alsa-audio-common.c @@ -31,7 +31,7 @@ #include #include "libavformat/avformat.h" #include "libavutil/avassert.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "alsa-audio.h" diff --git a/libavfilter/af_aformat.c b/libavfilter/af_aformat.c index 77c16be4a2..2059cf2b49 100644 --- a/libavfilter/af_aformat.c +++ b/libavfilter/af_aformat.c @@ -23,8 +23,8 @@ * format audio filter */ -#include "libavutil/audioconvert.h" #include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/opt.h" diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index dde9595ff4..7ef94b9e97 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -28,10 +28,10 @@ * output. */ -#include "libavutil/audioconvert.h" #include "libavutil/audio_fifo.h" #include "libavutil/avassert.h" #include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/float_dsp.h" #include "libavutil/mathematics.h" diff --git a/libavfilter/af_ashowinfo.c b/libavfilter/af_ashowinfo.c index 00e0322f5c..bcf821ac65 100644 --- a/libavfilter/af_ashowinfo.c +++ b/libavfilter/af_ashowinfo.c @@ -27,7 +27,7 @@ #include #include "libavutil/adler32.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/mem.h" #include "libavutil/samplefmt.h" diff --git a/libavfilter/af_channelmap.c b/libavfilter/af_channelmap.c index f70b48102c..4f9ee860df 100644 --- a/libavfilter/af_channelmap.c +++ b/libavfilter/af_channelmap.c @@ -25,8 +25,8 @@ #include -#include "libavutil/audioconvert.h" #include "libavutil/avstring.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/mathematics.h" #include "libavutil/opt.h" diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c index 92fb27e092..e8ceb9c016 100644 --- a/libavfilter/af_channelsplit.c +++ b/libavfilter/af_channelsplit.c @@ -23,7 +23,7 @@ * Split an audio stream into per-channel streams. */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/internal.h" #include "libavutil/opt.h" diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index 7e3a542392..c810e594f8 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -25,8 +25,8 @@ * a single output */ -#include "libavutil/audioconvert.h" #include "libavutil/avassert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/opt.h" diff --git a/libavfilter/asrc_anullsrc.c b/libavfilter/asrc_anullsrc.c index 7096ceafbd..4cbaa81bc9 100644 --- a/libavfilter/asrc_anullsrc.c +++ b/libavfilter/asrc_anullsrc.c @@ -24,10 +24,10 @@ #include #include +#include "libavutil/channel_layout.h" +#include "libavutil/internal.h" #include "avfilter.h" #include "internal.h" -#include "libavutil/audioconvert.h" -#include "libavutil/internal.h" typedef struct { uint64_t channel_layout; diff --git a/libavfilter/audio.c b/libavfilter/audio.c index 66010c18c5..48e038b842 100644 --- a/libavfilter/audio.c +++ b/libavfilter/audio.c @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "audio.h" diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 1e3b001fcd..c7db857ef0 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -21,10 +21,10 @@ /* #define DEBUG */ +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/pixdesc.h" #include "libavutil/rational.h" -#include "libavutil/audioconvert.h" #include "avfilter.h" #include "formats.h" diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index adb8b797d8..01d39b6c0b 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -478,7 +478,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 */ - uint64_t channel_layout; ///< channel layout of current buffer (see libavutil/audioconvert.h) + uint64_t channel_layout; ///< channel layout of current buffer (see libavutil/channel_layout.h) int sample_rate; ///< samples per second int format; ///< agreed upon media format diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index 4a66c7842a..f5c9984b6a 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -23,16 +23,15 @@ #include #include +#include "libavutil/avassert.h" +#include "libavutil/channel_layout.h" +#include "libavutil/common.h" +#include "libavutil/log.h" #include "avfilter.h" #include "avfiltergraph.h" #include "formats.h" #include "internal.h" -#include "libavutil/audioconvert.h" -#include "libavutil/avassert.h" -#include "libavutil/common.h" -#include "libavutil/log.h" - static const AVClass filtergraph_class = { .class_name = "AVFilterGraph", .item_name = av_default_item_name, diff --git a/libavfilter/buffer.c b/libavfilter/buffer.c index 439425a3ee..8eb3ce36d1 100644 --- a/libavfilter/buffer.c +++ b/libavfilter/buffer.c @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavcodec/avcodec.h" diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c index c68b909d57..96f5351635 100644 --- a/libavfilter/buffersink.c +++ b/libavfilter/buffersink.c @@ -24,8 +24,8 @@ */ #include "libavutil/audio_fifo.h" -#include "libavutil/audioconvert.h" #include "libavutil/avassert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/mathematics.h" diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index a2d5edbd5e..9354691862 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -23,6 +23,12 @@ * memory buffer source filter */ +#include "libavutil/channel_layout.h" +#include "libavutil/common.h" +#include "libavutil/fifo.h" +#include "libavutil/imgutils.h" +#include "libavutil/opt.h" +#include "libavutil/samplefmt.h" #include "audio.h" #include "avfilter.h" #include "buffersrc.h" @@ -30,13 +36,6 @@ #include "internal.h" #include "video.h" -#include "libavutil/audioconvert.h" -#include "libavutil/common.h" -#include "libavutil/fifo.h" -#include "libavutil/imgutils.h" -#include "libavutil/opt.h" -#include "libavutil/samplefmt.h" - typedef struct { const AVClass *class; AVFifoBuffer *fifo; diff --git a/libavfilter/fifo.c b/libavfilter/fifo.c index b13be68015..1bfacafd50 100644 --- a/libavfilter/fifo.c +++ b/libavfilter/fifo.c @@ -24,7 +24,7 @@ */ #include "libavutil/avassert.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/mathematics.h" #include "libavutil/samplefmt.h" diff --git a/libavformat/aea.c b/libavformat/aea.c index 4b6bf32b05..7675009bbc 100644 --- a/libavformat/aea.c +++ b/libavformat/aea.c @@ -20,10 +20,10 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include "libavutil/channel_layout.h" +#include "libavutil/intreadwrite.h" #include "avformat.h" #include "pcm.h" -#include "libavutil/intreadwrite.h" -#include "libavutil/audioconvert.h" #define AT1_SU_SIZE 212 diff --git a/libavformat/flic.c b/libavformat/flic.c index 60197638e5..2eb6f057b4 100644 --- a/libavformat/flic.c +++ b/libavformat/flic.c @@ -31,8 +31,8 @@ * special FLIs from the PC games "Magic Carpet" and "X-COM: Terror from the Deep". */ +#include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" -#include "libavutil/audioconvert.h" #include "avformat.h" #include "internal.h" diff --git a/libavformat/g723_1.c b/libavformat/g723_1.c index 2674ce5327..0b92702936 100644 --- a/libavformat/g723_1.c +++ b/libavformat/g723_1.c @@ -24,7 +24,7 @@ * G.723.1 demuxer */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "avformat.h" #include "internal.h" diff --git a/libavformat/mov.c b/libavformat/mov.c index 63049f559f..35c07bd0a2 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -26,7 +26,7 @@ //#define MOV_EXPORT_ALL_METADATA #include "libavutil/attributes.h" -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" #include "libavutil/intfloat.h" #include "libavutil/mathematics.h" diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c index 00a2a4bb92..aa7ba1079f 100644 --- a/libavformat/mov_chan.c +++ b/libavformat/mov_chan.c @@ -25,7 +25,7 @@ #include -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavcodec/avcodec.h" #include "mov_chan.h" diff --git a/libavformat/wv.c b/libavformat/wv.c index a2ae5a4dba..f6b96d5ce3 100644 --- a/libavformat/wv.c +++ b/libavformat/wv.c @@ -19,7 +19,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "libavutil/audioconvert.h" +#include "libavutil/channel_layout.h" #include "libavutil/intreadwrite.h" #include "libavutil/dict.h" #include "avformat.h" diff --git a/libavresample/avresample.h b/libavresample/avresample.h index b0a9e247e8..affeeeb73b 100644 --- a/libavresample/avresample.h +++ b/libavresample/avresample.h @@ -93,8 +93,8 @@ * avresample_free(). */ -#include "libavutil/audioconvert.h" #include "libavutil/avutil.h" +#include "libavutil/channel_layout.h" #include "libavutil/dict.h" #include "libavutil/log.h" -- cgit v1.2.3 From 97bf7c03b1338a867da52c159a2afecbdedcfa88 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Thu, 25 Oct 2012 18:33:38 +0200 Subject: doc: git-howto: Leave reviewers time to react before pushing patches --- doc/git-howto.texi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/git-howto.texi b/doc/git-howto.texi index 68e0061d74..5a8e2a3823 100644 --- a/doc/git-howto.texi +++ b/doc/git-howto.texi @@ -419,6 +419,13 @@ Also note that every single commit should pass the test suite, not just the result of a series of patches. So if you have a series of commits to push, run the test suite on every single commit. +Give other developers a reasonable amount of time to look at and review +patches before you push them. Not everybody is online 24/7, but may wish +to look at and comment on a patch nonetheless. The time you leave depends +on the urgency and complexity of the patch. Use your common sense to pick +a timeframe that allows everybody that you think may wish to comment +and/or should comment on the change an opportunity to see it. + Finally, after pushing, mark all patches as committed on @url{http://patches.libav.org/,patchwork}. Sometimes this is not automatically done when a patch has been -- cgit v1.2.3