chromium/third_party/ffmpeg/libavformat/mov_chan.c

/*
 * Copyright (c) 2011 Justin Ruggles
 *
 * This file is part of FFmpeg.
 *
 * FFmpeg 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.
 *
 * FFmpeg 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 FFmpeg; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 */

/**
 * mov 'chan' tag reading/writing.
 * @author Justin Ruggles
 */

#include <assert.h>
#include <stdint.h>

#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/mem.h"
#include "libavcodec/codec_id.h"
#include "mov_chan.h"

enum {};

enum {};

struct MovChannelLayoutMap {};

#define TAG(_tag, _cnt)
#define ID(_0)
#define CHLIST01(_tag, _1)
#define CHLIST02(_tag, _1, _2)
#define CHLIST03(_tag, _1, _2, _3)
#define CHLIST04(_tag, _1, _2, _3, _4)
#define CHLIST05(_tag, _1, _2, _3, _4, _5)
#define CHLIST06(_tag, _1, _2, _3, _4, _5, _6)
#define CHLIST07(_tag, _1, _2, _3, _4, _5, _6, _7)
#define CHLIST08(_tag, _1, _2, _3, _4, _5, _6, _7, _8)
#define CHLIST09(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9)
#define CHLIST16(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16)
#define CHLIST21(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21)
#define CHLIST24(_tag, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24)

#define MOV_CH_LAYOUT_MAP\

#define CHLIST(_tag, _cnt, ...)
MOV_CH_LAYOUT_MAP
#undef CHLIST
#define CHLIST(_tag, _cnt, ...)
static const struct MovChannelLayoutMap mov_ch_layout_map[] =;

#undef ID
#undef TAG
#define ID(_0)
#define TAG(_tag, _cnt)

/* ISO/IEC 23001-8 */
static const struct MovChannelLayoutMap iso_ch_layout_map[] =;

static const enum MovChannelLayoutTag mov_ch_layouts_aac[] =;

static const enum MovChannelLayoutTag mov_ch_layouts_ac3[] =;

static const enum MovChannelLayoutTag mov_ch_layouts_alac[] =;

static const enum MovChannelLayoutTag mov_ch_layouts_wav[] =;

static const struct {} mov_codec_ch_layouts[] =;

static const struct MovChannelLayoutMap* find_layout_map(uint32_t tag, const struct MovChannelLayoutMap *map)
{}

/**
 * Get the channel layout for the specified non-special channel layout tag if
 * known.
 *
 * @param[in,out]  ch_layout  channel layout
 * @param[in]      tag        channel layout tag
 * @return                    <0 on error
 */
static int mov_get_channel_layout(AVChannelLayout *ch_layout, uint32_t tag, uint64_t omitted_channel_map, const struct MovChannelLayoutMap *map)
{}

static enum AVChannel mov_get_channel_id(uint32_t label)
{}

static uint32_t mov_get_channel_label(enum AVChannel channel)
{}

static int is_layout_valid_for_tag(const AVChannelLayout *ch_layout, uint32_t tag, const struct MovChannelLayoutMap *map)
{}

int ff_mov_get_channel_layout_tag(const AVCodecParameters *par,
                                  uint32_t *layout,
                                  uint32_t *bitmap,
                                  uint32_t **pchannel_desc)
{}

int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, AVStream *st,
                     int64_t size)
{}

/* ISO/IEC 23001-8, table 8 */
static const enum AVChannel iso_channel_position[] =;

int ff_mov_get_channel_config_from_layout(const AVChannelLayout *layout, int *config)
{}

int ff_mov_get_channel_layout_from_config(int config, AVChannelLayout *layout, uint64_t omitted_channel_map)
{}

int ff_mov_get_channel_positions_from_layout(const AVChannelLayout *layout,
                                             uint8_t *position, int position_num)
{}

int ff_mov_read_chnl(AVFormatContext *s, AVIOContext *pb, AVStream *st)
{}