]>
git.sesse.net Git - nageru/log
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.
Steinar H. Gunderson [Fri, 19 Oct 2018 18:43:28 +0000 (20:43 +0200)]
Make it possible to change the working directory.
Steinar H. Gunderson [Mon, 15 Oct 2018 20:03:17 +0000 (22:03 +0200)]
Be more lenient in the 4:2:2 detection.
Steinar H. Gunderson [Sun, 14 Oct 2018 22:07:21 +0000 (00:07 +0200)]
Stop shipping Swiftshader in CEF (Debian no longer does).
Steinar H. Gunderson [Sun, 14 Oct 2018 18:03:32 +0000 (20:03 +0200)]
Show how much would be queued before pressing play.
Steinar H. Gunderson [Sun, 14 Oct 2018 17:53:39 +0000 (19:53 +0200)]
Expose the queue status over HTTP.
Steinar H. Gunderson [Sun, 14 Oct 2018 14:51:48 +0000 (16:51 +0200)]
Support changing the interpolation quality.
Steinar H. Gunderson [Sun, 14 Oct 2018 14:16:45 +0000 (16:16 +0200)]
Support other streams than the default file.
Steinar H. Gunderson [Sun, 14 Oct 2018 13:38:11 +0000 (15:38 +0200)]
Assorted clang-format fixes (not complete).
Steinar H. Gunderson [Sun, 14 Oct 2018 12:53:24 +0000 (14:53 +0200)]
When choosing a camera in the clip list, highlight the appropriate input.
Steinar H. Gunderson [Fri, 12 Oct 2018 19:54:02 +0000 (21:54 +0200)]
Fix fades that are not between clips with the same start pts.
Steinar H. Gunderson [Fri, 12 Oct 2018 16:50:05 +0000 (18:50 +0200)]
Fix a crash bug on preview.
Steinar H. Gunderson [Fri, 12 Oct 2018 16:41:05 +0000 (18:41 +0200)]
Send refresh frames every 100 ms or so, so that the client does not think we are gone.
Steinar H. Gunderson [Thu, 11 Oct 2018 22:40:41 +0000 (00:40 +0200)]
Fix issues with displaying faded interpolating frames in the preview.
Steinar H. Gunderson [Thu, 11 Oct 2018 18:58:22 +0000 (20:58 +0200)]
Fix a threading violation.
Steinar H. Gunderson [Thu, 11 Oct 2018 18:21:42 +0000 (20:21 +0200)]
Remove some debugging code.
Steinar H. Gunderson [Thu, 11 Oct 2018 18:19:52 +0000 (20:19 +0200)]
When fading, always interpolate the more visible half.
Steinar H. Gunderson [Wed, 10 Oct 2018 22:43:20 +0000 (00:43 +0200)]
Implement fades.
Steinar H. Gunderson [Wed, 10 Oct 2018 20:42:37 +0000 (22:42 +0200)]
Move Y'CbCr conversion into a common utility class.
Steinar H. Gunderson [Sun, 7 Oct 2018 15:57:18 +0000 (17:57 +0200)]
Move transitioning to the next clip away from the done callback.
This is a natural step on the way to fade support.
Steinar H. Gunderson [Fri, 5 Oct 2018 22:27:20 +0000 (00:27 +0200)]
Fix some Clang warnings.
Steinar H. Gunderson [Fri, 5 Oct 2018 22:24:40 +0000 (00:24 +0200)]
Remove an unused variable.
Steinar H. Gunderson [Fri, 5 Oct 2018 20:54:52 +0000 (22:54 +0200)]
Small cleanup in Player.
Steinar H. Gunderson [Fri, 5 Oct 2018 20:53:22 +0000 (22:53 +0200)]
Another small refactoring, this time to snapping.
Steinar H. Gunderson [Fri, 5 Oct 2018 18:57:42 +0000 (20:57 +0200)]
Small refactoring in Player.
Steinar H. Gunderson [Mon, 1 Oct 2018 22:53:28 +0000 (00:53 +0200)]
Hook up the exit menu.
Steinar H. Gunderson [Mon, 1 Oct 2018 22:50:28 +0000 (00:50 +0200)]
Add a disk space estimator. Code largely borrowed from Nageru.
Steinar H. Gunderson [Mon, 1 Oct 2018 20:02:25 +0000 (22:02 +0200)]
Make for somewhat cleaner shutdown.
Steinar H. Gunderson [Sun, 30 Sep 2018 21:40:46 +0000 (23:40 +0200)]
Serialize state to disk between runs, using SQLite.
Steinar H. Gunderson [Sun, 30 Sep 2018 14:45:41 +0000 (16:45 +0200)]
Start of persistence work: Keep existing frames that are at frames/ at startup.
Steinar H. Gunderson [Sat, 29 Sep 2018 20:52:20 +0000 (22:52 +0200)]
Make it possible to scrub pts_in on a clip even if pts_out is not set.
Steinar H. Gunderson [Sat, 29 Sep 2018 20:46:35 +0000 (22:46 +0200)]
Make it impossible to queue unfinished clips.
Steinar H. Gunderson [Sat, 29 Sep 2018 14:37:14 +0000 (16:37 +0200)]
Decode 4:2:2 JPEGs via VA-API if available.
Steinar H. Gunderson [Thu, 27 Sep 2018 19:03:36 +0000 (21:03 +0200)]
Don't set QGradient stops after 1.0.
Steinar H. Gunderson [Thu, 27 Sep 2018 19:02:56 +0000 (21:02 +0200)]
Drop frames if the player runs too far behind.
Steinar H. Gunderson [Wed, 26 Sep 2018 23:09:09 +0000 (01:09 +0200)]
Mark play progress with background color in the play list.
Steinar H. Gunderson [Wed, 26 Sep 2018 20:03:40 +0000 (22:03 +0200)]
Put the video displays on the right side, making them generally larger.
Steinar H. Gunderson [Wed, 26 Sep 2018 17:42:03 +0000 (19:42 +0200)]
Give names to some layouts.
Steinar H. Gunderson [Wed, 26 Sep 2018 17:01:23 +0000 (19:01 +0200)]
Fix some instances of unneeded dataChanged() signals, making it impossible to edit camera angles when playing.
Steinar H. Gunderson [Tue, 25 Sep 2018 22:02:51 +0000 (00:02 +0200)]
If doing preview or queue with the in or out column marked, reuse the current one.
Steinar H. Gunderson [Tue, 25 Sep 2018 20:57:31 +0000 (22:57 +0200)]
Fix JPEGFrameView behavior with Qt DPI scaling.
Steinar H. Gunderson [Sat, 22 Sep 2018 19:04:55 +0000 (21:04 +0200)]
Upgrade Qt Creator.
Steinar H. Gunderson [Sat, 22 Sep 2018 19:04:50 +0000 (21:04 +0200)]
Show time remaining when playing clips live.
Steinar H. Gunderson [Sat, 22 Sep 2018 10:27:08 +0000 (12:27 +0200)]
Support the delete key to remove elements from the playlist.
Steinar H. Gunderson [Fri, 21 Sep 2018 20:29:04 +0000 (22:29 +0200)]
Add some 1-4 overlays on the previews.
Steinar H. Gunderson [Thu, 20 Sep 2018 22:48:13 +0000 (00:48 +0200)]
Show interpolated frames in the live window.
Steinar H. Gunderson [Thu, 20 Sep 2018 21:33:30 +0000 (23:33 +0200)]
Small refactoring in JPEGFrameView.
Steinar H. Gunderson [Wed, 19 Sep 2018 23:00:10 +0000 (01:00 +0200)]
Make it possible to switch camera angles by clicking on the preview displays.
Steinar H. Gunderson [Sun, 16 Sep 2018 16:42:06 +0000 (18:42 +0200)]
Name some threads.
Steinar H. Gunderson [Sun, 16 Sep 2018 16:23:05 +0000 (18:23 +0200)]
Subsample chroma on the GPU instead of the CPU.
Faster, and also gets the subsampling right. The shaders come from Nageru,
but the support code is heavily tweaked to be more like flow.h.
Steinar H. Gunderson [Sun, 16 Sep 2018 15:36:36 +0000 (17:36 +0200)]
Change from operating point 3 to 2 (more laptop-friendly debugging).
Steinar H. Gunderson [Sun, 16 Sep 2018 15:35:45 +0000 (17:35 +0200)]
Do deinterleaving on the GPU (subsampling still remains).