Browse Source

avformat/oma: Move stuff only used by demuxer to demuxer

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
tags/n4.4
Andreas Rheinhardt 5 years ago
parent
commit
22d8010f13
3 changed files with 17 additions and 21 deletions
  1. +1
    -16
      libavformat/oma.c
  2. +0
    -3
      libavformat/oma.h
  3. +16
    -2
      libavformat/omadec.c

+ 1
- 16
libavformat/oma.c View File

@@ -19,10 +19,9 @@
*/

#include <stddef.h>
#include "libavcodec/codec_id.h"
#include "internal.h"
#include "oma.h"
#include "libavcodec/avcodec.h"
#include "libavutil/channel_layout.h"

const uint16_t ff_oma_srate_tab[8] = { 320, 441, 480, 882, 960, 0 };

@@ -37,17 +36,3 @@ const AVCodecTag ff_oma_codec_tags[] = {
};

const AVCodecTag *const ff_oma_codec_tags_list[] = { ff_oma_codec_tags, NULL };

/** map ATRAC-X channel id to internal channel layout */
const uint64_t ff_oma_chid_to_native_layout[7] = {
AV_CH_LAYOUT_MONO,
AV_CH_LAYOUT_STEREO,
AV_CH_LAYOUT_SURROUND,
AV_CH_LAYOUT_4POINT0,
AV_CH_LAYOUT_5POINT1_BACK,
AV_CH_LAYOUT_6POINT1_BACK,
AV_CH_LAYOUT_7POINT1
};

/** map ATRAC-X channel id to total number of channels */
const int ff_oma_chid_to_num_channels[7] = {1, 2, 3, 4, 6, 7, 8};

+ 0
- 3
libavformat/oma.h View File

@@ -44,7 +44,4 @@ extern const uint16_t ff_oma_srate_tab[8];
extern const AVCodecTag ff_oma_codec_tags[];
extern const AVCodecTag *const ff_oma_codec_tags_list[];

extern const uint64_t ff_oma_chid_to_native_layout[7];
extern const int ff_oma_chid_to_num_channels[7];

#endif /* AVFORMAT_OMA_H */

+ 16
- 2
libavformat/omadec.c View File

@@ -59,6 +59,20 @@ static const uint64_t leaf_table[] = {
0x1573cd93da7df623, 0x47f98d79620dd535
};

/** map ATRAC-X channel id to internal channel layout */
static const uint64_t oma_chid_to_native_layout[7] = {
AV_CH_LAYOUT_MONO,
AV_CH_LAYOUT_STEREO,
AV_CH_LAYOUT_SURROUND,
AV_CH_LAYOUT_4POINT0,
AV_CH_LAYOUT_5POINT1_BACK,
AV_CH_LAYOUT_6POINT1_BACK,
AV_CH_LAYOUT_7POINT1
};

/** map ATRAC-X channel id to total number of channels */
static const int oma_chid_to_num_channels[7] = { 1, 2, 3, 4, 6, 7, 8 };

typedef struct OMAContext {
uint64_t content_start;
int encrypted;
@@ -492,8 +506,8 @@ static int oma_read_header(AVFormatContext *s)
ret = AVERROR_INVALIDDATA;
goto fail;
}
st->codecpar->channel_layout = ff_oma_chid_to_native_layout[channel_id - 1];
st->codecpar->channels = ff_oma_chid_to_num_channels[channel_id - 1];
st->codecpar->channel_layout = oma_chid_to_native_layout[channel_id - 1];
st->codecpar->channels = oma_chid_to_num_channels[channel_id - 1];
framesize = ((codec_params & 0x3FF) * 8) + 8;
samplerate = ff_oma_srate_tab[(codec_params >> 13) & 7] * 100;
if (!samplerate) {


Loading…
Cancel
Save