From: asivery via ffmpeg-devel <ffmpeg-devel@ffmpeg.org> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: asivery <asivery@protonmail.com> Subject: Re: [FFmpeg-devel] [PATCH] avformat/matroska: Add support for A_ATRAC/AT1 Date: Mon, 12 Feb 2024 00:34:48 +0000 Message-ID: <HMSmzTZF9RDx1nrNAEV7vFpMuYgIGBnHRapz8pqxkh1l0DQAYKEvfKMU_6ZAFG0CqeNCBpek0VLCMb3XNzZ-Vs6PwlPVYTzA1NUB8N2H_G8=@protonmail.com> (raw) In-Reply-To: <GV1P250MB0737E09AD36C37ADBC2814938F09A@GV1P250MB0737.EURP250.PROD.OUTLOOK.COM> I apologize for not having responded earlier. I've attached the updated patch. From 68c77320954e44a7f02e95537fc9a6436da7549c Mon Sep 17 00:00:00 2001 From: asivery <asivery@protonmail.com> Date: Sun, 11 Feb 2024 23:13:07 +0100 Subject: [PATCH] avformat/matroska: Add support for A_ATRAC/AT1 Signed-off-by: asivery <asivery@protonmail.com> --- libavformat/matroska.c | 1 + libavformat/matroskadec.c | 8 ++++++++ libavformat/matroskaenc.c | 1 + 3 files changed, 10 insertions(+) diff --git a/libavformat/matroska.c b/libavformat/matroska.c index 5878594e68..ae9ecc8207 100644 --- a/libavformat/matroska.c +++ b/libavformat/matroska.c @@ -53,6 +53,7 @@ const CodecTags ff_mkv_codec_tags[]={ {"A_REAL/ATRC" , AV_CODEC_ID_ATRAC3}, {"A_REAL/COOK" , AV_CODEC_ID_COOK}, {"A_REAL/SIPR" , AV_CODEC_ID_SIPR}, + {"A_ATRAC/AT1" , AV_CODEC_ID_ATRAC1}, {"A_TRUEHD" , AV_CODEC_ID_TRUEHD}, {"A_TTA1" , AV_CODEC_ID_TTA}, {"A_VORBIS" , AV_CODEC_ID_VORBIS}, diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 8f000f86be..1bb6e8605a 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2779,6 +2779,14 @@ static int mka_parse_audio_codec(MatroskaTrack *track, AVCodecParameters *par, return AVERROR(ENOMEM); break; } + case AV_CODEC_ID_ATRAC1: + /* ATRAC1 uses a constant frame size. + * Typical ATRAC1 streams are either mono or stereo. + * At most, ATRAC1 was used to store 8 channels of audio. */ + if (track->audio.channels > 8) + return AVERROR_INVALIDDATA; + par->block_align = track->audio.channels * 212; + break; case AV_CODEC_ID_FLAC: if (track->codec_priv.size) { ret = matroska_parse_flac(s, track, extradata_offset); diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 1457a6890c..aa25657f8f 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -3483,6 +3483,7 @@ static const AVCodecTag additional_audio_tags[] = { { AV_CODEC_ID_QDM2, 0xFFFFFFFF }, { AV_CODEC_ID_RA_144, 0xFFFFFFFF }, { AV_CODEC_ID_TRUEHD, 0xFFFFFFFF }, + { AV_CODEC_ID_ATRAC1, 0xFFFFFFFF }, { AV_CODEC_ID_NONE, 0xFFFFFFFF } }; -- 2.34.1 On Friday, August 4th, 2023 at 7:30 PM, Andreas Rheinhardt <andreas.rheinhardt@outlook.com> wrote: > Andreas Rheinhardt: > > > asivery: > > > > > Signed-off-by: asivery asivery@protonmail.com > > > --- > > > libavformat/matroska.c | 1 + > > > libavformat/matroskadec.c | 2 ++ > > > 2 files changed, 3 insertions(+) > > > > > > diff --git a/libavformat/matroska.c b/libavformat/matroska.c > > > index 90d94b65bf..37305a523c 100644 > > > --- a/libavformat/matroska.c > > > +++ b/libavformat/matroska.c > > > @@ -55,6 +55,7 @@ const CodecTags ff_mkv_codec_tags[]={ > > > {"A_REAL/ATRC" , AV_CODEC_ID_ATRAC3}, > > > {"A_REAL/COOK" , AV_CODEC_ID_COOK}, > > > {"A_REAL/SIPR" , AV_CODEC_ID_SIPR}, > > > + {"A_ATRAC/AT1" , AV_CODEC_ID_ATRAC1}, > > > {"A_TRUEHD" , AV_CODEC_ID_TRUEHD}, > > > {"A_TTA1" , AV_CODEC_ID_TTA}, > > > {"A_VORBIS" , AV_CODEC_ID_VORBIS}, > > > diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c > > > index d582f566a2..0aa8e6f3b3 100644 > > > --- a/libavformat/matroskadec.c > > > +++ b/libavformat/matroskadec.c > > > @@ -2795,6 +2795,8 @@ static int matroska_parse_tracks(AVFormatContext s) > > > track->audio.frame_size); > > > if (!track->audio.buf) > > > return AVERROR(ENOMEM); > > > + } else if (codec_id == AV_CODEC_ID_ATRAC1) { > > > + st->codecpar->block_align = track->audio.channels * 212; / Constant ATRAC frame size */ > > > } else if (codec_id == AV_CODEC_ID_FLAC && track->codec_priv.size) { > > > ret = matroska_parse_flac(s, track, &extradata_offset); > > > if (ret < 0) > > > -- > > > 2.34.1 > > > > This patch is broken. The indentation is off. > > > > - Andreas > > > Apart from this: The result of the multiplication may not fit into an > int; looking at the other atrac1 code it seems that we only support mono > and stereo files. Is this a limitation of FFmpeg or of the format? > > - Andreas > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2024-02-12 0:35 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-03-06 0:57 asivery 2023-03-06 18:39 ` Paul B Mahol 2023-03-06 18:51 ` asivery 2023-04-17 0:27 ` asivery 2023-06-17 1:24 ` asivery 2023-06-17 1:42 ` Andreas Rheinhardt 2023-06-28 13:27 ` asivery 2023-08-04 17:28 ` Andreas Rheinhardt 2023-08-04 17:31 ` Andreas Rheinhardt 2024-02-12 0:34 ` asivery via ffmpeg-devel [this message] 2024-02-12 10:55 ` Andreas Rheinhardt 2024-02-12 18:05 ` asivery via ffmpeg-devel 2024-02-13 14:29 ` Andreas Rheinhardt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='HMSmzTZF9RDx1nrNAEV7vFpMuYgIGBnHRapz8pqxkh1l0DQAYKEvfKMU_6ZAFG0CqeNCBpek0VLCMb3XNzZ-Vs6PwlPVYTzA1NUB8N2H_G8=@protonmail.com' \ --to=ffmpeg-devel@ffmpeg.org \ --cc=asivery@protonmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git