]> git.sesse.net Git - nageru/log
nageru
5 years agoRemove one level of indentation from Player::thread_func.
Steinar H. Gunderson [Fri, 28 Dec 2018 10:15:50 +0000 (11:15 +0100)]
Remove one level of indentation from Player::thread_func.

5 years agoMove from unique_lock to lock_guard everywhere we can. Perhaps ever so slightly clear...
Steinar H. Gunderson [Fri, 28 Dec 2018 09:48:14 +0000 (10:48 +0100)]
Move from unique_lock to lock_guard everywhere we can. Perhaps ever so slightly clearer to read the intent.

5 years agoFix a minor unneeded unlock/lock.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:31:45 +0000 (00:31 +0100)]
Fix a minor unneeded unlock/lock.

5 years agoFix some silly indentation.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:30:31 +0000 (00:30 +0100)]
Fix some silly indentation.

5 years agoUpdate a comment after the previous commit.
Steinar H. Gunderson [Thu, 27 Dec 2018 23:22:08 +0000 (00:22 +0100)]
Update a comment after the previous commit.

5 years agoMove the to-play playlist into Player.
Steinar H. Gunderson [Thu, 27 Dec 2018 22:02:25 +0000 (23:02 +0100)]
Move the to-play playlist into Player.

This eradicates the ugly callback into MainWindow to get the next clip,
gives Player much more control, and in general makes things a lot more
predictable.  Right now, this means you can no longer edit the playlist
while it's playing, but we're going to reintroduce that (in a somewhat
limited form) fairly soon.

5 years agoFix an indentation issue.
Steinar H. Gunderson [Wed, 26 Dec 2018 22:45:12 +0000 (23:45 +0100)]
Fix an indentation issue.

5 years agoSimplify timebase handling in Mux a bit.
Steinar H. Gunderson [Tue, 25 Dec 2018 11:35:18 +0000 (12:35 +0100)]
Simplify timebase handling in Mux a bit.

5 years agoRemove the redundant with_audio parameter from the Mux constructor.
Steinar H. Gunderson [Mon, 24 Dec 2018 22:12:39 +0000 (23:12 +0100)]
Remove the redundant with_audio parameter from the Mux constructor.

5 years agoCache computed flow between textures.
Steinar H. Gunderson [Mon, 24 Dec 2018 13:26:44 +0000 (14:26 +0100)]
Cache computed flow between textures.

Flow computation is over half the computational burden for making a frame,
and in super-slow cases (more than 2x), we'll reuse the same flow many times.

5 years agoRemove a metric that's irrelevant for Futatabi.
Steinar H. Gunderson [Mon, 24 Dec 2018 11:07:10 +0000 (12:07 +0100)]
Remove a metric that's irrelevant for Futatabi.

5 years agoAdd metrics for JPEG decoding.
Steinar H. Gunderson [Mon, 24 Dec 2018 11:00:42 +0000 (12:00 +0100)]
Add metrics for JPEG decoding.

5 years agoAdd a summary for received frame sizes.
Steinar H. Gunderson [Mon, 24 Dec 2018 10:17:55 +0000 (11:17 +0100)]
Add a summary for received frame sizes.

5 years agoAdd metrics for reading frames from disk.
Steinar H. Gunderson [Mon, 24 Dec 2018 10:07:19 +0000 (11:07 +0100)]
Add metrics for reading frames from disk.

5 years agoAdd some metrics for HTTP output.
Steinar H. Gunderson [Mon, 24 Dec 2018 00:27:50 +0000 (01:27 +0100)]
Add some metrics for HTTP output.

5 years agoPrefix all the Futatabi Prometheus metrics by futatabi_ instead of nageru_.
Steinar H. Gunderson [Sun, 23 Dec 2018 23:39:17 +0000 (00:39 +0100)]
Prefix all the Futatabi Prometheus metrics by futatabi_ instead of nageru_.

