]> git.sesse.net Git - nageru/log
nageru
6 years agoRelease Nageru 1.6.4. 1.6.4
Steinar H. Gunderson [Thu, 25 Jan 2018 17:25:11 +0000 (18:25 +0100)]
Release Nageru 1.6.4.

6 years agoAPI fix for the upcoming FFmpeg 3.5 release.
Steinar H. Gunderson [Wed, 24 Jan 2018 23:31:24 +0000 (00:31 +0100)]
API fix for the upcoming FFmpeg 3.5 release.

6 years agoFix an issue where we'd count jitter history from the wrong side.
Steinar H. Gunderson [Fri, 10 Nov 2017 17:23:26 +0000 (18:23 +0100)]
Fix an issue where we'd count jitter history from the wrong side.

Would not only give horribly wrong results, but also consume tons
of CPU power.

6 years agoCut a few more allocations.
Steinar H. Gunderson [Fri, 10 Nov 2017 17:05:11 +0000 (18:05 +0100)]
Cut a few more allocations.

6 years agoSwitch to LuaJIT; faster, less allocation-heavy and no real downsides.
Steinar H. Gunderson [Fri, 10 Nov 2017 16:19:34 +0000 (17:19 +0100)]
Switch to LuaJIT; faster, less allocation-heavy and no real downsides.

6 years agoFix a crash if exiting while we are still trying to re-find an ALSA card from a loade...
Steinar H. Gunderson [Thu, 9 Nov 2017 20:01:13 +0000 (21:01 +0100)]
Fix a crash if exiting while we are still trying to re-find an ALSA card from a loaded mapping.

6 years agoRemove some random unneeded memory allocations.
Steinar H. Gunderson [Thu, 9 Nov 2017 20:00:03 +0000 (21:00 +0100)]
Remove some random unneeded memory allocations.

6 years agoCut some unneccessary allocations.
Steinar H. Gunderson [Thu, 9 Nov 2017 18:49:46 +0000 (19:49 +0100)]
Cut some unneccessary allocations.

