]> git.sesse.net Git - nageru/log
nageru
8 years agoIf we have waiting B-frames at the end of the encode, encode them as such.
Steinar H. Gunderson [Fri, 8 Jan 2016 00:23:35 +0000 (01:23 +0100)]
If we have waiting B-frames at the end of the encode, encode them as such.

8 years agoMore H.264 shutdown fixes.
Steinar H. Gunderson [Thu, 7 Jan 2016 23:41:07 +0000 (00:41 +0100)]
More H.264 shutdown fixes.

8 years agoRename copy_thread to encode_thread.
Steinar H. Gunderson [Thu, 7 Jan 2016 23:00:34 +0000 (00:00 +0100)]
Rename copy_thread to encode_thread.

8 years agoMake sure no frames are lost in storage on shutdown.
Steinar H. Gunderson [Thu, 7 Jan 2016 22:28:56 +0000 (23:28 +0100)]
Make sure no frames are lost in storage on shutdown.

8 years agoRemove a useless int return.
Steinar H. Gunderson [Thu, 7 Jan 2016 21:54:29 +0000 (22:54 +0100)]
Remove a useless int return.

8 years agoMake current_IDR_display non-global.
Steinar H. Gunderson [Thu, 7 Jan 2016 21:51:04 +0000 (22:51 +0100)]
Make current_IDR_display non-global.

8 years agoMake current_frame_display non-global.
Steinar H. Gunderson [Thu, 7 Jan 2016 21:49:58 +0000 (22:49 +0100)]
Make current_frame_display non-global.

8 years agoMake current_frame_type non-global.
Steinar H. Gunderson [Thu, 7 Jan 2016 21:44:02 +0000 (22:44 +0100)]
Make current_frame_type non-global.

8 years agoMake current_frame_encoding non-global.
Steinar H. Gunderson [Thu, 7 Jan 2016 21:17:28 +0000 (22:17 +0100)]
Make current_frame_encoding non-global.

8 years agoSmall refactoring in H264Encoder::copy_thread_func().
Steinar H. Gunderson [Thu, 7 Jan 2016 21:08:22 +0000 (22:08 +0100)]
Small refactoring in H264Encoder::copy_thread_func().

8 years agoRemove more std:: instances.
Steinar H. Gunderson [Wed, 6 Jan 2016 22:23:01 +0000 (23:23 +0100)]
Remove more std:: instances.

8 years agoClean up resources in the global ResourcePool on exit, in order to avoid some assert...
Steinar H. Gunderson [Tue, 5 Jan 2016 23:26:52 +0000 (00:26 +0100)]
Clean up resources in the global ResourcePool on exit, in order to avoid some assert failures.

8 years agoFix an issue where we could get remap warnings and add random scales for fading to...
Steinar H. Gunderson [Sat, 2 Jan 2016 11:28:48 +0000 (12:28 +0100)]
Fix an issue where we could get remap warnings and add random scales for fading to the static picture.

8 years agoDo value massaging for interlaced signals right at the start of the theme.
Steinar H. Gunderson [Sat, 2 Jan 2016 00:27:04 +0000 (01:27 +0100)]
Do value massaging for interlaced signals right at the start of the theme.

8 years agoOnly load images once; add a cache.
Steinar H. Gunderson [Thu, 31 Dec 2015 16:52:14 +0000 (17:52 +0100)]
Only load images once; add a cache.

8 years agoMake side-by-side handle other inputs than 1280x720.
Steinar H. Gunderson [Wed, 30 Dec 2015 13:23:50 +0000 (14:23 +0100)]
Make side-by-side handle other inputs than 1280x720.

8 years agoUpdate bmusb.
Steinar H. Gunderson [Wed, 30 Dec 2015 13:16:46 +0000 (14:16 +0100)]
Update bmusb.

8 years agoAlso show the frame rate.
Steinar H. Gunderson [Wed, 30 Dec 2015 13:15:30 +0000 (14:15 +0100)]
Also show the frame rate.

8 years agoEase debugging of new video modes a bit.
Steinar H. Gunderson [Wed, 30 Dec 2015 13:08:28 +0000 (14:08 +0100)]
Ease debugging of new video modes a bit.

8 years agoShow the current resolution next to the inputs.
Steinar H. Gunderson [Wed, 30 Dec 2015 12:48:10 +0000 (13:48 +0100)]
Show the current resolution next to the inputs.

8 years agoFix a typo.
Steinar H. Gunderson [Wed, 30 Dec 2015 00:34:08 +0000 (01:34 +0100)]
Fix a typo.