5 years agoAdd a Futatabi metric for number of received frames.
Steinar H. Gunderson [Sun, 23 Dec 2018 23:33:41 +0000 (00:33 +0100)]
Add a Futatabi metric for number of received frames.

5 years agoLocalize DeckLink warning suppression to only the DeckLink headers and sources.
Steinar H. Gunderson [Sun, 23 Dec 2018 17:27:21 +0000 (18:27 +0100)]
Localize DeckLink warning suppression to only the DeckLink headers and sources.

5 years agoWhen exporting interpolated files, make sure they are seekable.
Steinar H. Gunderson [Sun, 23 Dec 2018 00:18:34 +0000 (01:18 +0100)]
When exporting interpolated files, make sure they are seekable.

5 years agoIf the Futatabi source URL is empty or /dev/null, don't bother trying to open it.
Steinar H. Gunderson [Sun, 23 Dec 2018 00:11:54 +0000 (01:11 +0100)]
If the Futatabi source URL is empty or /dev/null, don't bother trying to open it.

5 years agoFix a follow-up error introduced when fixing a Coverity Scan issue.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:37:57 +0000 (00:37 +0100)]
Fix a follow-up error introduced when fixing a Coverity Scan issue.

5 years agoAvoid a time-to-check-versus-time-of-use error on mkdir().
Steinar H. Gunderson [Fri, 21 Dec 2018 23:13:46 +0000 (00:13 +0100)]
Avoid a time-to-check-versus-time-of-use error on mkdir().

Found by Coverity Scan. Not relevant in practice, since we do not
support running on untrusted data.

5 years agoMake Ebu_r128_proc::Ebu_r128_proc() not move uninitialized variables around.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:11:36 +0000 (00:11 +0100)]
Make Ebu_r128_proc::Ebu_r128_proc() not move uninitialized variables around.

It doesn't matter since init() will be called immediately afterwards,
but it silences Coverity Scan.

5 years agoIn Theme::get_chain(), send InputState by reference instead of value.
Steinar H. Gunderson [Fri, 21 Dec 2018 23:08:10 +0000 (00:08 +0100)]
In Theme::get_chain(), send InputState by reference instead of value.

It's ~2 kB, and we also don't have to fiddle as many refcounts around.
It's only once per channel per frame, though.

Found by Coverity Scan.

5 years agoCheck VAStatus of some destroyed objects.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:53:51 +0000 (23:53 +0100)]
Check VAStatus of some destroyed objects.

Irrelevant, but still good style. Found by Coverity Scan.

5 years agoFix some more very unlikely Coverity Scan issues.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:52:42 +0000 (23:52 +0100)]
Fix some more very unlikely Coverity Scan issues.

5 years agoFix a leak in test code.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:42:34 +0000 (23:42 +0100)]
Fix a leak in test code.

Found by Coverity Scan.

5 years agoUnbreak embedded bmusb.
Steinar H. Gunderson [Fri, 21 Dec 2018 22:42:31 +0000 (23:42 +0100)]
Unbreak embedded bmusb.

5 years agoRemove an unneeded check.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:39:21 +0000 (22:39 +0100)]
Remove an unneeded check.

Found by Coverity Scan.

5 years agoRemove an unneeded nullptr check.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:38:42 +0000 (22:38 +0100)]
Remove an unneeded nullptr check.

Indirectly found by Coverity Scan.

5 years agoSilence another Coverity Scan warning.
Steinar H. Gunderson [Fri, 21 Dec 2018 21:36:26 +0000 (22:36 +0100)]
Silence another Coverity Scan warning.

5 years agoFix another Coverity Scan issue that really should not happen in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 18:23:19 +0000 (19:23 +0100)]
Fix another Coverity Scan issue that really should not happen in practice.

5 years agoFix another Coverity Scan issue that really should not happen in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 18:14:01 +0000 (19:14 +0100)]
Fix another Coverity Scan issue that really should not happen in practice.