6 years agoFix a leak when streaming. Requires FFmpeg 3.3, though. (See FFmpeg bug #6520.)
Steinar H. Gunderson [Thu, 9 Nov 2017 16:44:52 +0000 (17:44 +0100)]
Fix a leak when streaming. Requires FFmpeg 3.3, though. (See FFmpeg bug #6520.)

6 years agoGive a warning before quitting if there are clients connected.
Steinar H. Gunderson [Wed, 8 Nov 2017 21:30:03 +0000 (22:30 +0100)]
Give a warning before quitting if there are clients connected.

6 years agoFix so that you can't right-click on non-signal channels anymore.
Steinar H. Gunderson [Wed, 8 Nov 2017 19:54:30 +0000 (20:54 +0100)]
Fix so that you can't right-click on non-signal channels anymore.

Was broken during the making of the frame analyzer in 1.6.0.

6 years agoRelease Nageru 1.6.3. 1.6.3
Steinar H. Gunderson [Wed, 8 Nov 2017 17:49:33 +0000 (18:49 +0100)]
Release Nageru 1.6.3.

6 years agoPut the quick-cut keys behind a command-line flag; I hate more switches, but they...
Steinar H. Gunderson [Sun, 29 Oct 2017 14:08:51 +0000 (15:08 +0100)]
Put the quick-cut keys behind a command-line flag; I hate more switches, but they are just too easy to hit during normal operation.

6 years agoMake the HTTP port settable.
Steinar H. Gunderson [Sat, 28 Oct 2017 11:44:27 +0000 (13:44 +0200)]
Make the HTTP port settable.

6 years agoFix compilation with older FFmpeg.
Steinar H. Gunderson [Sat, 28 Oct 2017 11:01:15 +0000 (13:01 +0200)]
Fix compilation with older FFmpeg.

6 years agoAdd a missing #include.
Steinar H. Gunderson [Sat, 28 Oct 2017 11:00:16 +0000 (13:00 +0200)]
Add a missing #include.

6 years agoDeal with FFmpeg returning unknown audio channel layouts.
Steinar H. Gunderson [Wed, 25 Oct 2017 18:47:58 +0000 (20:47 +0200)]
Deal with FFmpeg returning unknown audio channel layouts.

6 years agoAdd back support for input-only DeckLink cards.
Steinar H. Gunderson [Wed, 25 Oct 2017 18:08:05 +0000 (20:08 +0200)]
Add back support for input-only DeckLink cards.

6 years agoFix an issue with Quick Sync in newer VA-API.
Steinar H. Gunderson [Fri, 20 Oct 2017 22:36:15 +0000 (00:36 +0200)]
Fix an issue with Quick Sync in newer VA-API.

6 years agoAdd quick-cut keys (Q, W, E, etc.) below the preview keys.
Steinar H. Gunderson [Fri, 20 Oct 2017 22:29:12 +0000 (00:29 +0200)]
Add quick-cut keys (Q, W, E, etc.) below the preview keys.

6 years agoSpecify sRGB transfer characteristics in the x264 output, too.
Steinar H. Gunderson [Sun, 20 Aug 2017 19:07:21 +0000 (21:07 +0200)]
Specify sRGB transfer characteristics in the x264 output, too.

6 years agosetChecked() takes a bool, not an enum.
Steinar H. Gunderson [Tue, 8 Aug 2017 16:05:06 +0000 (18:05 +0200)]
setChecked() takes a bool, not an enum.

6 years agoSave a glGetIntegerv() call every time we draw.
Steinar H. Gunderson [Tue, 8 Aug 2017 16:04:38 +0000 (18:04 +0200)]
Save a glGetIntegerv() call every time we draw.

6 years agoSpecify sRGB transfer characteristics in the H.264 files (added in newer versions...
Steinar H. Gunderson [Mon, 7 Aug 2017 19:31:26 +0000 (21:31 +0200)]
Specify sRGB transfer characteristics in the H.264 files (added in newer versions of H.264).

6 years agoConvert some NULL instances to nullptr.
Steinar H. Gunderson [Mon, 7 Aug 2017 19:30:54 +0000 (21:30 +0200)]
Convert some NULL instances to nullptr.

6 years agoRework the x264 speedcontrol presets.
Steinar H. Gunderson [Fri, 21 Jul 2017 11:11:36 +0000 (13:11 +0200)]
Rework the x264 speedcontrol presets.

Since speedcontrol was made, x264 has adjusted its “slower” preset,
so follow suit. This influences some of the other presets as well.

Unfortunately, I couldn't reproduce my previous results using
“Tears of Steel”, and the original scripts to do so have been lost;
when testing, the SSIM improves way too slowly. Switch to
“Elephants Dream” instead, even though --trellis 1 seems to yield
a slight SSIM _decrease_ for this clip, and check in the new scripts
to increase reproducibility of results. The measurements are on the
same machine. The timings have shifted around a bit (it looks like
the two fastest modes are faster, relatively speaking); potentially
due to x264 optimizations, but more likely due to differing content
and bitrate flags.

This is measured at the x264 version which is in Debian stretch,
which is r2748 (git 97eaef2).

6 years agoRelease Nageru 1.6.2. 1.6.2
Steinar H. Gunderson [Sun, 16 Jul 2017 01:35:49 +0000 (03:35 +0200)]
Release Nageru 1.6.2.

6 years agoSet the correct sample rate in the returned audio format if an ALSA device chose...
Steinar H. Gunderson [Sun, 16 Jul 2017 01:34:37 +0000 (03:34 +0200)]
Set the correct sample rate in the returned audio format if an ALSA device chose a different rate than the one we asked for.

6 years agoProperly flush the codecs when rewinding.
Steinar H. Gunderson [Wed, 12 Jul 2017 21:53:18 +0000 (23:53 +0200)]
Properly flush the codecs when rewinding.

6 years agoCorrect the signal name in a Kaeru message.
Steinar H. Gunderson [Tue, 11 Jul 2017 19:55:25 +0000 (21:55 +0200)]
Correct the signal name in a Kaeru message.

6 years agoUnbreak --no-audio-transcode.
Steinar H. Gunderson [Mon, 10 Jul 2017 22:32:33 +0000 (00:32 +0200)]
Unbreak --no-audio-transcode.

6 years agoFix some potential memory leaks in FFmpegCapture.
Steinar H. Gunderson [Mon, 10 Jul 2017 21:15:42 +0000 (23:15 +0200)]
Fix some potential memory leaks in FFmpegCapture.

6 years agoGive Kaeru slightly cleaner shutdown on Ctrl-C.
Steinar H. Gunderson [Mon, 10 Jul 2017 16:10:51 +0000 (18:10 +0200)]
Give Kaeru slightly cleaner shutdown on Ctrl-C.

6 years agoUpdate the x264 speedcontrol buffer size metric when the buffer changes.
Steinar H. Gunderson [Mon, 10 Jul 2017 11:35:19 +0000 (13:35 +0200)]
Update the x264 speedcontrol buffer size metric when the buffer changes.

6 years agoFactor the basic metrics (memory, uptime, etc.) into a separate class, so that Kaeru...
Steinar H. Gunderson [Mon, 10 Jul 2017 10:36:39 +0000 (12:36 +0200)]
Factor the basic metrics (memory, uptime, etc.) into a separate class, so that Kaeru can also use it.

6 years agoFix frame duration calculation in Kaeru; could throw speedcontrol off.
Steinar H. Gunderson [Mon, 10 Jul 2017 10:07:05 +0000 (12:07 +0200)]
Fix frame duration calculation in Kaeru; could throw speedcontrol off.

6 years agoAdd latency metrics to Kaeru.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:37:16 +0000 (15:37 +0200)]
Add latency metrics to Kaeru.

6 years agoAdd mux metrics to Kaeru.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:25:06 +0000 (15:25 +0200)]
Add mux metrics to Kaeru.

6 years agoAdd support for adjusting the x264 bitrate in Kaeru through sending SIGUSR1 and SIGUSR2.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:22:06 +0000 (15:22 +0200)]
Add support for adjusting the x264 bitrate in Kaeru through sending SIGUSR1 and SIGUSR2.

