[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