5 years agoFix a Coverity Scan issue that is irrelevant in practice.
Steinar H. Gunderson [Fri, 21 Dec 2018 16:15:55 +0000 (17:15 +0100)]
Fix a Coverity Scan issue that is irrelevant in practice.

5 years agoAdd libjpeg-dev to the apt list.
Steinar H. Gunderson [Fri, 21 Dec 2018 15:13:41 +0000 (16:13 +0100)]
Add libjpeg-dev to the apt list.

5 years agoAdd cue point padding, where a clip is elongated (in both directions) by some given...
Steinar H. Gunderson [Fri, 21 Dec 2018 14:17:47 +0000 (15:17 +0100)]
Add cue point padding, where a clip is elongated (in both directions) by some given time to compensate for operator reaction time and fades.

5 years agoUse get_pkgconfig_variable() instead of calling pkg-config manually.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:52:41 +0000 (16:52 +0100)]
Use get_pkgconfig_variable() instead of calling pkg-config manually.

5 years agoMake the SDL dependencies optional.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:50:30 +0000 (16:50 +0100)]
Make the SDL dependencies optional.

5 years agoUpdate the textual list of dependencies in the README.
Steinar H. Gunderson [Thu, 20 Dec 2018 15:17:04 +0000 (16:17 +0100)]
Update the textual list of dependencies in the README.

5 years agoRemove the LuaJIT 2.0 compatibility shims.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:42:53 +0000 (15:42 +0100)]
Remove the LuaJIT 2.0 compatibility shims.

5 years agoMove to FFmpeg 4.0 APIs, fixing the deprecation warnings.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:41:57 +0000 (15:41 +0100)]
Move to FFmpeg 4.0 APIs, fixing the deprecation warnings.

5 years agoDrop stretch compatibility, now that buster is nearing freeze.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:30:46 +0000 (15:30 +0100)]
Drop stretch compatibility, now that buster is nearing freeze.

5 years agoAdd a missing #include.
Steinar H. Gunderson [Thu, 20 Dec 2018 14:30:07 +0000 (15:30 +0100)]
Add a missing #include.

5 years agoRelease Nageru and Futatabi 1.8.0. 1.8.0
Steinar H. Gunderson [Wed, 19 Dec 2018 23:01:20 +0000 (00:01 +0100)]
Release Nageru and Futatabi 1.8.0.

5 years agoDefault to two cameras instead of one, since otherwise, the UI looks pretty borked.
Steinar H. Gunderson [Wed, 19 Dec 2018 23:22:34 +0000 (00:22 +0100)]
Default to two cameras instead of one, since otherwise, the UI looks pretty borked.

5 years agoDocument the undocumentedness of Futatabi.
Steinar H. Gunderson [Wed, 19 Dec 2018 22:55:26 +0000 (23:55 +0100)]
Document the undocumentedness of Futatabi.

5 years agoImprove frame snapping in difficult cases.
Steinar H. Gunderson [Wed, 19 Dec 2018 19:30:26 +0000 (20:30 +0100)]
Improve frame snapping in difficult cases.

5 years agoFix some GCC warnings.
Steinar H. Gunderson [Tue, 18 Dec 2018 23:34:14 +0000 (00:34 +0100)]
Fix some GCC warnings.

5 years agoAdd support for querying tally information from Nageru.
Steinar H. Gunderson [Tue, 18 Dec 2018 23:30:23 +0000 (00:30 +0100)]
Add support for querying tally information from Nageru.

5 years agoFix a variable conflict in the Meson build files.
Steinar H. Gunderson [Tue, 18 Dec 2018 22:53:49 +0000 (23:53 +0100)]
Fix a variable conflict in the Meson build files.

5 years agoRemove a duplicate dependency.
Steinar H. Gunderson [Tue, 18 Dec 2018 21:46:47 +0000 (22:46 +0100)]
Remove a duplicate dependency.

5 years agoSupport per-clip variable speed.
Steinar H. Gunderson [Tue, 18 Dec 2018 14:04:11 +0000 (15:04 +0100)]
Support per-clip variable speed.