6 years agoFix the kanji in Kaeru.
Steinar H. Gunderson [Sun, 9 Jul 2017 13:11:33 +0000 (15:11 +0200)]
Fix the kanji in Kaeru.

6 years agoUpdate the feature list, a bit overdue.
Steinar H. Gunderson [Sun, 9 Jul 2017 09:11:13 +0000 (11:11 +0200)]
Update the feature list, a bit overdue.

6 years agoRelease Nageru 1.6.1. 1.6.1
Steinar H. Gunderson [Sat, 8 Jul 2017 23:45:59 +0000 (01:45 +0200)]
Release Nageru 1.6.1.

6 years agoInclude an example Grafana dashboard.
Steinar H. Gunderson [Sat, 8 Jul 2017 23:45:02 +0000 (01:45 +0200)]
Include an example Grafana dashboard.

6 years agoInstall kaeru on make install.
Steinar H. Gunderson [Sat, 8 Jul 2017 23:43:17 +0000 (01:43 +0200)]
Install kaeru on make install.

6 years agoBuild Kaeru by default.
Steinar H. Gunderson [Sat, 8 Jul 2017 22:46:58 +0000 (00:46 +0200)]
Build Kaeru by default.

6 years agoAdd support for transcoding the audio in Kaeru (on by default).
Steinar H. Gunderson [Sat, 8 Jul 2017 16:43:39 +0000 (18:43 +0200)]
Add support for transcoding the audio in Kaeru (on by default).

6 years agoAdd support to FFmpegCapture to decode the audio.
Steinar H. Gunderson [Sat, 8 Jul 2017 11:45:13 +0000 (13:45 +0200)]
Add support to FFmpegCapture to decode the audio.

6 years agoInitial check-in of Kaeru, a simple transcoder based on Nageru code.
Steinar H. Gunderson [Fri, 7 Jul 2017 16:02:04 +0000 (18:02 +0200)]
Initial check-in of Kaeru, a simple transcoder based on Nageru code.

6 years agoFix a problem where we could wait for a very long time for the first frame on FFmpeg...
Steinar H. Gunderson [Thu, 6 Jul 2017 22:25:48 +0000 (00:25 +0200)]
Fix a problem where we could wait for a very long time for the first frame on FFmpeg inputs.

