]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Sun, 9 Dec 2018 17:28:40 +0000 (18:28 +0100)]
If the input stream ends or errors out, restart it.
Steinar H. Gunderson [Sun, 9 Dec 2018 17:25:49 +0000 (18:25 +0100)]
Fix a hang when storing frame files.
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.
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.
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.
Steinar H. Gunderson [Thu, 6 Dec 2018 18:42:13 +0000 (19:42 +0100)]
Make the Nageru version settable from the Meson configuration.
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.
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).
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.
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.
Steinar H. Gunderson [Thu, 6 Dec 2018 16:55:57 +0000 (17:55 +0100)]
Fix some leaks in MJPEGEncoder.
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.
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.
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.
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.
Steinar H. Gunderson [Tue, 4 Dec 2018 17:58:56 +0000 (18:58 +0100)]
Bump bmusb requirement.
Steinar H. Gunderson [Tue, 4 Dec 2018 17:45:35 +0000 (18:45 +0100)]
Unbreak lld support.
Steinar H. Gunderson [Tue, 4 Dec 2018 17:39:41 +0000 (18:39 +0100)]
Merge branch 'mjpeg'
Steinar H. Gunderson [Tue, 4 Dec 2018 00:04:43 +0000 (01:04 +0100)]
Remove unused muxer parameters from futatabi/defs.h (they are in the shared file now).
Steinar H. Gunderson [Mon, 3 Dec 2018 23:31:44 +0000 (00:31 +0100)]
Unbreak compilation with CEF.
Steinar H. Gunderson [Mon, 3 Dec 2018 22:42:10 +0000 (23:42 +0100)]
Fix software decoding of JPEGs in Futatabi.
Steinar H. Gunderson [Mon, 3 Dec 2018 21:56:03 +0000 (22:56 +0100)]
Update README for the move.
Steinar H. Gunderson [Mon, 3 Dec 2018 21:52:03 +0000 (22:52 +0100)]
Yet more moving into subdirectories.
Steinar H. Gunderson [Mon, 3 Dec 2018 21:50:27 +0000 (22:50 +0100)]
Move a Futatabi file that escaped the initial moving.
Steinar H. Gunderson [Mon, 3 Dec 2018 21:48:21 +0000 (22:48 +0100)]
Move most Nageru embedded shaders to the read_file() system.
Steinar H. Gunderson [Mon, 3 Dec 2018 19:26:47 +0000 (20:26 +0100)]
Move bin2h and read_file into shared/, so that Nageru can also use it.
Steinar H. Gunderson [Mon, 3 Dec 2018 19:03:40 +0000 (20:03 +0100)]
Unify disk_space_estimator.cpp from Nageru and Futatabi.
Steinar H. Gunderson [Mon, 3 Dec 2018 18:44:31 +0000 (19:44 +0100)]
Rename nageru/db.h to decibel.h, since it is confusing to also have futatabi/db.h that means database.
Steinar H. Gunderson [Mon, 3 Dec 2018 08:32:51 +0000 (09:32 +0100)]
Unify httpd.cpp from Nageru and Futatabi (whitespace differences, and metrics support).
Steinar H. Gunderson [Sun, 2 Dec 2018 20:20:25 +0000 (21:20 +0100)]
Unify context.cpp from Nageru and Futatabi.
Steinar H. Gunderson [Sun, 2 Dec 2018 16:25:28 +0000 (17:25 +0100)]
Remove an extra copy of memcpy_interleaved.cpp.
Steinar H. Gunderson [Sun, 2 Dec 2018 16:24:43 +0000 (17:24 +0100)]
Unify mux.cpp between Nageru and Futatabi.
Steinar H. Gunderson [Sat, 1 Dec 2018 23:40:54 +0000 (00:40 +0100)]
Combine ref_counted_gl_sync.h from Nageru and Futatabi. (Only whitespace differences.)
Steinar H. Gunderson [Sat, 1 Dec 2018 23:37:43 +0000 (00:37 +0100)]
Combine timebase.h from Nageru and Futatabi.
Steinar H. Gunderson [Sat, 1 Dec 2018 23:34:15 +0000 (00:34 +0100)]
Combine the Nageru and Futatabi files that are identical.
Steinar H. Gunderson [Sat, 1 Dec 2018 23:11:12 +0000 (00:11 +0100)]
Merge remote-tracking branch 'futatabi/master'
This merges Nageru and Futatabi, since they are fairly closely related
and also share a fair amount of code.
Steinar H. Gunderson [Sat, 1 Dec 2018 23:06:05 +0000 (00:06 +0100)]
Move everything into a separate futatabi/ subdir, for the upcoming merge with Futatabi.
Steinar H. Gunderson [Sat, 1 Dec 2018 23:02:29 +0000 (00:02 +0100)]
Move everything into a separate futatabi/ subdir, for the upcoming merge with Nageru.
Steinar H. Gunderson [Thu, 29 Nov 2018 19:53:07 +0000 (20:53 +0100)]
Remove frame files that do not exist from the database.
Steinar H. Gunderson [Tue, 27 Nov 2018 22:52:45 +0000 (23:52 +0100)]
Fix more issues with paths in the database.
Steinar H. Gunderson [Tue, 27 Nov 2018 22:51:24 +0000 (23:51 +0100)]
Move to a denormalized protobuf-based schema for frames; a bit faster (~2x), and much more compact (~2.5x).
Steinar H. Gunderson [Mon, 26 Nov 2018 23:55:36 +0000 (00:55 +0100)]
Allow symlinked frame files. Useful for testing.
Steinar H. Gunderson [Mon, 26 Nov 2018 23:55:26 +0000 (00:55 +0100)]
When storing frame files in the database, use the base name, so that -d does not matter.
Steinar H. Gunderson [Mon, 26 Nov 2018 23:35:29 +0000 (00:35 +0100)]
Add a progress bar on startup.
Steinar H. Gunderson [Sun, 25 Nov 2018 22:34:38 +0000 (23:34 +0100)]
Use SQLite to store metadata about finished frame files.
Steinar H. Gunderson [Sun, 25 Nov 2018 17:29:26 +0000 (18:29 +0100)]
Supposedly sqlite_prepare() is deprecated in favor of sqlite_prepare_v2().
Steinar H. Gunderson [Sat, 24 Nov 2018 21:48:44 +0000 (22:48 +0100)]
Cache file descriptors when reading frames, for better readahead and fewer syscalls.
Steinar H. Gunderson [Thu, 22 Nov 2018 23:48:15 +0000 (00:48 +0100)]
Change from file-per-frame to multiple files per frame.
This puts a lot less strain on the file system, and should hopefully
also make for much more sequential I/O, which is important when using
non-SSDs.
Steinar H. Gunderson [Tue, 13 Nov 2018 23:45:32 +0000 (00:45 +0100)]
Speed up the database writes a bit, especially when I/O is busy.
Steinar H. Gunderson [Tue, 13 Nov 2018 23:27:44 +0000 (00:27 +0100)]
Embed shaders into the binary.
Steinar H. Gunderson [Sun, 11 Nov 2018 12:56:51 +0000 (13:56 +0100)]
Release Nageru 1.7.5.
Steinar H. Gunderson [Sun, 14 Oct 2018 22:14:22 +0000 (00:14 +0200)]
Add functionality for MJPEG export.
This simply exports all incoming frames under /multicam.mp4,
as one big 4:2:2 MJPEG multi-video stream. The intended use is
for multi-camera recording, or for instant replay.
Steinar H. Gunderson [Sun, 11 Nov 2018 12:40:06 +0000 (13:40 +0100)]
Link with lld if available.
Steinar H. Gunderson [Wed, 7 Nov 2018 23:11:37 +0000 (00:11 +0100)]
Switch build systems to Meson.
Steinar H. Gunderson [Wed, 7 Nov 2018 23:05:31 +0000 (00:05 +0100)]
Rename ui_foo.ui to foo.ui; seemingly, it is more standard.
Steinar H. Gunderson [Wed, 7 Nov 2018 22:33:27 +0000 (23:33 +0100)]
Add a missing include guard.
Steinar H. Gunderson [Wed, 7 Nov 2018 22:19:07 +0000 (23:19 +0100)]
Fix some GCC 8 warnings.
Steinar H. Gunderson [Wed, 7 Nov 2018 18:31:15 +0000 (19:31 +0100)]
Add some missing includes to quicksync_encoder_impl.h.
Steinar H. Gunderson [Wed, 7 Nov 2018 17:04:49 +0000 (18:04 +0100)]
Update .gitignore.
Steinar H. Gunderson [Wed, 7 Nov 2018 16:38:35 +0000 (17:38 +0100)]
Fix a pretty bad JPEG decoding bug; VA-API expects its quantization matrix to be in zigzag order.
Steinar H. Gunderson [Wed, 7 Nov 2018 16:38:03 +0000 (17:38 +0100)]
Switch build systems to Meson.
Steinar H. Gunderson [Wed, 7 Nov 2018 16:36:34 +0000 (17:36 +0100)]
Fix a GCC warning.
Steinar H. Gunderson [Wed, 31 Oct 2018 23:45:17 +0000 (00:45 +0100)]
Support changing the HTTP port.
Steinar H. Gunderson [Wed, 31 Oct 2018 22:02:21 +0000 (23:02 +0100)]
Allow previewing playlist clips.
Steinar H. Gunderson [Wed, 31 Oct 2018 19:18:02 +0000 (20:18 +0100)]
Fix an issue where switching play clips during a fade would mean reverting back to the previous clip after the first new one was done.
Steinar H. Gunderson [Wed, 31 Oct 2018 17:16:08 +0000 (18:16 +0100)]
Stop sending interpolated images through the cache.
They're never actually reused anyway, so there's no point in polluting
the cache with them. Sending them directly to the display also takes away a
large chunk of complexity.
Steinar H. Gunderson [Wed, 31 Oct 2018 16:33:19 +0000 (17:33 +0100)]
Make the cache pruning work on bytes instead of number of images.
Especially when we have 1080p images in the mix, tihs causes much less
weird fluctuation in memory usage.
Steinar H. Gunderson [Tue, 30 Oct 2018 18:17:26 +0000 (19:17 +0100)]
Fix some memory spikes.
Steinar H. Gunderson [Tue, 30 Oct 2018 17:29:35 +0000 (18:29 +0100)]
Fix some more leaks on clear_queue().
Steinar H. Gunderson [Tue, 30 Oct 2018 17:09:32 +0000 (18:09 +0100)]
The video player only ever waited for original frames, never processed; fixed.
Steinar H. Gunderson [Tue, 30 Oct 2018 16:56:37 +0000 (17:56 +0100)]
Check the return status of vaDestroyBuffer.
Steinar H. Gunderson [Tue, 30 Oct 2018 08:01:41 +0000 (09:01 +0100)]
Stop crushing blacks for full-range sources.
Steinar H. Gunderson [Mon, 29 Oct 2018 23:45:29 +0000 (00:45 +0100)]
Unbreak preview.
Steinar H. Gunderson [Mon, 29 Oct 2018 22:15:13 +0000 (23:15 +0100)]
Fix leaks in VABufferDestroyer.
Steinar H. Gunderson [Sun, 28 Oct 2018 16:17:00 +0000 (17:17 +0100)]
Fix displaying of progress bars and time remaining in the presence of fades.
Steinar H. Gunderson [Sat, 27 Oct 2018 21:05:14 +0000 (23:05 +0200)]
Fix leaks of InterpolatedFrameResources on clear_queue(), by RAIIing it.
Steinar H. Gunderson [Sat, 27 Oct 2018 20:18:17 +0000 (22:18 +0200)]
Fix fades into overly short clips.
Steinar H. Gunderson [Sat, 27 Oct 2018 19:46:55 +0000 (21:46 +0200)]
Move to RAII queue counting, to fix some underflows.
Steinar H. Gunderson [Sat, 27 Oct 2018 19:03:52 +0000 (21:03 +0200)]
Some manual line breaking.
Steinar H. Gunderson [Sat, 27 Oct 2018 19:02:03 +0000 (21:02 +0200)]
Move QueuedFrame instead of copying it around.
Steinar H. Gunderson [Sat, 27 Oct 2018 17:07:03 +0000 (19:07 +0200)]
Fix a deadlock in the new queueing logic.
Steinar H. Gunderson [Sat, 27 Oct 2018 16:59:42 +0000 (18:59 +0200)]
Fix a bug in the help output.
Steinar H. Gunderson [Tue, 23 Oct 2018 21:52:56 +0000 (23:52 +0200)]
Fix a leak that somehow only showed up on NVIDIA.
Steinar H. Gunderson [Fri, 26 Oct 2018 16:13:37 +0000 (18:13 +0200)]
Preload original JPEGs from disk.
Steinar H. Gunderson [Fri, 26 Oct 2018 16:10:38 +0000 (18:10 +0200)]
Add a queue of frames going into VideoStream.
Hopefully this smooths out disk jitter a fair bit, as we essentially
get a precalculation/preload process.
Steinar H. Gunderson [Thu, 25 Oct 2018 17:39:14 +0000 (19:39 +0200)]
Do not try to show a frame until we've computed it (do it in a callback instead).
Gets rid of the ugly waiting for the cache, and sets the stage for
some further cleanups coming up.
Steinar H. Gunderson [Tue, 23 Oct 2018 20:44:58 +0000 (22:44 +0200)]
Fix a crash in the sample driver.
Steinar H. Gunderson [Sun, 21 Oct 2018 22:38:19 +0000 (00:38 +0200)]
Only adjust pts with the wheel if the given row is selected. It is just too easy to mess up when you want to scroll otherwise.
Steinar H. Gunderson [Sun, 21 Oct 2018 22:24:47 +0000 (00:24 +0200)]
If using the mouse wheel to change pts, don't use it to scroll.
Steinar H. Gunderson [Sun, 21 Oct 2018 21:08:30 +0000 (23:08 +0200)]
Fix a race where refresh frames could be put into the muxer with out-of-order pts.
Steinar H. Gunderson [Sun, 21 Oct 2018 20:56:41 +0000 (22:56 +0200)]
Fix some issues that happened if we tried to play while already playing.
Steinar H. Gunderson [Sun, 21 Oct 2018 20:56:06 +0000 (22:56 +0200)]
If av_interleaved_write_frame() fails, leave a core file.
Steinar H. Gunderson [Sun, 21 Oct 2018 20:55:22 +0000 (22:55 +0200)]
Fix a Clang error.
Steinar H. Gunderson [Sun, 21 Oct 2018 18:39:12 +0000 (20:39 +0200)]
Give the main window a name.
Steinar H. Gunderson [Sun, 21 Oct 2018 16:10:20 +0000 (18:10 +0200)]
Fix various fading bugs.
Steinar H. Gunderson [Sun, 21 Oct 2018 13:33:12 +0000 (15:33 +0200)]
Stop leaking VA-API buffers.
Steinar H. Gunderson [Sun, 21 Oct 2018 13:01:40 +0000 (15:01 +0200)]
Another Makefile hack.
Steinar H. Gunderson [Sun, 21 Oct 2018 13:29:34 +0000 (15:29 +0200)]
Fix some libjpeg leaks.
Steinar H. Gunderson [Sat, 20 Oct 2018 17:41:51 +0000 (19:41 +0200)]
Fix loading of existing frames with -d.
Steinar H. Gunderson [Fri, 19 Oct 2018 18:47:56 +0000 (20:47 +0200)]
Create frames/ if it does not exist.