misc/winutils/include/libavutil/audioconvert.h
author Wuzzy <Wuzzy2@mail.ru>
Thu, 25 Apr 2019 23:01:05 +0200
changeset 14844 e239378a9400
parent 7813 7ac83d79b897
permissions -rw-r--r--
Prevent entering “/”, “\” and “:” in team and scheme names. The name of teams and schems is saved in the file name itself, so these characters would cause trouble as they are used in path names in Linux and Windows.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7813
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     1
/*
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     2
 * Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     3
 * Copyright (c) 2008 Peter Ross
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     4
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     5
 * This file is part of Libav.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     6
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     7
 * Libav is free software; you can redistribute it and/or
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     8
 * modify it under the terms of the GNU Lesser General Public
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
     9
 * License as published by the Free Software Foundation; either
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    10
 * version 2.1 of the License, or (at your option) any later version.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    11
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    12
 * Libav is distributed in the hope that it will be useful,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    15
 * Lesser General Public License for more details.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    16
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    17
 * You should have received a copy of the GNU Lesser General Public
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    18
 * License along with Libav; if not, write to the Free Software
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    20
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    21
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    22
#ifndef AVUTIL_AUDIOCONVERT_H
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    23
#define AVUTIL_AUDIOCONVERT_H
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    24
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    25
#include <stdint.h>
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    26
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    27
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    28
 * @file
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    29
 * audio conversion routines
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    30
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    31
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    32
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    33
 * @addtogroup lavu_audio
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    34
 * @{
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    35
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    36
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    37
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    38
 * @defgroup channel_masks Audio channel masks
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    39
 * @{
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    40
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    41
#define AV_CH_FRONT_LEFT             0x00000001
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    42
#define AV_CH_FRONT_RIGHT            0x00000002
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    43
#define AV_CH_FRONT_CENTER           0x00000004
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    44
#define AV_CH_LOW_FREQUENCY          0x00000008
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    45
#define AV_CH_BACK_LEFT              0x00000010
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    46
#define AV_CH_BACK_RIGHT             0x00000020
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    47
#define AV_CH_FRONT_LEFT_OF_CENTER   0x00000040
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    48
#define AV_CH_FRONT_RIGHT_OF_CENTER  0x00000080
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    49
#define AV_CH_BACK_CENTER            0x00000100
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    50
#define AV_CH_SIDE_LEFT              0x00000200
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    51
#define AV_CH_SIDE_RIGHT             0x00000400
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    52
#define AV_CH_TOP_CENTER             0x00000800
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    53
#define AV_CH_TOP_FRONT_LEFT         0x00001000
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    54
#define AV_CH_TOP_FRONT_CENTER       0x00002000
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    55
#define AV_CH_TOP_FRONT_RIGHT        0x00004000
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    56
#define AV_CH_TOP_BACK_LEFT          0x00008000
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    57
#define AV_CH_TOP_BACK_CENTER        0x00010000
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    58
#define AV_CH_TOP_BACK_RIGHT         0x00020000
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    59
#define AV_CH_STEREO_LEFT            0x20000000  ///< Stereo downmix.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    60
#define AV_CH_STEREO_RIGHT           0x40000000  ///< See AV_CH_STEREO_LEFT.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    61
#define AV_CH_WIDE_LEFT              0x0000000080000000ULL
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    62
#define AV_CH_WIDE_RIGHT             0x0000000100000000ULL
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    63
#define AV_CH_SURROUND_DIRECT_LEFT   0x0000000200000000ULL
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    64
#define AV_CH_SURROUND_DIRECT_RIGHT  0x0000000400000000ULL
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    65
#define AV_CH_LOW_FREQUENCY_2        0x0000000800000000ULL
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    66
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    67
/** Channel mask value used for AVCodecContext.request_channel_layout
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    68
    to indicate that the user requests the channel order of the decoder output
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    69
    to be the native codec channel order. */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    70
