summaryrefslogtreecommitdiff
path: root/libavformat/omadec.c
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2017-03-31 18:04:05 +0200
committerJames Almer <jamrial@gmail.com>2022-03-15 09:42:35 -0300
commit68559225a26251fcf8af9042f73b4a9dde7a4945 (patch)
treef2370bcf09ee1171b993e68f7da5b61df24df8e7 /libavformat/omadec.c
parent5b51e6771c5419118dc02b325aafed37ce5cb709 (diff)
downloadffmpeg-68559225a26251fcf8af9042f73b4a9dde7a4945.tar.gz
oma: convert to new channel layout API
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/omadec.c')
-rw-r--r--libavformat/omadec.c35
1 files changed, 14 insertions, 21 deletions
diff --git a/libavformat/omadec.c b/libavformat/omadec.c
index 4c418a5ff2..066b2d85bd 100644
--- a/libavformat/omadec.c
+++ b/libavformat/omadec.c
@@ -60,19 +60,16 @@ static const uint64_t leaf_table[] = {
};
/** 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
+static const AVChannelLayout oma_chid_to_native_layout[7] = {
+ AV_CHANNEL_LAYOUT_MONO,
+ AV_CHANNEL_LAYOUT_STEREO,
+ AV_CHANNEL_LAYOUT_SURROUND,
+ AV_CHANNEL_LAYOUT_4POINT0,
+ AV_CHANNEL_LAYOUT_5POINT1_BACK,
+ AV_CHANNEL_LAYOUT_6POINT1_BACK,
+ AV_CHANNEL_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;
@@ -474,8 +471,7 @@ static int oma_read_header(AVFormatContext *s)
/* get stereo coding mode, 1 for joint-stereo */
jsflag = (codec_params >> 17) & 1;
- st->codecpar->channels = 2;
- st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
+ st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
st->codecpar->sample_rate = samplerate;
st->codecpar->bit_rate = st->codecpar->sample_rate * framesize / (1024 / 8);
@@ -501,8 +497,8 @@ static int oma_read_header(AVFormatContext *s)
"Invalid ATRAC-X channel id: %"PRIu32"\n", channel_id);
return AVERROR_INVALIDDATA;
}
- st->codecpar->channel_layout = oma_chid_to_native_layout[channel_id - 1];
- st->codecpar->channels = oma_chid_to_num_channels[channel_id - 1];
+ av_channel_layout_copy(&st->codecpar->ch_layout,
+ &oma_chid_to_native_layout[channel_id - 1]);
framesize = ((codec_params & 0x3FF) * 8) + 8;
samplerate = ff_oma_srate_tab[(codec_params >> 13) & 7] * 100;
if (!samplerate) {
@@ -519,8 +515,7 @@ static int oma_read_header(AVFormatContext *s)
break;
case OMA_CODECID_LPCM:
/* PCM 44.1 kHz 16 bit stereo big-endian */
- st->codecpar->channels = 2;
- st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
+ st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
st->codecpar->sample_rate = 44100;
framesize = 1024;
/* bit rate = sample rate x PCM block align (= 4) x 8 */
@@ -530,16 +525,14 @@ static int oma_read_header(AVFormatContext *s)
avpriv_set_pts_info(st, 64, 1, st->codecpar->sample_rate);
break;
case OMA_CODECID_ATRAC3AL:
- st->codecpar->channels = 2;
- st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
+ st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
st->codecpar->sample_rate = 44100;
avpriv_set_pts_info(st, 64, 1, 44100);
oc->read_packet = aal_read_packet;
framesize = 4096;
break;
case OMA_CODECID_ATRAC3PAL:
- st->codecpar->channel_layout = AV_CH_LAYOUT_STEREO;
- st->codecpar->channels = 2;
+ st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
st->codecpar->sample_rate = 44100;
avpriv_set_pts_info(st, 64, 1, 44100);
oc->read_packet = aal_read_packet;