6 years agoUn-name the main thread again, since it makes killall stop working.
Steinar H. Gunderson [Wed, 5 Jul 2017 18:04:37 +0000 (20:04 +0200)]
Un-name the main thread again, since it makes killall stop working.

6 years agoUpdated the Debian status.
Steinar H. Gunderson [Wed, 5 Jul 2017 07:50:41 +0000 (09:50 +0200)]
Updated the Debian status.

6 years agoUse the new Movit VAO functionality.
Steinar H. Gunderson [Tue, 4 Jul 2017 23:12:59 +0000 (01:12 +0200)]
Use the new Movit VAO functionality.

See the Movit changelog for full rationale, but basically it works
around a crash bug in NVIDIA's drivers.

6 years agoFix a typo/thinko in the five-frames-ahead logic.
Steinar H. Gunderson [Tue, 4 Jul 2017 20:37:36 +0000 (22:37 +0200)]
Fix a typo/thinko in the five-frames-ahead logic.

6 years agoOptimize away some glGetUniformLocation calls.
Steinar H. Gunderson [Sun, 2 Jul 2017 09:30:39 +0000 (11:30 +0200)]
Optimize away some glGetUniformLocation calls.

6 years agoHard-code CQP mode instead of keeping VBR at the top. Fixes a crash with i965-va...
Steinar H. Gunderson [Fri, 30 Jun 2017 21:58:39 +0000 (23:58 +0200)]
Hard-code CQP mode instead of keeping VBR at the top. Fixes a crash with i965-va-driver 1.8.x, which now supports VBR.

6 years agoMove audio encoding over to its own mutex, again reducing mutex contention.
Steinar H. Gunderson [Thu, 29 Jun 2017 21:47:34 +0000 (23:47 +0200)]
Move audio encoding over to its own mutex, again reducing mutex contention.

6 years agoDon't bother adding audio for silent cards.
Steinar H. Gunderson [Thu, 29 Jun 2017 21:10:00 +0000 (23:10 +0200)]
Don't bother adding audio for silent cards.

6 years agoOnly report disk space anew every second. Saves 20% CPU or so on the UI thread (!).
Steinar H. Gunderson [Thu, 29 Jun 2017 20:53:24 +0000 (22:53 +0200)]
Only report disk space anew every second. Saves 20% CPU or so on the UI thread (!).

6 years agoFix a thread race on the jitter history, potentially leading to crashes.
Steinar H. Gunderson [Thu, 29 Jun 2017 20:21:48 +0000 (22:21 +0200)]
Fix a thread race on the jitter history, potentially leading to crashes.

