Commit Graph

496 Commits

Author SHA1 Message Date
Leo Izen 3ac23440ef avformat/image2: add Jpeg XL as image2 format
This commit adds support to libavformat for muxing
and demuxing Jpeg XL images as image2 streams.
2022-04-23 19:51:46 +02:00
Leo Izen 458cc7e314 avcodec/libjxl: add Jpeg XL decoding via libjxl
This commit adds decoding support to libavcodec
for Jpeg XL images via the external library libjxl.
2022-04-23 19:51:46 +02:00
Leo Izen 0008c15956 avcodec/jpegxl: add Jpeg XL image codec
This commit adds support to libavcodec to read
encoded Jpeg XL images. Jpeg XL is intended to be an
extended-life replacement to legacy mjpeg.
2022-04-23 19:51:46 +02:00
Zhao Zhili 54a4c58dd6 MAINTAINERS: add myself as maintainer for libsrt protocol
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Zhao Zhili <quinkblack@foxmail.com>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2022-04-01 09:21:50 +08:00
Niklas Haas 7fbf1dd47e MAINTAINERS: add Niklas Haas for vf_libplacebo.c
So I can merge my own changes to this filter after they pass peer
review, as well as keeping it in sync with upstream API changes / new
features.

Signed-off-by: Niklas Haas <git@haasn.dev>
Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-28 17:14:23 -03:00
Jack Bruienne 70fef2371c avformat: add DFPWM raw format
This patch builds on my previous DFPWM codec patch, adding a raw
audio format to be able to read/write the raw files that are most commonly
used (as no other container format supports it yet).

The muxers are mostly copied from the PCM demuxer and the raw muxers, as
DFPWM is typically stored as raw data.

Please see the previous patch for more information on DFPWM.