5 years agoMake the number of cameras dynamic as the frames come in.
Steinar H. Gunderson [Mon, 17 Dec 2018 23:29:07 +0000 (00:29 +0100)]
Make the number of cameras dynamic as the frames come in.

5 years agoWhen previewing the playlist time, use compute_time_left().
Steinar H. Gunderson [Sun, 16 Dec 2018 21:44:49 +0000 (22:44 +0100)]
When previewing the playlist time, use compute_time_left().

Less code duplication, and also fixes an issue where the fade time
would not be counted correctly.

5 years agoMake the UI programmatically dependent on NUM_CAMERAS.
Steinar H. Gunderson [Sun, 16 Dec 2018 21:33:18 +0000 (22:33 +0100)]
Make the UI programmatically dependent on NUM_CAMERAS.

5 years agoFix a Clang warning.
Steinar H. Gunderson [Sun, 16 Dec 2018 18:10:39 +0000 (19:10 +0100)]
Fix a Clang warning.

5 years agoFix a Clang error.
Steinar H. Gunderson [Sun, 16 Dec 2018 18:10:13 +0000 (19:10 +0100)]
Fix a Clang error.

5 years agoDocument that we need SQLite for Futatabi.
Steinar H. Gunderson [Sun, 16 Dec 2018 09:14:26 +0000 (10:14 +0100)]
Document that we need SQLite for Futatabi.

5 years agoAdd a stop button.
Steinar H. Gunderson [Sat, 15 Dec 2018 22:59:34 +0000 (23:59 +0100)]
Add a stop button.

5 years agoFix interpolation quality of exported clips.
Steinar H. Gunderson [Sat, 15 Dec 2018 22:16:32 +0000 (23:16 +0100)]
Fix interpolation quality of exported clips.

5 years agoPersist quality settings in the database.
Steinar H. Gunderson [Sat, 15 Dec 2018 20:54:36 +0000 (21:54 +0100)]
Persist quality settings in the database.

5 years agoImplement undo/redo.
Steinar H. Gunderson [Sat, 15 Dec 2018 15:08:51 +0000 (16:08 +0100)]
Implement undo/redo.

5 years agoSupport exporting multiple clips of a playlist, with fades and all.
Steinar H. Gunderson [Fri, 14 Dec 2018 23:39:05 +0000 (00:39 +0100)]
Support exporting multiple clips of a playlist, with fades and all.

5 years agoFix an issue where fade times would be zero seconds if the next clip was less than...
Steinar H. Gunderson [Fri, 14 Dec 2018 23:32:39 +0000 (00:32 +0100)]
Fix an issue where fade times would be zero seconds if the next clip was less than a second.

5 years agoFactor out estimated time left calculation into its own function.
Steinar H. Gunderson [Fri, 14 Dec 2018 23:17:52 +0000 (00:17 +0100)]
Factor out estimated time left calculation into its own function.

5 years agoInstall futatabi on ninja install.
Steinar H. Gunderson [Fri, 14 Dec 2018 20:25:44 +0000 (21:25 +0100)]
Install futatabi on ninja install.

5 years agoAdd Shift and Alt modifiers for scrubbing.
Steinar H. Gunderson [Fri, 14 Dec 2018 20:11:15 +0000 (21:11 +0100)]
Add Shift and Alt modifiers for scrubbing.

5 years agoMake Futatabi output frame rate adjustable.
Steinar H. Gunderson [Fri, 14 Dec 2018 19:15:06 +0000 (20:15 +0100)]
Make Futatabi output frame rate adjustable.

5 years agoThere's no point in having Player in export_interpolated_clip() be allocated on the...
Steinar H. Gunderson [Thu, 13 Dec 2018 19:47:13 +0000 (20:47 +0100)]
There's no point in having Player in export_interpolated_clip() be allocated on the heap.

5 years agoFix another shutdown hang.
Steinar H. Gunderson [Thu, 13 Dec 2018 19:38:15 +0000 (20:38 +0100)]
Fix another shutdown hang.

