[FFmpeg-devel] [PATCH] avformat: add DAT (Digital Audio Tape) demuxer
Michael Niedermayer
michael at niedermayer.cc
Sat Feb 1 04:13:01 EET 2025
Hi Jerome
On Wed, Jan 29, 2025 at 06:02:57PM +0100, Jerome Martinez wrote:
> Le 25/01/2025 à 01:46, Michael Niedermayer a écrit :
> > [...]
> > this passes tests.
> >
> > but if you want, you could instead of testing "extra metadata (not needed for decoding)"
> > test more than 1 packet
> >
> > having a best case score of 1 seems to be something that will
> > likely fail sooner or later by not detecting a dat file
>
> Maybe misunderstanding, the cdxl parser provides score of 1, the DAT patches
> provide a score of the count of detected frames so better.
yes, this is the 2nd such dumb mistake i make in the last few days
the whole (still ongoing) "mobbing" compaign against me seems to
affect the quality of my reviews and work
> But attached is a v2 of the 2nd patch, less compilation warnings, using less
> metadata not impacting the decoding and handling corner cases like bad
> metadata e.g. 16-bit 4-ch (impossible) and 32 kHz 12-bit 4-ch.
> 12-bit is not yet handled but the patch provides the detection of such file
> and a smooth rejection of the file.
>
> Jérôme
> dat.c | 49 ++++++++++++++++++++++++++++++++++++-------------
> 1 file changed, 36 insertions(+), 13 deletions(-)
> cf8d17c26eddaa608bcaa8551c263e6efb077f3d 0002-avformat-dat-improve-DAT-demuxer.patch
> From 90211198a936ca7087dbf04e5d636fd9992a8332 Mon Sep 17 00:00:00 2001
> From: Jerome Martinez <jerome at mediaarea.net>
> Date: Wed, 22 Jan 2025 16:08:18 +0100
> Subject: [PATCH 2/4] avformat/dat: improve DAT demuxer
>
> Less false positive detection
> Better computation of data size with 12-bit
[...]
> @@ -82,21 +97,29 @@ static int parse_frame(uint8_t *frame, AVCodecParameters *par)
> uint8_t *mainid = subid+4;
> int chan_index = (mainid[0] >> 0) & 0x3;
> int rate_index = (mainid[0] >> 2) & 0x3;
> + int fmtid = (mainid[0] >> 6) & 0x3;
> + int trackpitch = (mainid[1] >> 2) & 0x3;
> int enc_index = (mainid[1] >> 6) & 0x3;
> int dataid = (subid[0] >> 0) & 0xf;
> + int encoded_size = 0;
> + int encoded_size = encoded_samples[rate_index] * encoded_samples_mul[trackpitch] * encoded_chans[chan_index] * encoded_quantization[enc_index] / 8;
duplicate variable
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Let us carefully observe those good qualities wherein our enemies excel us
and endeavor to excel them, by avoiding what is faulty, and imitating what
is excellent in them. -- Plutarch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250201/0e13046a/attachment.sig>
More information about the ffmpeg-devel
mailing list