8 years agoDo not compile the non-HQ fade chains, since we do not need them; speeds up startup...
Steinar H. Gunderson [Thu, 24 Dec 2015 22:29:58 +0000 (23:29 +0100)]
Do not compile the non-HQ fade chains, since we do not need them; speeds up startup a lot.

8 years agoUse the shared resource pool everywhere.
Steinar H. Gunderson [Thu, 24 Dec 2015 12:51:38 +0000 (13:51 +0100)]
Use the shared resource pool everywhere.

8 years agoAdd rescaling variants to all the chains in the theme.
Steinar H. Gunderson [Thu, 24 Dec 2015 12:36:49 +0000 (13:36 +0100)]
Add rescaling variants to all the chains in the theme.

8 years agoMake a Lua function for enumerating the cartesian products of parameters, instead...
Steinar H. Gunderson [Thu, 24 Dec 2015 00:43:42 +0000 (01:43 +0100)]
Make a Lua function for enumerating the cartesian products of parameters, instead of nesting the for loops ourselves.

8 years agoRefactor the fade chain generation a bit.
Steinar H. Gunderson [Thu, 24 Dec 2015 00:05:32 +0000 (01:05 +0100)]
Refactor the fade chain generation a bit.

8 years agoRefactor the SBS chain generation a bit.
Steinar H. Gunderson [Wed, 23 Dec 2015 23:52:42 +0000 (00:52 +0100)]
Refactor the SBS chain generation a bit.

8 years agoTransparently send signals through a deinterlacer as needed.
Steinar H. Gunderson [Wed, 23 Dec 2015 13:35:58 +0000 (14:35 +0100)]
Transparently send signals through a deinterlacer as needed.

8 years agoShorten white_balance_effect in the Lua code.
Steinar H. Gunderson [Wed, 23 Dec 2015 12:36:22 +0000 (13:36 +0100)]
Shorten white_balance_effect in the Lua code.

8 years agoMake a metadata-only version of InputState to be sent to Lua, in order to not be...
Steinar H. Gunderson [Wed, 23 Dec 2015 12:18:00 +0000 (13:18 +0100)]
Make a metadata-only version of InputState to be sent to Lua, in order to not be stuck in the GC.

8 years agoDo signal mapping in get_width/get_height.
Steinar H. Gunderson [Wed, 23 Dec 2015 11:40:38 +0000 (12:40 +0100)]
Do signal mapping in get_width/get_height.

8 years agoUnify video-to-video and video-to-picture fade chains.
Steinar H. Gunderson [Wed, 23 Dec 2015 11:07:38 +0000 (12:07 +0100)]
Unify video-to-video and video-to-picture fade chains.

8 years agoRedo get_width/get_height to not work on a LiveInputWrapper, since we do not really...
Steinar H. Gunderson [Wed, 23 Dec 2015 01:14:32 +0000 (02:14 +0100)]
Redo get_width/get_height to not work on a LiveInputWrapper, since we do not really know which one to use before we have selected the chain (at which point it really is too late).

8 years agoAdd some maybe-helpful comments.
Steinar H. Gunderson [Wed, 23 Dec 2015 01:13:08 +0000 (02:13 +0100)]
Add some maybe-helpful comments.

8 years agoExpose width and height information to Lua during get_chain().
Steinar H. Gunderson [Tue, 22 Dec 2015 19:17:22 +0000 (20:17 +0100)]
Expose width and height information to Lua during get_chain().

Useful for choosing e.g. between chains that contain scalers versus not,
and then later also deinterlacers.

8 years agoRemove unused member.
Steinar H. Gunderson [Tue, 22 Dec 2015 00:09:54 +0000 (01:09 +0100)]
Remove unused member.

8 years agoSmall helpful comment.
Steinar H. Gunderson [Tue, 22 Dec 2015 00:08:27 +0000 (01:08 +0100)]
Small helpful comment.

8 years agoSome comment fixes about frame history.
Steinar H. Gunderson [Tue, 22 Dec 2015 00:03:47 +0000 (01:03 +0100)]
Some comment fixes about frame history.

8 years agoWhitespace fix.
Steinar H. Gunderson [Tue, 22 Dec 2015 00:00:21 +0000 (01:00 +0100)]
Whitespace fix.

8 years agoChange history length to 5, as Movit ends up using YADIF and not w3fdif.
Steinar H. Gunderson [Mon, 21 Dec 2015 23:58:38 +0000 (00:58 +0100)]
Change history length to 5, as Movit ends up using YADIF and not w3fdif.