5 years agoFix an issue where pts would get clamped to zero if we had not read any frames yet.
Steinar H. Gunderson [Thu, 13 Dec 2018 19:32:45 +0000 (20:32 +0100)]
Fix an issue where pts would get clamped to zero if we had not read any frames yet.

5 years agoSupport exporting interpolated singletrack video. Probably tickles leaks in Player...
Steinar H. Gunderson [Thu, 13 Dec 2018 19:27:52 +0000 (20:27 +0100)]
Support exporting interpolated singletrack video. Probably tickles leaks in Player, though.

5 years agoAdd a multitrack export action.
Steinar H. Gunderson [Wed, 12 Dec 2018 23:57:53 +0000 (00:57 +0100)]
Add a multitrack export action.

5 years agoAdd some binary search helpers.
Steinar H. Gunderson [Wed, 12 Dec 2018 23:36:03 +0000 (00:36 +0100)]
Add some binary search helpers.

5 years agoFix some Futatabi shutdown problems.
Steinar H. Gunderson [Wed, 12 Dec 2018 21:30:51 +0000 (22:30 +0100)]
Fix some Futatabi shutdown problems.

5 years agoChange default Futatabi port so that it does not conflict with Nageru.
Steinar H. Gunderson [Wed, 12 Dec 2018 21:04:05 +0000 (22:04 +0100)]
Change default Futatabi port so that it does not conflict with Nageru.

5 years agoSupport turning off interpolation.
Steinar H. Gunderson [Wed, 12 Dec 2018 20:55:11 +0000 (21:55 +0100)]
Support turning off interpolation.

5 years agoWhen adding a new clip, scroll to the bottom.
Steinar H. Gunderson [Mon, 10 Dec 2018 21:58:16 +0000 (22:58 +0100)]
When adding a new clip, scroll to the bottom.

5 years agoMake width/height configurable in Futatabi.
Steinar H. Gunderson [Mon, 10 Dec 2018 21:13:12 +0000 (22:13 +0100)]
Make width/height configurable in Futatabi.

5 years agoFix a 1280x720 hardcoding, replacing it by another one.
Steinar H. Gunderson [Mon, 10 Dec 2018 21:06:27 +0000 (22:06 +0100)]
Fix a 1280x720 hardcoding, replacing it by another one.

5 years agoMake the apt line include Meson.
Steinar H. Gunderson [Sun, 9 Dec 2018 23:11:47 +0000 (00:11 +0100)]
Make the apt line include Meson.

5 years agoFix a bad snapping bug that was introduced with the change to the new storage format.
Steinar H. Gunderson [Mon, 10 Dec 2018 19:27:35 +0000 (20:27 +0100)]
Fix a bad snapping bug that was introduced with the change to the new storage format.

5 years agoFix an issue where we would lose track of the time scale during fades, causing us...
Steinar H. Gunderson [Mon, 10 Dec 2018 19:27:19 +0000 (20:27 +0100)]
Fix an issue where we would lose track of the time scale during fades, causing us to output too many frames and build up delay over time.

5 years agoMove another file left behind during the directory move.
Steinar H. Gunderson [Sun, 9 Dec 2018 22:21:13 +0000 (23:21 +0100)]
Move another file left behind during the directory move.

5 years agoIf the input stream ends or errors out, restart it.
Steinar H. Gunderson [Sun, 9 Dec 2018 17:28:40 +0000 (18:28 +0100)]
If the input stream ends or errors out, restart it.

5 years agoFix a hang when storing frame files.
Steinar H. Gunderson [Sun, 9 Dec 2018 17:25:49 +0000 (18:25 +0100)]
Fix a hang when storing frame files.

5 years agoDon't die on libjpeg errors.
Steinar H. Gunderson [Sat, 8 Dec 2018 21:10:16 +0000 (22:10 +0100)]
Don't die on libjpeg errors.

Makes everything significantly more robust to broken JPEGs.

