!326 av3a code clean

Merge pull request !326 from liushuai/av3a_codeclean_20241111
This commit is contained in:
openharmony_ci 2024-11-11 06:34:53 +00:00 committed by Gitee
commit 912b4ac2f7
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
5 changed files with 62 additions and 65 deletions

View File

@ -2,7 +2,7 @@
* AV3A Common Header File
*
* Copyright (c) 2024 Shuai Liu <cqliushuai@outlook.com>
*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -56,17 +56,17 @@ typedef enum {
/* Content Type */
typedef enum {
AV3A_CHANNEL_BASED_TYPE = 0,
AV3A_OBJECT_BASED_TYPE = 1,
AV3A_CHANNEL_OBJECT_TYPE = 2,
AV3A_AMBISONIC_TYPE = 3
AV3A_CHANNEL_BASED_TYPE = 0,
AV3A_OBJECT_BASED_TYPE = 1,
AV3A_CHANNEL_OBJECT_TYPE = 2,
AV3A_AMBISONIC_TYPE = 3
} Av3aContentType;
/* Internal Coding Profile */
typedef enum {
AV3A_BASE_PROFILE = 0,
AV3A_OBJECT_METADATA_PROFILE = 1,
AV3A_AMBISONIC_PROFILE = 2
AV3A_BASE_PROFILE = 0,
AV3A_OBJECT_METADATA_PROFILE = 1,
AV3A_AMBISONIC_PROFILE = 2
} Av3aCodingProfile;
/* NN Type */
@ -159,8 +159,7 @@ static const int64_t ff_av3a_mc4p0_bitrate_table[AV3A_BITRATE_TABLE_SIZE] = {
/* bitrate table for MC 5.1.2 */
static const int64_t ff_av3a_mc5p1p2_bitrate_table[AV3A_BITRATE_TABLE_SIZE] = {
152000, 320000, 480000, 576000, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0
152000, 320000, 480000, 576000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
/* bitrate table for MC 5.1.4 */
@ -228,27 +227,27 @@ static const enum AVChannel ff_av3a_channel_layout_mc_4_0[4] = {
};
static const enum AVChannel ff_av3a_default_channel_layout_mc_5_1[6] = {
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_LOW_FREQUENCY,
AV_CHAN_SIDE_LEFT, AV_CHAN_SIDE_RIGHT
};
static const enum AVChannel ff_av3a_default_channel_layout_mc_5_1_2[8] = {
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_LOW_FREQUENCY,
AV_CHAN_SIDE_LEFT, AV_CHAN_SIDE_RIGHT,
AV_CHAN_TOP_SIDE_LEFT, AV_CHAN_TOP_SIDE_RIGHT
};
static const enum AVChannel ff_av3a_default_channel_layout_mc_7_1[8] = {
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_LOW_FREQUENCY,
AV_CHAN_SIDE_LEFT, AV_CHAN_SIDE_RIGHT,
AV_CHAN_BACK_LEFT, AV_CHAN_BACK_RIGHT
};
static const enum AVChannel ff_av3a_default_channel_layout_mc_5_1_4[10] = {
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_LOW_FREQUENCY,
AV_CHAN_SIDE_LEFT, AV_CHAN_SIDE_RIGHT,
AV_CHAN_TOP_FRONT_LEFT, AV_CHAN_TOP_FRONT_RIGHT,
@ -256,7 +255,7 @@ static const enum AVChannel ff_av3a_default_channel_layout_mc_5_1_4[10] = {
};
static const enum AVChannel ff_av3a_default_channel_layout_mc_7_1_2[10] = {
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_LOW_FREQUENCY,
AV_CHAN_SIDE_LEFT, AV_CHAN_SIDE_RIGHT,
AV_CHAN_BACK_LEFT, AV_CHAN_BACK_RIGHT,
@ -264,7 +263,7 @@ static const enum AVChannel ff_av3a_default_channel_layout_mc_7_1_2[10] = {
};
static const enum AVChannel ff_av3a_default_channel_layout_mc_7_1_4[12] = {
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_FRONT_LEFT, AV_CHAN_FRONT_RIGHT, AV_CHAN_FRONT_CENTER,
AV_CHAN_LOW_FREQUENCY,
AV_CHAN_SIDE_LEFT, AV_CHAN_SIDE_RIGHT,
AV_CHAN_BACK_LEFT, AV_CHAN_BACK_RIGHT,
@ -273,21 +272,21 @@ static const enum AVChannel ff_av3a_default_channel_layout_mc_7_1_4[12] = {
};
static const Av3aChannelConfigMap ff_av3a_channels_map_table[AV3A_CHANNEL_LAYOUT_SIZE] = {
{ CHANNEL_CONFIG_MONO, 1, ff_av3a_default_channel_layout_mono, AV3A_CH_LAYOUT_MONO },
{ CHANNEL_CONFIG_STEREO, 2, ff_av3a_default_channel_layout_stereo, AV3A_CH_LAYOUT_STEREO },
{ CHANNEL_CONFIG_MC_5_1, 6, ff_av3a_default_channel_layout_mc_5_1, AV3A_CH_LAYOUT_5POINT1 },
{ CHANNEL_CONFIG_MC_7_1, 8, ff_av3a_default_channel_layout_mc_7_1, AV3A_CH_LAYOUT_7POINT1 },
{ CHANNEL_CONFIG_MC_10_2, 12, NULL, 0L }, /* reserved */
{ CHANNEL_CONFIG_MC_22_2, 24, NULL, 0L }, /* reserved */
{ CHANNEL_CONFIG_MC_4_0, 4, ff_av3a_channel_layout_mc_4_0, AV3A_CH_LAYOUT_4POINT0 },
{ CHANNEL_CONFIG_MONO, 1, ff_av3a_default_channel_layout_mono, AV3A_CH_LAYOUT_MONO },
{ CHANNEL_CONFIG_STEREO, 2, ff_av3a_default_channel_layout_stereo, AV3A_CH_LAYOUT_STEREO },
{ CHANNEL_CONFIG_MC_5_1, 6, ff_av3a_default_channel_layout_mc_5_1, AV3A_CH_LAYOUT_5POINT1 },
{ CHANNEL_CONFIG_MC_7_1, 8, ff_av3a_default_channel_layout_mc_7_1, AV3A_CH_LAYOUT_7POINT1 },
{ CHANNEL_CONFIG_MC_10_2, 12, NULL, 0L }, /* reserved */
{ CHANNEL_CONFIG_MC_22_2, 24, NULL, 0L }, /* reserved */
{ CHANNEL_CONFIG_MC_4_0, 4, ff_av3a_channel_layout_mc_4_0, AV3A_CH_LAYOUT_4POINT0 },
{ CHANNEL_CONFIG_MC_5_1_2, 8, ff_av3a_default_channel_layout_mc_5_1_2, AV3A_CH_LAYOUT_5POINT1POINT2 },
{ CHANNEL_CONFIG_MC_5_1_4, 10, ff_av3a_default_channel_layout_mc_5_1_4, AV3A_CH_LAYOUT_5POINT1POINT4 },
{ CHANNEL_CONFIG_MC_7_1_2, 10, ff_av3a_default_channel_layout_mc_7_1_2, AV3A_CH_LAYOUT_7POINT1POINT2 },
{ CHANNEL_CONFIG_MC_7_1_4, 12, ff_av3a_default_channel_layout_mc_7_1_4, AV3A_CH_LAYOUT_7POINT1POINT4 },
{ CHANNEL_CONFIG_HOA_ORDER1, 4, NULL, 0L },
{ CHANNEL_CONFIG_HOA_ORDER2, 9, NULL, 0L },
{ CHANNEL_CONFIG_HOA_ORDER3, 16, NULL, 0L },
{ CHANNEL_CONFIG_UNKNOWN, 0, NULL, 0L },
{ CHANNEL_CONFIG_HOA_ORDER1, 4, NULL, 0L },
{ CHANNEL_CONFIG_HOA_ORDER2, 9, NULL, 0L },
{ CHANNEL_CONFIG_HOA_ORDER3, 16, NULL, 0L },
{ CHANNEL_CONFIG_UNKNOWN, 0, NULL, 0L },
};
typedef struct {
@ -296,20 +295,20 @@ typedef struct {
} Av3aBitrateMap;
static const Av3aBitrateMap ff_av3a_bitrate_map_table[15] = {
{CHANNEL_CONFIG_MONO, ff_av3a_mono_bitrate_table },
{CHANNEL_CONFIG_STEREO, ff_av3a_stereo_bitrate_table },
{CHANNEL_CONFIG_MC_5_1, ff_av3a_mc5p1_bitrate_table },
{CHANNEL_CONFIG_MC_7_1, ff_av3a_mc7p1_bitrate_table },
{CHANNEL_CONFIG_MC_10_2, NULL }, /* reserved */
{CHANNEL_CONFIG_MC_22_2, NULL }, /* reserved */
{CHANNEL_CONFIG_MC_4_0, ff_av3a_mc4p0_bitrate_table },
{CHANNEL_CONFIG_MC_5_1_2, ff_av3a_mc5p1p2_bitrate_table },
{CHANNEL_CONFIG_MC_5_1_4, ff_av3a_mc5p1p4_bitrate_table },
{CHANNEL_CONFIG_MC_7_1_2, ff_av3a_mc7p1p2_bitrate_table },
{CHANNEL_CONFIG_MC_7_1_4, ff_av3a_mc7p1p4_bitrate_table },
{CHANNEL_CONFIG_HOA_ORDER1, ff_av3a_foa_bitrate_table },
{CHANNEL_CONFIG_HOA_ORDER2, ff_av3a_hoa2_bitrate_table },
{CHANNEL_CONFIG_HOA_ORDER3, ff_av3a_hoa3_bitrate_table },
{CHANNEL_CONFIG_UNKNOWN, NULL },
{CHANNEL_CONFIG_MONO, ff_av3a_mono_bitrate_table },
{CHANNEL_CONFIG_STEREO, ff_av3a_stereo_bitrate_table },
{CHANNEL_CONFIG_MC_5_1, ff_av3a_mc5p1_bitrate_table },
{CHANNEL_CONFIG_MC_7_1, ff_av3a_mc7p1_bitrate_table },
{CHANNEL_CONFIG_MC_10_2, NULL }, /* reserved */
{CHANNEL_CONFIG_MC_22_2, NULL }, /* reserved */
{CHANNEL_CONFIG_MC_4_0, ff_av3a_mc4p0_bitrate_table },
{CHANNEL_CONFIG_MC_5_1_2, ff_av3a_mc5p1p2_bitrate_table },
{CHANNEL_CONFIG_MC_5_1_4, ff_av3a_mc5p1p4_bitrate_table },
{CHANNEL_CONFIG_MC_7_1_2, ff_av3a_mc7p1p2_bitrate_table },
{CHANNEL_CONFIG_MC_7_1_4, ff_av3a_mc7p1p4_bitrate_table },
{CHANNEL_CONFIG_HOA_ORDER1, ff_av3a_foa_bitrate_table },
{CHANNEL_CONFIG_HOA_ORDER2, ff_av3a_hoa2_bitrate_table },
{CHANNEL_CONFIG_HOA_ORDER3, ff_av3a_hoa3_bitrate_table },
{CHANNEL_CONFIG_UNKNOWN, NULL },
};
#endif /* AVCODEC_AV3A_H */

View File

@ -42,8 +42,8 @@ typedef struct {
int16_t total_channels;
} Av3aParseContext;
static int ff_read_av3a_header_parse(GetBitContext *gb, AATFHeaderInfo *hdf)
{
static int ff_read_av3a_header_parse(GetBitContext *gb, AATFHeaderInfo *hdf)
{
int64_t soundbed_bitrate = 0L;
int64_t object_bitrate = 0L;
@ -159,7 +159,7 @@ static int ff_read_av3a_header_parse(GetBitContext *gb, AATFHeaderInfo *hdf)
hdf->total_channels = hdf->nb_channels + hdf->nb_objects;
hdf->resolution_index = get_bits(gb, 2);
if((hdf->resolution_index >= AV3A_RESOLUTION_TABLE_SIZE) || (hdf->resolution_index < 0)) {
if ((hdf->resolution_index >= AV3A_RESOLUTION_TABLE_SIZE) || (hdf->resolution_index < 0)) {
return AVERROR_INVALIDDATA;
}
hdf->resolution = ff_av3a_sample_format_map_table[hdf->resolution_index].resolution;

View File

@ -2,7 +2,7 @@
* AV3A Demuxer
*
* Copyright (c) 2024 Shuai Liu <cqliushuai@outlook.com>
*
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
@ -101,7 +101,7 @@ static int av3a_read_aatf_frame_header(AATFHeaderInfo *hdf, const uint8_t *buf)
} else if (hdf->coding_profile == AV3A_OBJECT_METADATA_PROFILE) {
hdf->soundbed_type = get_bits(&gb, 2);
if (hdf->soundbed_type == 0) {
hdf->content_type = AV3A_OBJECT_BASED_TYPE;
hdf->content_type = AV3A_OBJECT_BASED_TYPE;
hdf->object_channel_number = get_bits(&gb, 7);
if (hdf->object_channel_number < 0) {
return AVERROR_INVALIDDATA;
@ -137,7 +137,7 @@ static int av3a_read_aatf_frame_header(AATFHeaderInfo *hdf, const uint8_t *buf)
return AVERROR_INVALIDDATA;
}
hdf->total_bitrate = ff_av3a_bitrate_map_table[hdf->channel_number_index].bitrate_table[hdf->bitrate_index] +
hdf->total_bitrate = ff_av3a_bitrate_map_table[hdf->channel_number_index].bitrate_table[hdf->bitrate_index] +
ff_av3a_bitrate_map_table[CHANNEL_CONFIG_MONO].bitrate_table[hdf->bitrate_index_per_channel] * hdf->nb_objects;
} else {
return AVERROR_INVALIDDATA;
@ -169,7 +169,7 @@ static int av3a_read_aatf_frame_header(AATFHeaderInfo *hdf, const uint8_t *buf)
/* resolution */
hdf->resolution_index = get_bits(&gb, 2);
if((hdf->resolution_index >= AV3A_RESOLUTION_TABLE_SIZE) || (hdf->resolution_index < 0)) {
if ((hdf->resolution_index >= AV3A_RESOLUTION_TABLE_SIZE) || (hdf->resolution_index < 0)) {
return AVERROR_INVALIDDATA;
}
hdf->resolution = ff_av3a_sample_format_map_table[hdf->resolution_index].resolution;
@ -177,7 +177,7 @@ static int av3a_read_aatf_frame_header(AATFHeaderInfo *hdf, const uint8_t *buf)
if (hdf->coding_profile != AV3A_OBJECT_METADATA_PROFILE) {
hdf->bitrate_index = get_bits(&gb, 4);
if ((hdf->bitrate_index >= AV3A_BITRATE_TABLE_SIZE) || (hdf->bitrate_index < 0)){
if ((hdf->bitrate_index >= AV3A_BITRATE_TABLE_SIZE) || (hdf->bitrate_index < 0)) {
return AVERROR_INVALIDDATA;
}
hdf->total_bitrate = ff_av3a_bitrate_map_table[hdf->channel_number_index].bitrate_table[hdf->bitrate_index];
@ -188,7 +188,7 @@ static int av3a_read_aatf_frame_header(AATFHeaderInfo *hdf, const uint8_t *buf)
return 0;
}
static int av3a_get_packet_size(AVFormatContext *s)
static int av3a_get_packet_size(AVFormatContext *s)
{
int ret = 0;
int read_bytes = 0;
@ -333,9 +333,8 @@ static int av3a_get_packet_size(AVFormatContext *s)
return payload_bytes;
}
static int av3a_probe(const AVProbeData *p)
static int av3a_probe(const AVProbeData *p)
{
uint16_t frame_sync_word;
uint16_t lval = ((uint16_t)(p->buf[0]));
uint16_t rval = ((uint16_t)(p->buf[1]));
@ -348,7 +347,7 @@ static int av3a_probe(const AVProbeData *p)
return 0;
}
static int av3a_read_header(AVFormatContext *s)
static int av3a_read_header(AVFormatContext *s)
{
int ret = 0;
uint8_t header[AV3A_MAX_NBYTES_HEADER];
@ -367,7 +366,7 @@ static int av3a_read_header(AVFormatContext *s)
stream->start_time = 0;
ffstream(stream)->need_parsing = AVSTREAM_PARSE_FULL_RAW;
stream->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
stream->codecpar->codec_id = s->iformat->raw_codec_id;
stream->codecpar->codec_id = s->iformat->raw_codec_id;
stream->codecpar->codec_tag = MKTAG('a', 'v', '3', 'a');
if ((ret = avio_read(s->pb, header, AV3A_MAX_NBYTES_HEADER)) != AV3A_MAX_NBYTES_HEADER) {
@ -399,7 +398,7 @@ static int av3a_read_header(AVFormatContext *s)
av3afmtctx.resolution_index = hdf.resolution_index;
av3afmtctx.total_bitrate_kbps = (int) (hdf.total_bitrate / 1000);
if((ret = ff_alloc_extradata(stream->codecpar, sizeof(Av3aFormatContext))) < 0) {
if ((ret = ff_alloc_extradata(stream->codecpar, sizeof(Av3aFormatContext))) < 0) {
return ret;
}
memcpy(stream->codecpar->extradata, &av3afmtctx, sizeof(Av3aFormatContext));
@ -411,8 +410,8 @@ static int av3a_read_header(AVFormatContext *s)
return 0;
}
static int av3a_read_packet(AVFormatContext *s, AVPacket *pkt) {
static int av3a_read_packet(AVFormatContext *s, AVPacket *pkt)
{
int64_t pos;
int packet_size = 0;
int read_bytes = 0;
@ -440,7 +439,7 @@ static int av3a_read_packet(AVFormatContext *s, AVPacket *pkt) {
}
if (!s->streams[0]) {
return AVERROR(ENOMEM);
return AVERROR(ENOMEM);
}
if (!s->streams[0]->codecpar) {

View File

@ -7949,7 +7949,7 @@ static int mov_read_dca3(MOVContext *c, AVIOContext *pb, MOVAtom atom)
}
st = c->fc->streams[c->fc->nb_streams - 1];
if ((ret = avio_read(pb, buffer, sizeof(buffer))) < 0){
if ((ret = avio_read(pb, buffer, sizeof(buffer))) < 0) {
return ret;
}
@ -7972,7 +7972,6 @@ static int mov_read_dca3(MOVContext *c, AVIOContext *pb, MOVAtom atom)
reserved = get_bits(&gb, 1);
content_type = get_bits(&gb, 4);
if (content_type == AV3A_CHANNEL_BASED_TYPE) {
channel_number_index = get_bits(&gb, 7);
reserved = get_bits(&gb, 1);
@ -8007,7 +8006,7 @@ static int mov_read_dca3(MOVContext *c, AVIOContext *pb, MOVAtom atom)
return AVERROR_INVALIDDATA;
}
} else if (content_type == AV3A_AMBISONIC_TYPE) {
hoa_order = get_bits(&gb , 4);
hoa_order = get_bits(&gb, 4);
if ((hoa_order < AV3A_AMBISONIC_FIRST_ORDER) || (hoa_order > AV3A_AMBISONIC_THIRD_ORDER)) {
return AVERROR_INVALIDDATA;
}
@ -8036,7 +8035,7 @@ static int mov_read_dca3(MOVContext *c, AVIOContext *pb, MOVAtom atom)
}
if (content_type != AV3A_OBJECT_BASED_TYPE) {
for(i = 0; i < nb_channels; i ++) {
for (i = 0; i < nb_channels; i ++) {
st->codecpar->ch_layout.u.map[i].id = ff_av3a_channels_map_table[channel_number_index].channel_layout[i];
}
}

View File

@ -941,10 +941,10 @@ static int mov_write_dca3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *tra
if (content_type == AV3A_CHANNEL_BASED_TYPE) {
put_bits(&pb_dca3, 7, channel_number_index);
put_bits(&pb_dca3, 1, 0); /* reserved */
} else if (content_type == AV3A_OBJECT_BASED_TYPE){
} else if (content_type == AV3A_OBJECT_BASED_TYPE) {
put_bits(&pb_dca3, 7, number_objects);
put_bits(&pb_dca3, 1, 0); /* reserved */
} else if (content_type == AV3A_CHANNEL_OBJECT_TYPE){
} else if (content_type == AV3A_CHANNEL_OBJECT_TYPE) {
put_bits(&pb_dca3, 7, channel_number_index);
put_bits(&pb_dca3, 1, 0); /* reserved */
put_bits(&pb_dca3, 7, number_objects);