Hi On Fri, Jan 17, 2025 at 12:38:02PM +0100, Jerome Martinez wrote: > Sample files are available at https://archive.org/download/datstrue-read/ >
> Makefile | 1 > allformats.c | 1 > dat.c | 159 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 161 insertions(+) > d8c9ff24544dbf47c46cd3066740ff8fec304d4b 0001-avformat-add-DAT-demuxer.patch > From 50c78a0ae2049e2dbd65e2c3d28f3d8abea1adfa Mon Sep 17 00:00:00 2001 > From: Paul B Mahol <one...@gmail.com> > Date: Thu, 12 Sep 2024 20:34:22 +0200 > Subject: [PATCH] avformat: add DAT demuxer breaks fate-cdxl-pal8-small I guess the probe function is not working as expected [...] > +static int valid_frame(uint8_t *frame) > +{ > + uint8_t *scode = frame+DAT_OFFSET; > + uint8_t *subid = scode+7*8; > + uint8_t *mainid = subid+4; > + int chan_index = (mainid[0] >> 0) & 0x3; > + int rate_index = (mainid[0] >> 2) & 0x3; > + int enc_index = (mainid[1] >> 6) & 0x3; > + int dataid = (subid[0] >> 0) & 0xf; > + > + if (dataid != 0 || encoded_codec[enc_index] == AV_CODEC_ID_NONE || > + encoded_chans[chan_index] == 0 || > + encoded_rate[rate_index] == 0) > + return 0; > + > + return 1; > +} > + > +static int read_probe(const AVProbeData *p) > +{ > + const int cnt = p->buf_size / DAT_PACKET_SIZE; > + int score = 0; > + > + for (int i = 0; i < cnt; i++) { > + const int ret = valid_frame(&p->buf[i * DAT_PACKET_SIZE]); > + > + score += ret; > + if (ret == 0) > + break; > + } > + > + return FFMIN(score, AVPROBE_SCORE_MAX); > +} [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Democracy is the form of government in which you can choose your dictator
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".