5 years agoFlatten Meson build files.
Steinar H. Gunderson [Fri, 7 Dec 2018 18:56:24 +0000 (19:56 +0100)]
Flatten Meson build files.

If we have subdir('nageru'), we get ./nageru/nageru, which is really
annoying. Flatten out everything; it's uglier, but much more pleasant
to work with from the user side.

5 years agoGive Futatabi an about/license dialog, and the same manual link as Nageru.
Steinar H. Gunderson [Thu, 6 Dec 2018 19:29:03 +0000 (20:29 +0100)]
Give Futatabi an about/license dialog, and the same manual link as Nageru.

5 years agoMake the Nageru version settable from the Meson configuration.
Steinar H. Gunderson [Thu, 6 Dec 2018 18:42:13 +0000 (19:42 +0100)]
Make the Nageru version settable from the Meson configuration.

5 years agoMake VA-API encoded MJPEGs be encoded asynchronously.
Steinar H. Gunderson [Sun, 11 Nov 2018 16:58:24 +0000 (17:58 +0100)]
Make VA-API encoded MJPEGs be encoded asynchronously.

This also frees up the mixer thread, which was stuck locking on the mutex
whenever something was under encoding.

5 years agoAdd an option to control the mapping of streams to export to MJPEG (or turn it off...
Steinar H. Gunderson [Mon, 12 Nov 2018 00:02:42 +0000 (01:02 +0100)]
Add an option to control the mapping of streams to export to MJPEG (or turn it off entirely, although that is probably not very useful).

5 years agoOnly bother doing MJPEG encoding if there are any connected clients that want the...
Steinar H. Gunderson [Sun, 11 Nov 2018 17:29:45 +0000 (18:29 +0100)]
Only bother doing MJPEG encoding if there are any connected clients that want the stream.

5 years agoFix a cleanup issue.
Steinar H. Gunderson [Thu, 6 Dec 2018 17:39:02 +0000 (18:39 +0100)]
Fix a cleanup issue.

In newer Qt, evidently when using the close button on the window
(not when calling close() as a result of a menu item!), the GLWidgets'
contexts will be gone by the time app.exec() returns, preventing us
from doing proper cleanup. Do the mixer cleanup in closeEvent() instead,
fixing the issue.

5 years agoFix some leaks in MJPEGEncoder.
Steinar H. Gunderson [Thu, 6 Dec 2018 16:55:57 +0000 (17:55 +0100)]
Fix some leaks in MJPEGEncoder.

5 years agoAdd a hack to FFmpegCapture for decoding Futatabi's Y'CbCr streams correctly.
Steinar H. Gunderson [Wed, 5 Dec 2018 19:20:08 +0000 (20:20 +0100)]
Add a hack to FFmpegCapture for decoding Futatabi's Y'CbCr streams correctly.

5 years agoSwitch to Matroska for Futatabi's output video stream, as it is much better at preser...
Steinar H. Gunderson [Tue, 4 Dec 2018 23:41:21 +0000 (00:41 +0100)]
Switch to Matroska for Futatabi's output video stream, as it is much better at preserving Y'CbCr details.

5 years agoStop setting nobuffer for FFmpeg inputs; it seems it only really affects buffering...
Steinar H. Gunderson [Tue, 4 Dec 2018 23:40:11 +0000 (00:40 +0100)]
Stop setting nobuffer for FFmpeg inputs; it seems it only really affects buffering during probing, and messes up probing of some colorspace information permanently.

5 years agoSet a FFmpeg-private JPEG marker to signal some Y'CbCr information.
Steinar H. Gunderson [Tue, 4 Dec 2018 22:15:05 +0000 (23:15 +0100)]
Set a FFmpeg-private JPEG marker to signal some Y'CbCr information.

5 years agoBump bmusb requirement.
Steinar H. Gunderson [Tue, 4 Dec 2018 17:58:56 +0000 (18:58 +0100)]
Bump bmusb requirement.