]>
git.sesse.net Git - nageru/log
Steinar H. Gunderson [Mon, 23 Nov 2015 00:44:27 +0000 (01:44 +0100)]
Redo frame buffering again.
This partially reverts
86f32b5a in that it removes the exact counting;
however, the system wasn't safe at all (threading, for instance, but
more generally, that the entire state could change between display and
get chain). Put all the state within the chain setup instead.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:50:44 +0000 (23:50 +0100)]
Remove another unused member variable.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:47:10 +0000 (23:47 +0100)]
Remove an unused member variable.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:39:36 +0000 (23:39 +0100)]
Fix a race on the r128 object.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:34:24 +0000 (23:34 +0100)]
Fix another uninitialized sound data issue.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:18:23 +0000 (23:18 +0100)]
Fix a small memory leak in GLWidget.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:08:38 +0000 (23:08 +0100)]
Fix an off-by-two that could lead to undefined samples in the buffer in panic situations.
Steinar H. Gunderson [Sun, 22 Nov 2015 21:42:42 +0000 (22:42 +0100)]
A small #include fix.
Steinar H. Gunderson [Sun, 22 Nov 2015 21:42:35 +0000 (22:42 +0100)]
Send on the interlaced flag properly.
Steinar H. Gunderson [Sun, 22 Nov 2015 20:25:24 +0000 (21:25 +0100)]
Remove an unused variable.
Steinar H. Gunderson [Sun, 22 Nov 2015 20:20:56 +0000 (21:20 +0100)]
Rework signal connection in preparations for deinterlacing.
Several improvements:
- Hold three fields in history instead of one.
- Make input_frames exact; no more chains holding on to input frames
that they do not actually use for anything (so they can be released
sooner).
- Much less roundabout code to give the textures to the input;
the LiveInputWrapper will now simply fetch them from the mixer itself.
Steinar H. Gunderson [Sun, 22 Nov 2015 00:16:33 +0000 (01:16 +0100)]
Update bmusb.
Steinar H. Gunderson [Sat, 21 Nov 2015 23:52:32 +0000 (00:52 +0100)]
Split interlaced frames into two fields that are sent along separately to the mixer. Still no proper deinterlacing, but at least 1080i inputs do not look completely garbled.
Steinar H. Gunderson [Sat, 21 Nov 2015 21:17:59 +0000 (22:17 +0100)]
Unify the texture upload paths a bit.
Steinar H. Gunderson [Sat, 21 Nov 2015 20:51:35 +0000 (21:51 +0100)]
Open up for inputs that are different from the native resolution. No deinterlacing or proper scaling yet, though.
Steinar H. Gunderson [Wed, 18 Nov 2015 00:08:51 +0000 (01:08 +0100)]
Reduce the verbosity somewhat.
Steinar H. Gunderson [Tue, 17 Nov 2015 20:51:26 +0000 (21:51 +0100)]
Fix y_offset calculation if we should change the PBO size.
Steinar H. Gunderson [Tue, 17 Nov 2015 20:16:30 +0000 (21:16 +0100)]
Adapt to the new decode_video_format() prototype.
Steinar H. Gunderson [Tue, 17 Nov 2015 19:08:11 +0000 (20:08 +0100)]
Some restructuring in the offsets to make it less cryptic.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:53:55 +0000 (19:53 +0100)]
Fix a hard-coded offset constant.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:37:37 +0000 (19:37 +0100)]
If we reset the resampling queue, do not try to add audio from the section we skipped over; things will go horribly out of sync.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:30:12 +0000 (19:30 +0100)]
Add a paranoia assert.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:27:13 +0000 (19:27 +0100)]
Rework silence handling a bit; in particular, if num_samples == 0, add silence.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:22:14 +0000 (19:22 +0100)]
Better diagnostics when the time code is changing.
Steinar H. Gunderson [Tue, 17 Nov 2015 01:06:49 +0000 (02:06 +0100)]
Fix a crash bug when avcodec_fill_audio_frame() decided we needed more alignment.
Steinar H. Gunderson [Mon, 16 Nov 2015 23:59:56 +0000 (00:59 +0100)]
Use the new decode_video_format() function from bmusb.
Steinar H. Gunderson [Mon, 16 Nov 2015 21:48:31 +0000 (22:48 +0100)]
Rename a local variable for clarity.
Steinar H. Gunderson [Mon, 16 Nov 2015 21:47:08 +0000 (22:47 +0100)]
Make the implausible audio length check work with lower frame rates.
Steinar H. Gunderson [Mon, 16 Nov 2015 21:46:45 +0000 (22:46 +0100)]
Add an extra byte of headroom to the buffer so that overlong frames are not treated as correct ones.
Steinar H. Gunderson [Mon, 16 Nov 2015 20:39:54 +0000 (21:39 +0100)]
Support true variable input frame rate instead of hard-coding to 60.
Steinar H. Gunderson [Mon, 16 Nov 2015 17:53:15 +0000 (18:53 +0100)]
Move WIDTH/HEIGHT #defines into defs.h.
Steinar H. Gunderson [Sun, 15 Nov 2015 17:01:48 +0000 (18:01 +0100)]
Reduce the default cutoff a bit; we have no instruments below, so better to give the voice a bit extra depth down there. Also fix so that the default is set only one place.
Steinar H. Gunderson [Sun, 15 Nov 2015 16:56:28 +0000 (17:56 +0100)]
Do some ALSA tweaks that will hopefully get rid of the underrun loops.
Steinar H. Gunderson [Sun, 15 Nov 2015 14:24:15 +0000 (15:24 +0100)]
Move audio processing into a thread, since it seems we want as little as possible on the OpenGL critical path.
Steinar H. Gunderson [Sun, 15 Nov 2015 00:08:27 +0000 (01:08 +0100)]
Fix a leak in RefCountedFrame.
Steinar H. Gunderson [Sat, 14 Nov 2015 23:59:29 +0000 (00:59 +0100)]
More consistent H.264 leak fixes.
Steinar H. Gunderson [Sat, 14 Nov 2015 17:32:43 +0000 (18:32 +0100)]
Minor updates to the README.
Steinar H. Gunderson [Sat, 14 Nov 2015 17:10:42 +0000 (18:10 +0100)]
Fix a leak in the H.264 encoder.
Steinar H. Gunderson [Sat, 14 Nov 2015 16:40:14 +0000 (17:40 +0100)]
Fix a memory leak in the Lua code.
Steinar H. Gunderson [Sat, 14 Nov 2015 13:27:38 +0000 (14:27 +0100)]
Fix some leaks in ImageInput.
Steinar H. Gunderson [Sat, 14 Nov 2015 13:14:52 +0000 (14:14 +0100)]
Fix a memory leak in audio encoding.
Steinar H. Gunderson [Sat, 14 Nov 2015 13:10:06 +0000 (14:10 +0100)]
Update bmusb.
Steinar H. Gunderson [Sat, 14 Nov 2015 12:56:01 +0000 (13:56 +0100)]
Kill the H.264 encoder a bit earlier during shutdown; seems easier to debug shutdown with fewer threads around.
Steinar H. Gunderson [Sat, 14 Nov 2015 00:50:55 +0000 (01:50 +0100)]
Switch to uncompressed (32-bit) PCM. Saves a little CPU processing power. Also requires us to switch muxer.
Steinar H. Gunderson [Sat, 14 Nov 2015 00:49:06 +0000 (01:49 +0100)]
Make the muxing buffer configurable, and 10 MB (since 1 MB is too little for our streams when in MP4).
Steinar H. Gunderson [Sat, 14 Nov 2015 00:42:39 +0000 (01:42 +0100)]
Add an option to defs.h to set ffmpeg mux options.
Steinar H. Gunderson [Sat, 14 Nov 2015 00:31:54 +0000 (01:31 +0100)]
Move some muxing parameters out into defs.h.
Steinar H. Gunderson [Sat, 14 Nov 2015 00:00:16 +0000 (01:00 +0100)]
Move audio codec choice into defs.h.
Steinar H. Gunderson [Wed, 11 Nov 2015 19:25:56 +0000 (20:25 +0100)]
Precalculate the VU/LRA meter images as pixmaps, since the painting is so slow.
Steinar H. Gunderson [Wed, 11 Nov 2015 19:00:29 +0000 (20:00 +0100)]
Rate-limit VU and LRA meter updates.
Steinar H. Gunderson [Wed, 11 Nov 2015 17:48:20 +0000 (18:48 +0100)]
Optimize the compressor a lot by making our own makeshift pow().
It seems this takes us down from ~4% to ~0.5%, of which ~2% was the pow
and the rest was call overhead (!). The approximation has its limits,
but doesn't really sound different to me, and the math appears to check out.
Steinar H. Gunderson [Tue, 10 Nov 2015 23:07:37 +0000 (00:07 +0100)]
Add a soundcard output via ALSA.
Steinar H. Gunderson [Mon, 9 Nov 2015 22:53:20 +0000 (23:53 +0100)]
Update README with the latest features.
Steinar H. Gunderson [Mon, 9 Nov 2015 22:02:29 +0000 (23:02 +0100)]
Move the limiter after the compressor; since it is not the prettiest limiter out there, this seems to give better results. Again tuned by ear.
Steinar H. Gunderson [Mon, 9 Nov 2015 22:00:42 +0000 (23:00 +0100)]
Tweak the limiter by ear; increase the headroom so it does not trigger as often (we still have 10 dB to go on), and also increase the release time which makes it a lot less ugly. Tested on both music and conference audio.
Steinar H. Gunderson [Mon, 9 Nov 2015 21:59:29 +0000 (22:59 +0100)]
Fetch default threshold displays from the mixer.
Steinar H. Gunderson [Mon, 9 Nov 2015 21:05:54 +0000 (22:05 +0100)]
Add some GUI elements (hooked up) to help tuning the compressor.
Steinar H. Gunderson [Sun, 8 Nov 2015 23:08:02 +0000 (00:08 +0100)]
Implement oversampled peak detection.
Steinar H. Gunderson [Sun, 8 Nov 2015 22:46:19 +0000 (23:46 +0100)]
Rename Resampler to ResamplingQueue, to avoid conflicts with zita-resampler.
Steinar H. Gunderson [Sun, 8 Nov 2015 22:34:03 +0000 (23:34 +0100)]
Tweak the limiter a bit.
Steinar H. Gunderson [Sun, 8 Nov 2015 22:32:25 +0000 (23:32 +0100)]
Correct a dB comment.
Steinar H. Gunderson [Sun, 8 Nov 2015 22:01:34 +0000 (23:01 +0100)]
Hook up the reset meters button.
Steinar H. Gunderson [Sun, 8 Nov 2015 21:38:28 +0000 (22:38 +0100)]
Move some lambdas in MainWindow out into real functions.
Steinar H. Gunderson [Sun, 8 Nov 2015 21:38:09 +0000 (22:38 +0100)]
Remove some std::.
Steinar H. Gunderson [Sun, 8 Nov 2015 21:03:50 +0000 (22:03 +0100)]
Include the limiter and the main compressor. Still needs some tuning, though.
Steinar H. Gunderson [Sun, 8 Nov 2015 19:11:23 +0000 (20:11 +0100)]
Hook up the lo-cut knob. A bit crude for now, though.
Steinar H. Gunderson [Sun, 8 Nov 2015 16:12:49 +0000 (17:12 +0100)]
Make the level compressor much slower.
Steinar H. Gunderson [Sun, 8 Nov 2015 16:08:43 +0000 (17:08 +0100)]
Remove a sort-of obsolete TODO.
Steinar H. Gunderson [Sun, 8 Nov 2015 16:01:51 +0000 (17:01 +0100)]
Do the UI changes always in the main thread.
Steinar H. Gunderson [Sun, 8 Nov 2015 15:32:51 +0000 (16:32 +0100)]
Display auto-gain-staging in the UI.
Steinar H. Gunderson [Sun, 8 Nov 2015 15:23:50 +0000 (16:23 +0100)]
Name the parameters in audio_level_callback_t.
Steinar H. Gunderson [Sun, 8 Nov 2015 01:24:25 +0000 (02:24 +0100)]
Update bmusb.
Steinar H. Gunderson [Sat, 7 Nov 2015 23:52:42 +0000 (00:52 +0100)]
Some tweaks to the preview displays.
Steinar H. Gunderson [Sat, 7 Nov 2015 23:29:55 +0000 (00:29 +0100)]
Start an audio strip, and rework some of the layout stuff, as it was getting painfully broken.
Steinar H. Gunderson [Sat, 7 Nov 2015 00:41:56 +0000 (01:41 +0100)]
Add a 150 Hz lo-cut filter in front of the compressor.
Steinar H. Gunderson [Fri, 6 Nov 2015 23:54:18 +0000 (00:54 +0100)]
Finally add defines for sample rate and fps (although they should really be non-compiled in).
Steinar H. Gunderson [Fri, 6 Nov 2015 23:37:25 +0000 (00:37 +0100)]
Rename compressor to level_compressor.
Steinar H. Gunderson [Fri, 6 Nov 2015 23:25:43 +0000 (00:25 +0100)]
Add a compressor (kindly relicensed by Rune Holm). Fixed for now, and only to get the overall levels right.
Steinar H. Gunderson [Thu, 5 Nov 2015 23:49:18 +0000 (00:49 +0100)]
Some small restructuring in the audio code.
Steinar H. Gunderson [Thu, 5 Nov 2015 23:42:15 +0000 (00:42 +0100)]
Remove an unused member.
Steinar H. Gunderson [Thu, 5 Nov 2015 23:40:41 +0000 (00:40 +0100)]
Some the audio handling into its own function.
Steinar H. Gunderson [Thu, 5 Nov 2015 22:18:43 +0000 (23:18 +0100)]
Set pixel format on contexts we create; fixes issues with Qt 5.5.1.
Steinar H. Gunderson [Wed, 4 Nov 2015 00:53:01 +0000 (01:53 +0100)]
Add a static image input (fixed to 1280x720 for now, and uploaded rather inefficiently).
Steinar H. Gunderson [Wed, 4 Nov 2015 00:40:25 +0000 (01:40 +0100)]
More theme cleanups, especially around fades.
Steinar H. Gunderson [Wed, 4 Nov 2015 00:13:21 +0000 (01:13 +0100)]
Clean up the theme.lua signal numbers a bit by making them symbolic.
Steinar H. Gunderson [Tue, 3 Nov 2015 00:48:55 +0000 (01:48 +0100)]
Some typo fixes.
Steinar H. Gunderson [Tue, 3 Nov 2015 00:22:30 +0000 (01:22 +0100)]
Fix repeated WB clicks.
Steinar H. Gunderson [Tue, 3 Nov 2015 00:10:44 +0000 (01:10 +0100)]
Hook up white balance into the theme.
Steinar H. Gunderson [Mon, 2 Nov 2015 21:19:02 +0000 (22:19 +0100)]
Use std::bind instead of the QSignalMapper, since evidently it can take a std::function in Qt 5. Die, QSignalMapper, die.
Steinar H. Gunderson [Mon, 2 Nov 2015 21:13:49 +0000 (22:13 +0100)]
Switch to typesafe signals and slots, even though the syntax with QSignalMapper is a bit icky.
Steinar H. Gunderson [Mon, 2 Nov 2015 20:58:58 +0000 (21:58 +0100)]
Make some labels and a white balance button per preview (the latter is not hooked up yet, though).
Steinar H. Gunderson [Mon, 2 Nov 2015 19:47:20 +0000 (20:47 +0100)]
Generalize NUM_OUTPUTS a bit.
Steinar H. Gunderson [Mon, 2 Nov 2015 00:44:14 +0000 (01:44 +0100)]
Remove some debugging.
Steinar H. Gunderson [Mon, 2 Nov 2015 00:40:58 +0000 (01:40 +0100)]
Create the previews dynamically, in a number determined by the theme.
Steinar H. Gunderson [Sun, 1 Nov 2015 20:01:56 +0000 (21:01 +0100)]
Reduce the warning storm a bit.
Steinar H. Gunderson [Sun, 1 Nov 2015 19:55:51 +0000 (20:55 +0100)]
Re-run IWYU, again with lots of manual cleanup.
Steinar H. Gunderson [Sun, 1 Nov 2015 19:35:41 +0000 (20:35 +0100)]
Update to latest bmusb.
Steinar H. Gunderson [Sun, 1 Nov 2015 19:35:36 +0000 (20:35 +0100)]
Add some primitive emergency card mapping. Useful for testing.
Steinar H. Gunderson [Sun, 1 Nov 2015 19:28:53 +0000 (20:28 +0100)]
Make NUM_CARDS into a command-line flag.
Steinar H. Gunderson [Sun, 1 Nov 2015 17:06:23 +0000 (18:06 +0100)]
Specify unspecified gamma instead of lying and saying we use Rec. 709. Again, for the benefit of icky players.