]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Sat, 5 Aug 2023 12:15:09 +0000 (14:15 +0200)]
Remove a check for very old SVT-AV1.
Steinar H. Gunderson [Sat, 5 Aug 2023 12:03:24 +0000 (14:03 +0200)]
Add AVFMT_FLAG_AUTO_BSF when muxing, just in case.
Steinar H. Gunderson [Fri, 4 Aug 2023 22:37:36 +0000 (00:37 +0200)]
Remove/hide some SRT flags if not compiling with SRT.
Steinar H. Gunderson [Fri, 4 Aug 2023 19:59:50 +0000 (21:59 +0200)]
Include the Nageru version in the timecode display.
Steinar H. Gunderson [Fri, 4 Aug 2023 19:55:00 +0000 (21:55 +0200)]
Specify font family explicitly for the stream timecode.
Seemingly the default is now a font where not all digits are equally wide,
and that makes the text jump constantly back and forth. Noto Sans should
be pretty widely supported, and if not, we'll probably fall back to
whatever we had before.
Steinar H. Gunderson [Fri, 4 Aug 2023 19:56:00 +0000 (21:56 +0200)]
Bump version number.
Steinar H. Gunderson [Mon, 24 Jul 2023 12:02:31 +0000 (14:02 +0200)]
Release Nageru and Futatabi 2.2.3.
Steinar H. Gunderson [Mon, 24 Jul 2023 12:01:24 +0000 (14:01 +0200)]
Fix missing NEWS entry.
Steinar H. Gunderson [Mon, 24 Jul 2023 12:00:17 +0000 (14:00 +0200)]
Fix theme menu check state.
We'd always (wrongly) get the value from the last entry in the list.
Reported by Stefano Rivera.
Steinar H. Gunderson [Mon, 24 Jul 2023 11:50:46 +0000 (13:50 +0200)]
Fix SRT with newer libsrt.
Upstream changed their bind behavior:
https://github.com/Haivision/srt/issues/2764
Steinar H. Gunderson [Mon, 24 Jul 2023 11:50:43 +0000 (13:50 +0200)]
Bump the version number.
Steinar H. Gunderson [Sat, 15 Jul 2023 15:16:56 +0000 (17:16 +0200)]
Release Nageru and Futatabi 2.2.2.
Steinar H. Gunderson [Sat, 15 Jul 2023 15:15:42 +0000 (17:15 +0200)]
Fix a build failure with GCC 13.
Steinar H. Gunderson [Wed, 12 Jul 2023 21:05:42 +0000 (23:05 +0200)]
Fix an inverted condition in YCbCr format choice.
Steinar H. Gunderson [Tue, 4 Jul 2023 18:55:01 +0000 (20:55 +0200)]
Stop caring about FFmpeg pre-5.0.
Steinar H. Gunderson [Tue, 4 Jul 2023 18:09:54 +0000 (20:09 +0200)]
Rename stream_mux to http_mux.
Steinar H. Gunderson [Tue, 4 Jul 2023 18:15:11 +0000 (20:15 +0200)]
Fix compilation break with SVT-AV1.
Steinar H. Gunderson [Tue, 4 Jul 2023 18:09:19 +0000 (20:09 +0200)]
Bump the version number.
Steinar H. Gunderson [Mon, 17 Apr 2023 16:35:47 +0000 (18:35 +0200)]
Release Nageru and Futatabi 2.2.1.
Steinar H. Gunderson [Mon, 17 Apr 2023 16:19:46 +0000 (18:19 +0200)]
Fix a buffer overrun when receiving 4K (or 8K etc.) FFmpeg streams.
Of course, it would be better to just support this than to throw them away,
but at least we avoid a crash.
Steinar H. Gunderson [Mon, 17 Apr 2023 16:16:05 +0000 (18:16 +0200)]
Unify all the FRAME_SIZE #defines.
Steinar H. Gunderson [Sun, 16 Apr 2023 08:35:13 +0000 (10:35 +0200)]
Improve selection of software formats on hwaccel fallback.
We assumed the first format was a software format, whereas in practice,
it would now seemingly be vdpau or cuda, causing multiple trips
through the selection function.
Steinar H. Gunderson [Sat, 15 Apr 2023 23:49:51 +0000 (01:49 +0200)]
Add a warning when trying to hardware-decode H.264 Baseline streams.
Steinar H. Gunderson [Sat, 15 Apr 2023 23:31:44 +0000 (01:31 +0200)]
Improve error messaging when VAAPI/VDPAU pixel format selection fails.
Steinar H. Gunderson [Sat, 15 Apr 2023 22:50:34 +0000 (00:50 +0200)]
Fix autodetection of VA-API H.264 encoders without the right profile support.
These would sometimes be chosen, and then error out when actually trying to use them.
Steinar H. Gunderson [Sat, 15 Apr 2023 22:33:28 +0000 (00:33 +0200)]
Support decoding FFmpeg via VDPAU.
This fixes a bug where we hit the VAAPI-by-VDPAU emulation,
which is seemingly bad and just hangs.
Note that this means that if you have a VDPAU card with worse
format support than your VA-API card, you'll now lose some formats.
Steinar H. Gunderson [Sat, 15 Apr 2023 17:03:35 +0000 (19:03 +0200)]
Be more resilient to video decoding errors.
In particular, hardware decoding of SRT streams that don't start
on a keyframe can throw errors the first few frames, but then
recover afterwards.
Steinar H. Gunderson [Thu, 13 Apr 2023 15:02:14 +0000 (17:02 +0200)]
Rename MAX_FPS to TYPICAL_FPS.
Steinar H. Gunderson [Thu, 13 Apr 2023 14:58:34 +0000 (16:58 +0200)]
Fix crashes when the master clock goes faster than 60 Hz.
This could happen in particularly when using a video as the master card;
e.g. Larix Broadcaster sometimes sends SRT with 60.06 fps or similar.
We solve it by completely rewriting how DTS is calculated when doing
Quick Sync encoding, which ended up being much simpler than what we
had before (and probably a lot more common)
This essentially removes the meaning of MAX_FPS; we could now easily
do e.g. 144 fps if needed.
Steinar H. Gunderson [Wed, 12 Apr 2023 22:46:54 +0000 (00:46 +0200)]
Add some asserts to track down pts/dts problems before we get crashes back from FFmpeg way down the chain.
Steinar H. Gunderson [Sun, 19 Mar 2023 12:51:05 +0000 (13:51 +0100)]
Work around an issue with OpenGL on Wayland.
Steinar H. Gunderson [Thu, 17 Nov 2022 23:27:20 +0000 (00:27 +0100)]
Typo fix.
Steinar H. Gunderson [Thu, 17 Nov 2022 23:26:39 +0000 (00:26 +0100)]
zita-resampler was mentioned twice in the dependency list.
Steinar H. Gunderson [Thu, 17 Nov 2022 23:26:21 +0000 (00:26 +0100)]
Bump the version number.
Steinar H. Gunderson [Mon, 14 Nov 2022 23:25:44 +0000 (00:25 +0100)]
Release Nageru and Futatabi 2.2.0.
Steinar H. Gunderson [Mon, 14 Nov 2022 23:07:06 +0000 (00:07 +0100)]
Remove the QCustomPlot dependency.
This was becoming more a liability than an asset, so replace it with
some custom drawing code. It's not 100% as nice, but pretty close.
Steinar H. Gunderson [Fri, 5 Aug 2022 20:07:08 +0000 (22:07 +0200)]
Use VBR for AV1.
CBR isn't really ready yet; it requires low-delay mode, which limits
SVT-AV1 to three cores and also is pretty bad for quality in general.
(Also, its CBR isn't really CBR yet; see SVT-AV1 bug 1959.)
Steinar H. Gunderson [Fri, 22 Jul 2022 15:50:03 +0000 (17:50 +0200)]
Change ALSA output period size to 2048 samples.
Anything less seemingly triggers a bug in the ALSA PulseAudio
plugin when used against PipeWire (audio just never starts playing).
It would be nice to generally have less latency here, but with the
current design based on large resampling queues, this isn't going
to be what causes it.
Steinar H. Gunderson [Thu, 21 Jul 2022 23:05:58 +0000 (01:05 +0200)]
Update the comment on get_scene() about the signals parameter.
Users won't know what InputState is, and scene selection isn't
a thing anymore after the themes became a thing.
Steinar H. Gunderson [Thu, 21 Jul 2022 23:02:12 +0000 (01:02 +0200)]
Make the theme cardinality warnings more lenient.
The default theme hits the 200 limit, so it felt a bit weird to warn on that.
Steinar H. Gunderson [Thu, 21 Jul 2022 23:00:47 +0000 (01:00 +0200)]
Remove the zerocopy warnings.
It's unlikely that the user will be able to glean meaningful information
from this.
Steinar H. Gunderson [Thu, 21 Jul 2022 22:23:50 +0000 (00:23 +0200)]
Expose BlurEffect and UnsharpMaskEffect.
This was mostly so that people could sharpen the input if they wanted to
(even though unsharp mask is not the best sharpener). BlurEffect was added
mainly because it felt wrong that one could only use a compound effect and not
the underlying one.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:48:15 +0000 (23:48 +0200)]
Small consistency fix in --help.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:47:54 +0000 (23:47 +0200)]
Remove a now-obsolete reference in --help.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:46:47 +0000 (23:46 +0200)]
Take --x264-speedcontrol-verbose out of the --help output.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:44:17 +0000 (23:44 +0200)]
Take --no-flush-pbos out of the --help output.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:42:58 +0000 (23:42 +0200)]
Remove the x264 VBV settings.
The user shouldn't generally muck around with this, so remove them.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:39:19 +0000 (23:39 +0200)]
Remove the --http-uncompressed-video flag.
This is probably unused; it is so expensive to send uncompressed data
across sockets, and it was made at a time where it was envisioned
that we do most of our encoding externally.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:35:57 +0000 (23:35 +0200)]
Collapse all the 10-bit flags.
It's unlikely that a user would want 10-bit input but not 10-bit-output,
or the other way around. Having only one flag simplifies things for the
user (although not much in the code, as we're already fp16 internally
anyway).
Steinar H. Gunderson [Thu, 21 Jul 2022 21:02:05 +0000 (23:02 +0200)]
Add support for 10-bit AV1 encoding.
Steinar H. Gunderson [Thu, 21 Jul 2022 21:01:26 +0000 (23:01 +0200)]
Fix a read-past-the-end in av_write_header(); extradata must have AV_INPUT_BUFFER_PADDING_SIZE padding as per avformat.h comments.
Steinar H. Gunderson [Thu, 21 Jul 2022 15:40:58 +0000 (17:40 +0200)]
Drop the SSE2 fastpath.
Pre-Haswell CPUs are not really worth optimizing for anymore.
Steinar H. Gunderson [Thu, 21 Jul 2022 15:12:09 +0000 (17:12 +0200)]
Support --record-x264-video with AV1 HTTP output.
Steinar H. Gunderson [Thu, 21 Jul 2022 14:45:02 +0000 (16:45 +0200)]
Support AV1 streaming over HTTP, via SVT-AV1.
This is optional, and pretty rough currently. But it might be interesting
for certain use cases, in particular around 1080p or 4K streaming.
Steinar H. Gunderson [Thu, 21 Jul 2022 11:35:09 +0000 (13:35 +0200)]
Update README for Debian bullseye.
Steinar H. Gunderson [Tue, 19 Jul 2022 21:24:55 +0000 (23:24 +0200)]
Slightly more verbose error messages in Mux when a libavformat error happens.
Steinar H. Gunderson [Tue, 19 Jul 2022 12:21:13 +0000 (14:21 +0200)]
Make an interface to wrap X264Encoder.
This will be useful when adding more video codecs later.
Steinar H. Gunderson [Sun, 17 Apr 2022 18:46:38 +0000 (20:46 +0200)]
Update CEF file names (this is compatible with CEF 100).
Steinar H. Gunderson [Sun, 17 Apr 2022 18:45:19 +0000 (20:45 +0200)]
Remove the web_security flag for newer CEF, since it is no longer available (https://bitbucket.org/chromiumembedded/cef/issues/3058/remove-cefbrowsersettingsweb_security).
Steinar H. Gunderson [Sun, 17 Apr 2022 18:23:58 +0000 (20:23 +0200)]
Add explicit check arguments to run_command, to fix a Meson warning.
Steinar H. Gunderson [Sun, 17 Apr 2022 15:12:45 +0000 (17:12 +0200)]
Fix (?) the mode scanning.
Steinar H. Gunderson [Sun, 17 Apr 2022 15:12:40 +0000 (17:12 +0200)]
Bump the version number.
Steinar H. Gunderson [Sun, 6 Feb 2022 15:09:11 +0000 (16:09 +0100)]
Release Nageru and Futatabi 2.1.0.
Steinar H. Gunderson [Sun, 6 Feb 2022 14:41:27 +0000 (15:41 +0100)]
Fix compilation with FFmpeg _before_ version 5.0.
Steinar H. Gunderson [Mon, 31 Jan 2022 21:51:26 +0000 (22:51 +0100)]
Fix compilation with FFmpeg 5.0.
Steinar H. Gunderson [Thu, 14 Oct 2021 19:29:58 +0000 (21:29 +0200)]
Fix an issue where scrubbing in Futatabi could lock up if there were no inputs going, with certain GL drivers.
Plastkast user [Fri, 8 Oct 2021 17:51:20 +0000 (19:51 +0200)]
Fix white balance with non-VAAPI decoding.
Steinar H. Gunderson [Sat, 2 Oct 2021 14:54:58 +0000 (16:54 +0200)]
Support unsynchronized HDMI/SDI output.
This is for if you want just a monitor output without synchronizing
your entire stream chain to the output card (ie., you want to keep
some other camera as the master). Sound support is untested, and is
probably going to crackle a fair bit.
There's no GUI support for changing this currently.
Steinar H. Gunderson [Sat, 2 Oct 2021 14:17:35 +0000 (16:17 +0200)]
Yet another crash fix in changing output cards.
This got broken when we started sharing the IDeckLinkInput interface
for the driver bugfix workaround.
Steinar H. Gunderson [Sat, 2 Oct 2021 14:12:31 +0000 (16:12 +0200)]
Fix mode-switching on output cards.
Steinar H. Gunderson [Sat, 2 Oct 2021 14:12:24 +0000 (16:12 +0200)]
Newer drivers can seemingly send completions out-of-order on shutdown, so adjust asserts accordingly.
Steinar H. Gunderson [Sat, 2 Oct 2021 14:06:28 +0000 (16:06 +0200)]
Fix a typo (hopefully).
Steinar H. Gunderson [Sat, 2 Oct 2021 14:01:42 +0000 (16:01 +0200)]
Fix a wrong assertion.
Steinar H. Gunderson [Sun, 26 Sep 2021 18:36:48 +0000 (20:36 +0200)]
Support sending a separate x264 encode to disk.
This is useful for machines that don't have Quick Sync,
but where you want to have an archival copy on disk
in higher quality than what you streamed out.
Steinar H. Gunderson [Fri, 3 Sep 2021 16:44:26 +0000 (18:44 +0200)]
Release Nageru and Futatabi 2.0.2.
Steinar H. Gunderson [Fri, 3 Sep 2021 16:12:51 +0000 (18:12 +0200)]
Bump bmusb submodule (no real changes for us).
Steinar H. Gunderson [Fri, 3 Sep 2021 16:10:46 +0000 (18:10 +0200)]
Fix an audio encoder issue with newer FFmpeg.
Steinar H. Gunderson [Sun, 15 Aug 2021 13:06:34 +0000 (15:06 +0200)]
Fix DeckLink capture using the 11.7 or newer drivers.
Reported by Marcus Nilsen.
Steinar H. Gunderson [Mon, 5 Apr 2021 16:06:32 +0000 (18:06 +0200)]
Add an explicit dependency om libdrm.
Steinar H. Gunderson [Mon, 5 Apr 2021 15:58:22 +0000 (17:58 +0200)]
Add some missing FFmpeg dependencies in shared/.
Reported by Einar Jørgen Haraldseid.
Steinar H. Gunderson [Mon, 5 Apr 2021 15:56:42 +0000 (17:56 +0200)]
Fix a Qt deprecation warning.
Steinar H. Gunderson [Mon, 5 Apr 2021 15:51:51 +0000 (17:51 +0200)]
Fix a Qt deprecation on pixmap().
Steinar H. Gunderson [Sun, 4 Apr 2021 11:41:29 +0000 (13:41 +0200)]
Stop decoding video/audio in FFmpegCapture if we are not going to use the decoded information anyway.
Steinar H. Gunderson [Sun, 4 Apr 2021 13:23:32 +0000 (15:23 +0200)]
Pass through non-ADTS data (used when transcoding from MP4 instead of MPEG-TS).
Steinar H. Gunderson [Sun, 4 Apr 2021 10:35:17 +0000 (12:35 +0200)]
Make kaeru insert the aac_adtstoasc filter when needed.
This seemingly fixes mp4 + aac passthrough with no reencoding.
Steinar H. Gunderson [Sun, 4 Apr 2021 09:55:23 +0000 (11:55 +0200)]
Add a --no-transcode-video flag to Kaeru.
This is useful primarily if you want Kaeru to rewrap the stream into
Metacube (for cubemap) and do nothing else with it. Only H.264
is supported for now, since everything else assumes that.
Currently, we only really support --http-mux=mpegts; other muxes seem
to have issues.
Steinar H. Gunderson [Sun, 4 Apr 2021 09:22:39 +0000 (11:22 +0200)]
Fix a bug where FFmpegCapture would get the wrong height, causing bogus scaling.
Steinar H. Gunderson [Sun, 30 Aug 2020 22:25:40 +0000 (00:25 +0200)]
Reset jitter history when frame rate changes.
This is seemingly especially important when we have input format autodetect
and PAL input rates; it gives us one 59.97 fps frame, then a delay as the
card autodetects and resyncs (might be as much as 30–50 ms; not entirely sure),
and then a steady stream of 50 fps frames. This then causes us to overestimate
the jitter by a lot until we get more than 1000 frames and can reject that
very first event as the outlier it is.
Steinar H. Gunderson [Sun, 30 Aug 2020 21:01:46 +0000 (23:01 +0200)]
Fix an oversight in JitterHistory::clear().
Steinar H. Gunderson [Sun, 30 Aug 2020 17:23:43 +0000 (19:23 +0200)]
In DeckLinkOutput, keep a list of all the scheduled frames instead of just a count.
This will be important when we want to track frames the driver inserts
on our behalf; we'll need to be able to adjust their estimated pts then.
Steinar H. Gunderson [Sun, 30 Aug 2020 13:45:07 +0000 (15:45 +0200)]
Clarify a parameter name to update_policy().
Steinar H. Gunderson [Sun, 6 Dec 2020 17:21:51 +0000 (18:21 +0100)]
Update README; Debian ships libsrt-gnutls-dev now.
Steinar H. Gunderson [Mon, 9 Nov 2020 19:24:25 +0000 (20:24 +0100)]
Link to libcef.so in the current directory.
Newer CEF hard-codes that icudtl.dat _must_ be in the same directory
as libcef.so, but the release tarballs have a different structure,
so this fails. This should be fine on installs, but it won't work
for running Nageru from the build directory. Search for the library
in the local directory instead, where we have a symlink. This makes
the build rpath point to ., which makes sure icudtl.dat is picked up
from the other symlink.
Steinar H. Gunderson [Sat, 31 Oct 2020 16:21:26 +0000 (17:21 +0100)]
Stop using the deprecated srt_socket().
Steinar H. Gunderson [Wed, 26 Aug 2020 22:17:42 +0000 (00:17 +0200)]
Small indent fix.
Steinar H. Gunderson [Tue, 25 Aug 2020 22:06:12 +0000 (00:06 +0200)]
Move Jitterhistory / QueueLengthPolicy into a separate header file.
Steinar H. Gunderson [Mon, 24 Aug 2020 21:08:54 +0000 (23:08 +0200)]
Fix a bug; 60.00 fps would never be autoselected for output. (Then again, 59.97 should always exist.)
Steinar H. Gunderson [Sun, 23 Aug 2020 19:18:19 +0000 (21:18 +0200)]
QueueLengthPolicy::reset() does nothing anymore, so just remove it.
In its place, what we often want is to clear the associated jitter history,
so do that instead.
Steinar H. Gunderson [Thu, 9 Jul 2020 07:56:24 +0000 (09:56 +0200)]
Release Nageru and Futatabi 2.0.1.
Steinar H. Gunderson [Wed, 8 Jul 2020 18:49:21 +0000 (20:49 +0200)]
Unbreak compilation with libmicrohttpd 0.9.71.