8 years agoUpdate the commented-out phase timing code for some renamed variables.
Steinar H. Gunderson [Mon, 21 Dec 2015 00:32:06 +0000 (01:32 +0100)]
Update the commented-out phase timing code for some renamed variables.

8 years agoSwitch to memory barriers, now that Mesa 11.1 has them (ATI always had problems with...
Steinar H. Gunderson [Tue, 15 Dec 2015 23:31:40 +0000 (00:31 +0100)]
Switch to memory barriers, now that Mesa 11.1 has them (ATI always had problems with flushing).

8 years agoDeal with a Movit change.
Steinar H. Gunderson [Sun, 13 Dec 2015 20:39:54 +0000 (21:39 +0100)]
Deal with a Movit change.

8 years agoRedo frame buffering again.
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.

8 years agoRemove another unused member variable.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:50:44 +0000 (23:50 +0100)]
Remove another unused member variable.

8 years agoRemove an unused member variable.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:47:10 +0000 (23:47 +0100)]
Remove an unused member variable.

8 years agoFix a race on the r128 object.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:39:36 +0000 (23:39 +0100)]
Fix a race on the r128 object.

8 years agoFix another uninitialized sound data issue.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:34:24 +0000 (23:34 +0100)]
Fix another uninitialized sound data issue.

8 years agoFix a small memory leak in GLWidget.
Steinar H. Gunderson [Sun, 22 Nov 2015 22:18:23 +0000 (23:18 +0100)]
Fix a small memory leak in GLWidget.

8 years agoFix an off-by-two that could lead to undefined samples in the buffer in panic situations.
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.

8 years agoA small #include fix.
Steinar H. Gunderson [Sun, 22 Nov 2015 21:42:42 +0000 (22:42 +0100)]
A small #include fix.

8 years agoSend on the interlaced flag properly.
Steinar H. Gunderson [Sun, 22 Nov 2015 21:42:35 +0000 (22:42 +0100)]
Send on the interlaced flag properly.

8 years agoRemove an unused variable.
Steinar H. Gunderson [Sun, 22 Nov 2015 20:25:24 +0000 (21:25 +0100)]
Remove an unused variable.

8 years agoRework signal connection in preparations for deinterlacing.
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.

8 years agoUpdate bmusb.
Steinar H. Gunderson [Sun, 22 Nov 2015 00:16:33 +0000 (01:16 +0100)]
Update bmusb.

8 years agoSplit interlaced frames into two fields that are sent along separately to the mixer...
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.

8 years agoUnify the texture upload paths a bit.
Steinar H. Gunderson [Sat, 21 Nov 2015 21:17:59 +0000 (22:17 +0100)]
Unify the texture upload paths a bit.

8 years agoOpen up for inputs that are different from the native resolution. No deinterlacing...
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.

8 years agoReduce the verbosity somewhat.
Steinar H. Gunderson [Wed, 18 Nov 2015 00:08:51 +0000 (01:08 +0100)]
Reduce the verbosity somewhat.

8 years agoFix y_offset calculation if we should change the PBO size.
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.

8 years agoAdapt to the new decode_video_format() prototype.
Steinar H. Gunderson [Tue, 17 Nov 2015 20:16:30 +0000 (21:16 +0100)]
Adapt to the new decode_video_format() prototype.

8 years agoSome restructuring in the offsets to make it less cryptic.
Steinar H. Gunderson [Tue, 17 Nov 2015 19:08:11 +0000 (20:08 +0100)]
Some restructuring in the offsets to make it less cryptic.

8 years agoFix a hard-coded offset constant.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:53:55 +0000 (19:53 +0100)]
Fix a hard-coded offset constant.

8 years agoIf we reset the resampling queue, do not try to add audio from the section we skipped...
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.

8 years agoAdd a paranoia assert.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:30:12 +0000 (19:30 +0100)]
Add a paranoia assert.

8 years agoRework silence handling a bit; in particular, if num_samples == 0, add silence.
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.

8 years agoBetter diagnostics when the time code is changing.
Steinar H. Gunderson [Tue, 17 Nov 2015 18:22:14 +0000 (19:22 +0100)]
Better diagnostics when the time code is changing.

8 years agoFix a crash bug when avcodec_fill_audio_frame() decided we needed more alignment.
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.

8 years agoUse the new decode_video_format() function from bmusb.
Steinar H. Gunderson [Mon, 16 Nov 2015 23:59:56 +0000 (00:59 +0100)]
Use the new decode_video_format() function from bmusb.

8 years agoRename a local variable for clarity.
Steinar H. Gunderson [Mon, 16 Nov 2015 21:48:31 +0000 (22:48 +0100)]
Rename a local variable for clarity.

