From: Leo Izen <leo.izen@gmail.com> To: ffmpeg-devel@ffmpeg.org Cc: Leo Izen <leo.izen@gmail.com> Subject: [FFmpeg-devel] [PATCH v7 0/5] JPEG XL Parser (and bug fixes) Date: Wed, 2 Aug 2023 16:33:29 -0400 Message-ID: <20230802203334.23640-1-leo.izen@gmail.com> (raw) Changes from v6: - Added dummy stub libavformat/jpegxl_parse.c to fix shared builds Changes from v5: - Attached an extra commit to fix existing bug with libjxldec - Made various changes based on comments by Andreas Reinhardt -- removed jpegxl_parse.c from avformat, and jpegxl_parse.o from avformat/Makefile/OBJS -- checked for failure in init_vlc_lengths -- used a macro to initialize VLCElem structs -- used heap allocations for a buffer of size 250k, instead of stack -- renamed "code" to "len" - Fix demuxer to avoid using avio_size, breaking piped input - Fix some parser bugs discovered during more extensive testing Changes from v4: - Added an entropy decoder and full parser, which finds the boundaries between files correctly - Removed unnecessary logging in libjxldec Changes from v3: - Don't remove AV_CODEC_CAP_DR1 from libjxldec - jpegxl_parse.o added to STLIBOBJS in avcodec/Makefile - add pipe demuxer to avformat/Makefile's SHLIBOBJS Changes from v2: - Fix libjxldec to work with packets that are smaller than one frame - Change how code is shared between libavcodec and libavformat to be more sensible. - Fix the parser to work with large headers that proceed the codestream in a container format (for example, if several-KB Exif boxes preceed the codestream.) - Modify the parser to set width/height instead of avctx Note: avctx->pix_fmt and s->format are both set, because otherwise the CLI tools won't print the pixel format without libjxl enabled. - Update the fate test based on the new parser's packetization This test relies on FATE samples that haven't been uploaded yet. To test, unzip the following zipfile[1] in the FATE_SAMPLES directory, placing the test images in jxl/. [1]: https://buzo.us/y.zip sha256sum: 43a2eeb0dfdf471b47a9fdfb1653974fa156ceceb776891cc137569a8ebf0e75 signature: https://buzo.us/R.asc Leo Izen (5): avcodec/libjxldec: fix errors when decoding grayscale after rgb avcodec/libjxldec: use internal AVFrame as buffered space avcodec/jpegxl_parser: add JPEG XL parser avformat/jpegxl: remove jpegxl_probe, instead call avcodec/jpegxl_parse fate/jpegxl_anim: add demuxer fate test for jpegxl_anim libavcodec/Makefile | 3 + libavcodec/jpegxl.h | 94 ++ libavcodec/jpegxl_parse.c | 520 ++++++ libavcodec/jpegxl_parse.h | 72 + libavcodec/jpegxl_parser.c | 1477 +++++++++++++++++ libavcodec/libjxldec.c | 41 +- libavcodec/parsers.c | 1 + libavcodec/version.h | 2 +- libavformat/Makefile | 6 +- libavformat/img2dec.c | 4 +- libavformat/jpegxl_anim_dec.c | 132 +- .../{jpegxl_probe.h => jpegxl_parse.c} | 21 +- libavformat/jpegxl_probe.c | 412 ----- libavformat/version.h | 2 +- tests/Makefile | 1 + tests/fate/jxl.mak | 16 + tests/ref/fate/jxl-anim-demux-belgium | 6 + tests/ref/fate/jxl-anim-demux-icos4d | 6 + tests/ref/fate/jxl-anim-demux-lenna256 | 6 + tests/ref/fate/jxl-anim-demux-newton | 6 + 20 files changed, 2273 insertions(+), 555 deletions(-) create mode 100644 libavcodec/jpegxl.h create mode 100644 libavcodec/jpegxl_parse.c create mode 100644 libavcodec/jpegxl_parse.h create mode 100644 libavcodec/jpegxl_parser.c rename libavformat/{jpegxl_probe.h => jpegxl_parse.c} (55%) delete mode 100644 libavformat/jpegxl_probe.c create mode 100644 tests/fate/jxl.mak create mode 100644 tests/ref/fate/jxl-anim-demux-belgium create mode 100644 tests/ref/fate/jxl-anim-demux-icos4d create mode 100644 tests/ref/fate/jxl-anim-demux-lenna256 create mode 100644 tests/ref/fate/jxl-anim-demux-newton -- 2.41.0 _______________________________________________ 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 reply other threads:[~2023-08-02 20:33 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-08-02 20:33 Leo Izen [this message] 2023-08-02 20:33 ` [FFmpeg-devel] [PATCH v7 1/5] avcodec/libjxldec: fix errors when decoding grayscale after rgb Leo Izen 2023-08-02 20:33 ` [FFmpeg-devel] [PATCH v7 2/5] avcodec/libjxldec: use internal AVFrame as buffered space Leo Izen 2023-08-02 20:33 ` [FFmpeg-devel] [PATCH v7 3/5] avcodec/jpegxl_parser: add JPEG XL parser Leo Izen 2023-08-02 20:33 ` [FFmpeg-devel] [PATCH v7 4/5] avformat/jpegxl: remove jpegxl_probe, instead call avcodec/jpegxl_parse Leo Izen 2023-08-02 20:33 ` [FFmpeg-devel] [PATCH v7 5/5] fate/jpegxl_anim: add demuxer fate test for jpegxl_anim Leo Izen 2023-08-09 21:56 ` [FFmpeg-devel] [PATCH v7 0/5] JPEG XL Parser (and bug fixes) Leo Izen 2023-08-16 4:25 ` Leo Izen 2023-08-24 19:22 ` Leo Izen 2023-08-27 5:40 ` Leo Izen
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=20230802203334.23640-1-leo.izen@gmail.com \ --to=leo.izen@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /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