6 years agoAdd a summary for the amount of margin we have in reaching the output clock (ie....
Steinar H. Gunderson [Thu, 29 Jun 2017 19:34:44 +0000 (21:34 +0200)]
Add a summary for the amount of margin we have in reaching the output clock (ie., whether we are early or late).

6 years agoWrite video to disk on a background thread; reduces mutex contention a fair bit when...
Steinar H. Gunderson [Thu, 29 Jun 2017 19:20:03 +0000 (21:20 +0200)]
Write video to disk on a background thread; reduces mutex contention a fair bit when recording to slow disks.

6 years agoFix a small memory leak.
Steinar H. Gunderson [Thu, 29 Jun 2017 19:15:29 +0000 (21:15 +0200)]
Fix a small memory leak.

6 years agoDo some hotfixes to reduce mutex contention (but this needs a rework).
Steinar H. Gunderson [Wed, 28 Jun 2017 22:57:01 +0000 (00:57 +0200)]
Do some hotfixes to reduce mutex contention (but this needs a rework).

6 years agoYield instead of busy-waiting on fences for NVIDIA cards.
Steinar H. Gunderson [Wed, 28 Jun 2017 19:34:58 +0000 (21:34 +0200)]
Yield instead of busy-waiting on fences for NVIDIA cards.

6 years agoGive the UI thread a name.
Steinar H. Gunderson [Wed, 28 Jun 2017 18:39:16 +0000 (20:39 +0200)]
Give the UI thread a name.

6 years agoFix a use-after-free when using video inputs. Found by GCC's -fsanitize=address.
Steinar H. Gunderson [Wed, 28 Jun 2017 17:50:32 +0000 (19:50 +0200)]
Fix a use-after-free when using video inputs. Found by GCC's -fsanitize=address.

6 years agoRework the queue drop algorithm again.
Steinar H. Gunderson [Sun, 25 Jun 2017 14:41:47 +0000 (16:41 +0200)]
Rework the queue drop algorithm again.

The old one worked fine for most cases, but when two cards drift
very slowly out of sync (and one of them is the master), it's inadequate;
we should simply drop one frame at the right moment and be done with it.
Of course, knowing what the right moment is can be tricky, due to jitter,
which we now explicitly model.

Also include a separate program that tests various properties of different
possible policies (used to determine which one to use), based on replaying
real event logs.

6 years agoSet realtime priority for the DeckLink thread if possible, to reduce jitter.
Steinar H. Gunderson [Sat, 24 Jun 2017 19:48:32 +0000 (21:48 +0200)]
Set realtime priority for the DeckLink thread if possible, to reduce jitter.

6 years agoRemove old card metrics when reinitializing cards.
Steinar H. Gunderson [Sat, 24 Jun 2017 17:42:02 +0000 (19:42 +0200)]
Remove old card metrics when reinitializing cards.

6 years agoFix a lock that was held too long in an edge case.
Steinar H. Gunderson [Thu, 22 Jun 2017 23:20:49 +0000 (01:20 +0200)]
Fix a lock that was held too long in an edge case.

6 years agoFix another Prometheus NaN problem.
Steinar H. Gunderson [Wed, 21 Jun 2017 19:50:37 +0000 (21:50 +0200)]
Fix another Prometheus NaN problem.

6 years agoAdd a metric for number of received frames per input, so that one can measure _actual...
Steinar H. Gunderson [Sat, 17 Jun 2017 16:51:01 +0000 (18:51 +0200)]
Add a metric for number of received frames per input, so that one can measure _actual_ fps.

6 years agoFix a metric name.
Steinar H. Gunderson [Sat, 17 Jun 2017 14:06:11 +0000 (16:06 +0200)]
Fix a metric name.

6 years agoAdd a summary for aggregated b-frame or not, since they are in general unaggregatable.
Steinar H. Gunderson [Sat, 17 Jun 2017 14:04:18 +0000 (16:04 +0200)]
Add a summary for aggregated b-frame or not, since they are in general unaggregatable.

6 years agoCorrect the scale of the memory metrics.
Steinar H. Gunderson [Sat, 17 Jun 2017 13:23:25 +0000 (15:23 +0200)]
Correct the scale of the memory metrics.

6 years agoFix compilation with Clang.
Steinar H. Gunderson [Sat, 17 Jun 2017 12:53:27 +0000 (14:53 +0200)]
Fix compilation with Clang.

6 years agoSwitch to summaries instead of histograms for latency; they were not getting precise...
Steinar H. Gunderson [Sat, 17 Jun 2017 12:40:42 +0000 (14:40 +0200)]
Switch to summaries instead of histograms for latency; they were not getting precise enough unless we had huge amounts of buckets.

6 years agoFix a pessimizing move (Clang warning).
Steinar H. Gunderson [Sat, 17 Jun 2017 12:03:30 +0000 (14:03 +0200)]
Fix a pessimizing move (Clang warning).

6 years agoSilence a Clang warning.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:56:51 +0000 (13:56 +0200)]
Silence a Clang warning.

6 years agoFix a Clang error.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:56:43 +0000 (13:56 +0200)]
Fix a Clang error.

6 years agoConsistently use call_once to initialize static metrics.
Steinar H. Gunderson [Sat, 17 Jun 2017 12:00:45 +0000 (14:00 +0200)]
Consistently use call_once to initialize static metrics.

6 years agoFix a crash with --record-x264-video when getting metrics.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:58:07 +0000 (13:58 +0200)]
Fix a crash with --record-x264-video when getting metrics.