Signed-off-by: Jack Bruienne <jackbruienne@gmail.com>
2022-03-10 14:11:12 +01:00
Jack Bruienne 39a33038ce avcodec: add DFPWM1a codec
From the wiki page (https://wiki.vexatos.com/dfpwm):
> DFPWM (Dynamic Filter Pulse Width Modulation) is an audio codec
> created by Ben “GreaseMonkey” Russell in 2012, originally to be used
> as a voice codec for asiekierka's pixmess, a C remake of 64pixels.
> It is a 1-bit-per-sample codec which uses a dynamic-strength one-pole
> low-pass filter as a predictor. Due to the fact that a raw DPFWM decoding
> creates a high-pitched whine, it is often followed by some post-processing
> filters to make the stream more listenable.

It has recently gained popularity through the ComputerCraft mod for
Minecraft, which added support for audio through this codec, as well as
the Computronics expansion which preceeded the official support. These
both implement the slightly adjusted 1a version of the codec, which is
the version I have chosen for this patch.

This patch adds a new codec (with encoding and decoding) for DFPWM1a.
The codec sources are pretty simple: they use the reference codec with
a basic wrapper to connect it to the FFmpeg AVCodec system.

To clarify, the codec does not have a specific sample rate - it is
provided by the container (or user), which is typically 48000, but has
also been known to be 32768. The codec does not specify channel info
either, and it's pretty much always used with one mono channel.
However, since it appears that libavcodec expects both sample rate and
channel count to be handled by either the codec or container, I have
made the decision to allow multiple channels interleaved, which as far
as I know has never been used, but it works fine here nevertheless. The
accompanying raw format has a channels option to set this. (I expect
most users of this will not use multiple channels, but it remains an
option just in case.)

This patch will be highly useful to ComputerCraft developers who are
working with audio, as it is the standard format for audio, and there
are few user-friendly encoders out there, and even fewer decoders. It
will streamline the process for importing and listening to audio,
replacing the need to write code or use tools that require very
specific input formats.

You may use the CraftOS-PC program (https://www.craftos-pc.cc) to test
out DFPWM playback. To use it, run the program and type this command:
"attach left speaker" Then run "speaker play <file.dfpwm>" for each file.
The app runs in a sandbox, so files have to be transferred in first;
the easiest way to do this is to simply drag the file on the window.
(Or copy files to the folder at https://www.craftos-pc.cc/docs/saves.)

Sample DFPWM files can be generated with an online tool at
https://music.madefor.cc. This is the current best way to encode DFPWM
files. Simply drag an audio file onto the page, and it will encode it,
giving a download link on the page.

I've made sure to update all of the docs as per Developer§7, and I've
tested it as per section 8. Test files encoded to DFPWM play correctly
in ComputerCraft, and other files that work in CC are correctly decoded.
I have also verified that corrupt files do not crash the decoder - this
should theoretically not be an issue as the result size is constant with
respect to the input size.

Signed-off-by: Jack Bruienne <jackbruienne@gmail.com>
2022-03-10 14:05:25 +01:00
Anton Khirnov be95df12bb lavc/mpeg*: drop the XvMC hwaccel code
XvMC was last relevant over 10 years ago, if ever. There is no reason to
use it today.
2022-02-15 10:16:15 +01:00
Haihao Xiang ba44843f40 MAINTAINERS: add my gpg fingerprint
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2021-12-23 09:25:16 +08:00
U. Artie Eoff cde2efb5da MAINTAINERS: Add Haihao Xiang for vaapi
Current listed maintainers for vaapi plugin are
not reponsive and/or currently active in the
ffmpeg community.  Thus, vaapi plugin patches
(and qsv plugin) have generally gone ignored or
lost in the ether for too long.

Remove Gwenole Beauchesne from vaapi maintainer
who has not been active since 2016.

Current alternative maintainer for vaapi is Mark
Thompson whom has not been active since
March/April 2021.

Therefore, add Haihao Xiang to vaapi maintainer
who's primary role is FFmpeg development with a
focus on the vaapi and qsv plugins.  Haihao has
over a decade of media experience and many years
of FFmpeg development experience, amongst other
media frameworks.

The additional patch for adding Haihao as qsv
plugin maintainer has been submitted previously:

https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210608141134.27448-1-zhongli_dev@126.com/

This will help FFmpeg to continue to be the leading
multimedia framework by allowing these plugins to be
actively improved, enhanced, and maintained for existing
and future HW platforms.

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
2021-12-20 14:31:57 -08:00
Zhong Li c47896536c MAINTAINERS: Add Haihao Xiang for qsv
Signed-off-by: Zhong Li <zhongli_dev@126.com>
2021-12-20 23:36:07 +08:00
Zane van Iperen 9789ea59d0
avformat: add Argonaut Games CVG demuxer
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2021-05-12 20:25:50 +10:00
Zane van Iperen f53e54b3a5
MAINTAINERS: add myself as adpcm maintainer
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2021-03-25 12:51:10 +10:00
rcombs 2021dbe1d6 MAINTAINERS: update names 2021-01-20 01:04:26 -06:00
Anton Khirnov 19ce064239 smvjpegdec: merge into mjpegdec
SMVJPEG stores frames as slices of a big JPEG image. The decoder is
implemented as a wrapper that instantiates a full internal MJPEG
decoder, then forwards the decoded frames with offset data pointers.
This is unnecessarily complex and fragile, not supporting useful decoder
capabilities like direct rendering.

Re-implement the decoder inside the MJPEG decoder, which is accomplished
by returning each decoded frame multiple times, setting cropping
information appropriately on each instance.

One peculiar aspect of the previous design is that since
- the smvjpeg decoder returns one frame per input packet
- there are multiple frames in each packets (the aformentioned slices)
the demuxer needs to return each packet multiple times.
This is now also eliminated - the demuxer now returns each packet
exactly once, with the duration set to the number of frames it decodes
to.

This also removes one of the last remaining internal uses of the old
video decoding API.
2020-12-10 10:07:09 +01:00
Zane van Iperen a2fea0f469
avformat: add amv muxer
AMV is a hard-coded (and broken) subset of AVI. It's not worth sullying
the existing AVI muxer with its filth.

Fixes ticket #747.

Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2020-11-09 14:58:38 +10:00
Lou Logan 7a4b2c196c MAINTAINERS: remove my public key fingerprint
Forgot to remove this last time I edited my info.

Signed-off-by: Lou Logan <lou@lrcd.com>
2020-09-20 15:08:18 -08:00
Zane van Iperen 119efa275e
avformat: add Argonaut Games BRP demuxer
Used in FMVs for FX Fighter and Croc. Supports BVID and BASF streams,
requests samples for anything else.

Due to the way BASF streams are contained in the file, only one is
supported. I have yet to see a BRP file with multiple.

Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2020-09-14 14:38:45 +10:00
Zane van Iperen dabac26fa5 MAINTAINERS: add myself and gpg fingerprint
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-07-17 21:57:18 +02:00
Lou Logan 4cfcfb3677 MAINTAINERS: remove myself as Twitter maintainer
Signed-off-by: Lou Logan <lou@lrcd.com>
2020-06-28 12:37:55 -08:00
Lynne 9576e49b40
oggdec: remove the oggparsedaala subdemuxer
The Xiph foundation never standardized either Daala nor its mapping in Ogg,
and all files that were created are undecodable without knowledge of the
git hash.
2020-05-23 19:07:20 +01:00
Linjie Fu 74aa332157 MAINTAINERS: Add myself to libopenh264enc
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-05-06 19:12:00 +02:00
Limin Wang a124f4ebff MAINTAINERS: add myself to the general developers list
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-04-29 16:39:16 +02:00
Ramiro Polla ba698a23c6 MAINTAINERS: add my gpg fingerprint
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-23 23:37:19 +01:00
Andreas Rheinhardt daa2fb9a8c MAINTAINERS: Don't mention Google+
It has been shut down in April 2019.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-19 02:19:25 +01:00
Andreas Rheinhardt c7bcc30f37 MAINTAINERS: Add myself as maintainer for matroska*
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-03-19 02:19:25 +01:00
Lynne 2e611cd9c0
MAINTAINERS: add myself and my gpg key 2020-03-18 17:59:49 +00:00
Andriy Gelman da80d80b93 MAINTAINERS: Add myself as libzmq maintainer
Signed-off-by: Marton Balint <cus@passwd.hu>
2020-02-15 18:25:51 +01:00
Tomas Härdin 1c15111148 MAINTAINERS: Add myself as mxf* maintainer
I have more time for this these days
2020-02-03 08:22:29 +01:00
Michael Niedermayer c2d4762922 MAINTAINERS: Add patchwork maintainer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2020-01-31 22:17:09 +01:00
hwrenx b7583230ae MAINTAINERS: add myself as libxavs2 maintainer
Signed-off-by: hwrenx <hwrenx@126.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-07 19:34:57 +01:00
Guo, Yejun b864af033d MAINTAINERS: add myself to libavfilter/dnn
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-03 09:52:17 +01:00
Aman Gupta c62a1db0ac MAINTAINERS: add myself to OMX
Signed-off-by: Aman Gupta <aman@tmm1.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-08-23 17:07:05 -07:00
Thilo Borgmann 33186028fc MAINTAINERS: Add my GnuPG fingerprint. 2019-08-11 12:08:15 +02:00
Lou Logan 7366174086 MAINTAINERS: remove myself as mailing list maintainer
Refer to Michael, compn, or Baptiste.

Signed-off-by: Lou Logan <lou@lrcd.com>
2019-03-21 11:34:13 -08:00
Martin Vignali 6dc1da416e Maintainers : remove myself
Too much hostility in this project
Not enough respect for users and contributors

I'm not interested to contribute anymore
2019-03-21 01:39:12 +01:00
Lou Logan 6f93868e46 MAINTAINERS: remove myself as a docs & trac maintainer
It is no longer interesting.

Signed-off-by: Lou Logan <lou@lrcd.com>
2019-02-22 10:57:26 -09:00
Ruiling Song dfde416ea8 MAINTAINERS: add myself for tonemap_opencl
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-20 21:15:07 +01:00
Lauri Kasanen 87b00cac2a MAINTAINERS: add myself to the PPC section
Signed-off-by: Lauri Kasanen <cand@gmx.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-02-04 19:14:20 +01:00
hwren 3016e1f8c5 MAINTAINERS: add AVS2 section
Signed-off-by: hwren <hwrenx@126.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-01-28 01:09:38 +01:00
Anssi Hannula b2adc31697 MAINTAINERS: remove myself as hls demuxer maintainer 2018-10-16 01:18:00 +03:00
Shiyou Yin 90dc584d21 MAINTAINERS: add myself to MIPS section
Signed-off-by: Shiyou Yin <yinshiyou-hf@loongson.cn>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-08-08 01:00:10 +02:00
Mina 0bb5cd8c4d avfilter: Add colorconstancy filter
Signed-off-by: Mina <minasamy_@hotmail.com>
2018-07-23 22:34:52 +02:00
Zhong Li 550372d0c4 MAINTAINERS: add myself to qsv section
Signed-off-by: Zhong Li <zhong.li@intel.com>
2018-06-07 23:57:27 +01:00
Tomas Härdin 10ed9f2b12 Add IRC nicknames 2018-05-14 11:36:40 +02:00
Rostislav Pehlivanov a1c6fc773f mpegvideo: remove support for libxvid's RC system
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2018-05-05 19:41:30 +01:00
Gyan Doshi 6b28e551d0 MAINTAINERS: add myself to documentation section
Signed-off-by: Lou Logan <lou@lrcd.com>
2018-04-13 09:40:27 -08:00
Jun Zhao 3b350528d2 MAINTAINERS: add myself to the general developers list
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-04-10 02:36:11 +02:00
Aman Gupta b19e11a4dc MAINTAINERS: add myself to mediacodec
Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2018-03-06 13:54:35 -08:00
Tomas Härdin 5f36c546ec Add myself as codec2 maintainer 2018-02-24 17:06:31 +01:00