8 years agoMake the implausible audio length check work with lower frame rates.
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.

8 years agoAdd an extra byte of headroom to the buffer so that overlong frames are not treated...
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.

8 years agoSupport true variable input frame rate instead of hard-coding to 60.
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.

8 years agoMove WIDTH/HEIGHT #defines into defs.h.
Steinar H. Gunderson [Mon, 16 Nov 2015 17:53:15 +0000 (18:53 +0100)]
Move WIDTH/HEIGHT #defines into defs.h.

8 years agoReduce the default cutoff a bit; we have no instruments below, so better to give...
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.

8 years agoDo some ALSA tweaks that will hopefully get rid of the underrun loops.
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.

8 years agoMove audio processing into a thread, since it seems we want as little as possible...
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.

8 years agoFix a leak in RefCountedFrame.
Steinar H. Gunderson [Sun, 15 Nov 2015 00:08:27 +0000 (01:08 +0100)]
Fix a leak in RefCountedFrame.

8 years agoMore consistent H.264 leak fixes.
Steinar H. Gunderson [Sat, 14 Nov 2015 23:59:29 +0000 (00:59 +0100)]
More consistent H.264 leak fixes.

8 years agoMinor updates to the README.
Steinar H. Gunderson [Sat, 14 Nov 2015 17:32:43 +0000 (18:32 +0100)]
Minor updates to the README.

8 years agoFix a leak in the H.264 encoder.
Steinar H. Gunderson [Sat, 14 Nov 2015 17:10:42 +0000 (18:10 +0100)]
Fix a leak in the H.264 encoder.

8 years agoFix a memory leak in the Lua code.
Steinar H. Gunderson [Sat, 14 Nov 2015 16:40:14 +0000 (17:40 +0100)]
Fix a memory leak in the Lua code.

8 years agoFix some leaks in ImageInput.
Steinar H. Gunderson [Sat, 14 Nov 2015 13:27:38 +0000 (14:27 +0100)]
Fix some leaks in ImageInput.

8 years agoFix a memory leak in audio encoding.
Steinar H. Gunderson [Sat, 14 Nov 2015 13:14:52 +0000 (14:14 +0100)]
Fix a memory leak in audio encoding.

8 years agoUpdate bmusb.
Steinar H. Gunderson [Sat, 14 Nov 2015 13:10:06 +0000 (14:10 +0100)]
Update bmusb.

8 years agoKill the H.264 encoder a bit earlier during shutdown; seems easier to debug shutdown...
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.

8 years agoSwitch to uncompressed (32-bit) PCM. Saves a little CPU processing power. Also requir...
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.

8 years agoMake the muxing buffer configurable, and 10 MB (since 1 MB is too little for our...
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).

8 years agoAdd an option to defs.h to set ffmpeg mux options.
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.

8 years agoMove some muxing parameters out into defs.h.
Steinar H. Gunderson [Sat, 14 Nov 2015 00:31:54 +0000 (01:31 +0100)]
Move some muxing parameters out into defs.h.

8 years agoMove audio codec choice into defs.h.
Steinar H. Gunderson [Sat, 14 Nov 2015 00:00:16 +0000 (01:00 +0100)]
Move audio codec choice into defs.h.

8 years agoPrecalculate the VU/LRA meter images as pixmaps, since the painting is so slow.
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.

8 years agoRate-limit VU and LRA meter updates.
Steinar H. Gunderson [Wed, 11 Nov 2015 19:00:29 +0000 (20:00 +0100)]
Rate-limit VU and LRA meter updates.

8 years agoOptimize the compressor a lot by making our own makeshift pow().
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.

8 years agoAdd a soundcard output via ALSA.
Steinar H. Gunderson [Tue, 10 Nov 2015 23:07:37 +0000 (00:07 +0100)]
Add a soundcard output via ALSA.

8 years agoUpdate README with the latest features.
Steinar H. Gunderson [Mon, 9 Nov 2015 22:53:20 +0000 (23:53 +0100)]
Update README with the latest features.

8 years agoMove the limiter after the compressor; since it is not the prettiest limiter out...
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.

8 years agoTweak the limiter by ear; increase the headroom so it does not trigger as often ...
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.

8 years agoFetch default threshold displays from the mixer.
Steinar H. Gunderson [Mon, 9 Nov 2015 21:59:29 +0000 (22:59 +0100)]
Fetch default threshold displays from the mixer.

8 years agoAdd some GUI elements (hooked up) to help tuning the compressor.
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.