#define AV_CH_LAYOUT_NATIVE          0x8000000000000000ULL
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    71
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    72
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    73
 * @}
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    74
 * @defgroup channel_mask_c Audio channel convenience macros
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    75
 * @{
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    76
 * */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    77
#define AV_CH_LAYOUT_MONO              (AV_CH_FRONT_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    78
#define AV_CH_LAYOUT_STEREO            (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    79
#define AV_CH_LAYOUT_2POINT1           (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    80
#define AV_CH_LAYOUT_2_1               (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    81
#define AV_CH_LAYOUT_SURROUND          (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    82
#define AV_CH_LAYOUT_3POINT1           (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    83
#define AV_CH_LAYOUT_4POINT0           (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    84
#define AV_CH_LAYOUT_4POINT1           (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    85
#define AV_CH_LAYOUT_2_2               (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    86
#define AV_CH_LAYOUT_QUAD              (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    87
#define AV_CH_LAYOUT_5POINT0           (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    88
#define AV_CH_LAYOUT_5POINT1           (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    89
#define AV_CH_LAYOUT_5POINT0_BACK      (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    90
#define AV_CH_LAYOUT_5POINT1_BACK      (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    91
#define AV_CH_LAYOUT_6POINT0           (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    92
#define AV_CH_LAYOUT_6POINT0_FRONT     (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    93
#define AV_CH_LAYOUT_HEXAGONAL         (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    94
#define AV_CH_LAYOUT_6POINT1           (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    95
#define AV_CH_LAYOUT_6POINT1_BACK      (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    96
#define AV_CH_LAYOUT_6POINT1_FRONT     (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    97
#define AV_CH_LAYOUT_7POINT0           (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    98
#define AV_CH_LAYOUT_7POINT0_FRONT     (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
    99
#define AV_CH_LAYOUT_7POINT1           (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   100
#define AV_CH_LAYOUT_7POINT1_WIDE      (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   101
#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   102
#define AV_CH_LAYOUT_OCTAGONAL         (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   103
#define AV_CH_LAYOUT_STEREO_DOWNMIX    (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   104
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   105
enum AVMatrixEncoding {
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   106
    AV_MATRIX_ENCODING_NONE,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   107
    AV_MATRIX_ENCODING_DOLBY,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   108
    AV_MATRIX_ENCODING_DPLII,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   109
    AV_MATRIX_ENCODING_NB
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   110
};
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   111
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   112
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   113
 * @}
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   114
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   115
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   116
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   117
 * Return a channel layout id that matches name, or 0 if no match is found.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   118
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   119
 * name can be one or several of the following notations,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   120
 * separated by '+' or '|':
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   121
 * - the name of an usual channel layout (mono, stereo, 4.0, quad, 5.0,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   122
 *   5.0(side), 5.1, 5.1(side), 7.1, 7.1(wide), downmix);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   123
 * - the name of a single channel (FL, FR, FC, LFE, BL, BR, FLC, FRC, BC,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   124
 *   SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   125
 * - a number of channels, in decimal, optionally followed by 'c', yielding
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   126
 *   the default channel layout for that number of channels (@see
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   127
 *   av_get_default_channel_layout);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   128
 * - a channel layout mask, in hexadecimal starting with "0x" (see the
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   129
 *   AV_CH_* macros).
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   130
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   131
 * Example: "stereo+FC" = "2+FC" = "2c+1c" = "0x7"
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   132
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   133
uint64_t av_get_channel_layout(const char *name);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   134
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   135
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   136
 * Return a description of a channel layout.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   137
 * If nb_channels is <= 0, it is guessed from the channel_layout.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   138
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   139
 * @param buf put here the string containing the channel layout
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   140
 * @param buf_size size in bytes of the buffer
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   141
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   142
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   143
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   144
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   145
 * Return the number of channels in the channel layout.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   146
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   147
int av_get_channel_layout_nb_channels(uint64_t channel_layout);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   148
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   149
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   150
 * Return default channel layout for a given number of channels.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   151
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   152
uint64_t av_get_default_channel_layout(int nb_channels);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   153
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   154
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   155
 * Get the index of a channel in channel_layout.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   156
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   157
 * @param channel a channel layout describing exactly one channel which must be
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   158
 *                present in channel_layout.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   159
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   160
 * @return index of channel in channel_layout on success, a negative AVERROR
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   161
 *         on error.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   162
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   163
int av_get_channel_layout_channel_index(uint64_t channel_layout,
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   164
                                        uint64_t channel);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   165
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   166
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   167
 * Get the channel with the given index in channel_layout.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   168
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   169
uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   170
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   171
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   172
 * Get the name of a given channel.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   173
 *
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   174
 * @return channel name on success, NULL on error.
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   175
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   176
const char *av_get_channel_name(uint64_t channel);
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   177
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   178
/**
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   179
 * @}
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   180
 */
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   181
7ac83d79b897 support video recording on windows with automation and headers
koda
parents:
diff changeset
   182
#endif /* AVUTIL_AUDIOCONVERT_H */