6 years agoFix compilation error.
Steinar H. Gunderson [Sat, 17 Jun 2017 11:45:00 +0000 (13:45 +0200)]
Fix compilation error.

6 years agoUpdate the queue length metric after trimming, not before.
Steinar H. Gunderson [Thu, 15 Jun 2017 17:33:01 +0000 (19:33 +0200)]
Update the queue length metric after trimming, not before.

6 years agoUnbreak the min/max latency stdout display; it did not ignore non-timestamps properly.
Steinar H. Gunderson [Thu, 15 Jun 2017 16:28:24 +0000 (18:28 +0200)]
Unbreak the min/max latency stdout display; it did not ignore non-timestamps properly.

6 years agoMake separate latencies per card, instead of just min and max.
Steinar H. Gunderson [Thu, 15 Jun 2017 16:22:04 +0000 (18:22 +0200)]
Make separate latencies per card, instead of just min and max.

6 years agoFix a problem where Prometheus cannot handle negative NaNs.
Steinar H. Gunderson [Thu, 15 Jun 2017 15:21:56 +0000 (17:21 +0200)]
Fix a problem where Prometheus cannot handle negative NaNs.

6 years agoTighten up the Movit #include paths a bit; fixes compilation error in some cases.
Steinar H. Gunderson [Thu, 15 Jun 2017 07:44:26 +0000 (09:44 +0200)]
Tighten up the Movit #include paths a bit; fixes compilation error in some cases.

6 years agoAdd support for bus audio level metrics, which includes support for removing metrics.
Steinar H. Gunderson [Tue, 13 Jun 2017 21:53:19 +0000 (23:53 +0200)]
Add support for bus audio level metrics, which includes support for removing metrics.

6 years agoPre-serialize only the labels for metrics; the ordering constraints did not really...
Steinar H. Gunderson [Tue, 13 Jun 2017 21:30:37 +0000 (23:30 +0200)]
Pre-serialize only the labels for metrics; the ordering constraints did not really feel too safe.

6 years agoStore the metrics sorted.
Steinar H. Gunderson [Mon, 12 Jun 2017 22:47:45 +0000 (00:47 +0200)]
Store the metrics sorted.

This makes it easier to remove them later (since you can index by
name), which we're going to need.

6 years agoExpose a metric for the free disk space (already possible via the normal node exporte...
Steinar H. Gunderson [Mon, 12 Jun 2017 21:37:18 +0000 (23:37 +0200)]
Expose a metric for the free disk space (already possible via the normal node exporter, but with this one, you don't need to hunt for the right filesystem).

6 years agoExpose a metric for Nageru being stalled on the Quick Sync encoder.
Steinar H. Gunderson [Mon, 12 Jun 2017 20:33:29 +0000 (22:33 +0200)]
Expose a metric for Nageru being stalled on the Quick Sync encoder.

6 years agoExpose when we started the current output file.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:56:49 +0000 (21:56 +0200)]
Expose when we started the current output file.

6 years agoStart times should be gauges, not counters.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:55:19 +0000 (21:55 +0200)]
Start times should be gauges, not counters.

6 years agoFix a problem where not all Quick Sync metrics would get initialized.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:53:18 +0000 (21:53 +0200)]
Fix a problem where not all Quick Sync metrics would get initialized.

6 years agoExpose the start time point instead of the uptime, as per Prometheus recommendations.
Steinar H. Gunderson [Mon, 12 Jun 2017 19:52:09 +0000 (21:52 +0200)]
Expose the start time point instead of the uptime, as per Prometheus recommendations.

6 years agoAdded some mux metrics.
Steinar H. Gunderson [Mon, 12 Jun 2017 18:06:00 +0000 (20:06 +0200)]
Added some mux metrics.

6 years agoFix a crash on getting metrics after switching file.
Steinar H. Gunderson [Mon, 12 Jun 2017 18:04:36 +0000 (20:04 +0200)]
Fix a crash on getting metrics after switching file.

6 years agoAdd some DeckLink output metrics, and also fix a potential crash.
Steinar H. Gunderson [Sun, 11 Jun 2017 20:59:26 +0000 (22:59 +0200)]
Add some DeckLink output metrics, and also fix a potential crash.