[FFmpeg-devel] [PATCH 2/6] lavf: APV demuxer
Michael Niedermayer
michael at niedermayer.cc
Tue Apr 22 00:30:32 EEST 2025
On Sat, Apr 19, 2025 at 08:07:00PM +0100, Mark Thompson wrote:
> Demuxes raw streams as defined in draft spec section 10.2.
> ---
> libavformat/Makefile | 1 +
> libavformat/allformats.c | 1 +
> libavformat/apvdec.c | 245 +++++++++++++++++++++++++++++++++++++++
> 3 files changed, 247 insertions(+)
> create mode 100644 libavformat/apvdec.c
[...]
> +static int apv_probe(const AVProbeData *p)
> +{
> + GetBitContext gbc;
> + APVHeaderInfo header;
> + uint32_t au_size, tag, pbu_size;
> + int score = AVPROBE_SCORE_EXTENSION + 1;
> + int ret;
> +
> + init_get_bits8(&gbc, p->buf, p->buf_size);
> +
> + au_size = get_bits_long(&gbc, 32);
> + if (au_size < 16) {
> + // Too small.
> + return 0;
> + }
> + // The spec doesn't have this tag, but the reference software and
> + // all current files do. Treat it as optional and skip if present,
> + // but if it is there then this is definitely an APV file.
> + tag = get_bits_long(&gbc, 32);
> + if (tag == APV_TAG) {
> + pbu_size = get_bits_long(&gbc, 32);
> + score = AVPROBE_SCORE_MAX;
> + } else {
> + pbu_size = tag;
> + }
> + if (pbu_size < 16) {
> + // Too small.
> + return 0;
> + }
> +
> + ret = apv_extract_header_info(&header, &gbc);
> + if (ret == 0)
> + return 0;
> + return score;
> +}
tools/probetest 256 4096
Failure of apv probing code with score=51 type=1 p=F14 size=32
(yes i saw you posted a new patch, but still had the old one locally
and saw this, so reporting anyway)
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- 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/20250421/cefadb45/attachment.sig>
More information about the ffmpeg-devel
mailing list