Bradley Sepos [Thu, 22 Jun 2017 09:53:13 +0000 (05:53 -0400)]
presets: Minor encoder tweaks for main Production presets.
Add additional x264 encoder options dct-decimate=0 and fast-pskip=0 (same as no-dct-decimate=1 and no-fast-pskip=1).
In some special cases, reproduction of flat areas and subtle gradients may improve slightly. Generally speaking, any change should be visually imperceptible at these bit rates, but adding a few extra bits is always acceptable when encoding for production intermediate purposes. Negligible speed hit (1-2%) for the main Production presets.
On the contrary, these settings are worse than useless for Production Proxy presets, which are optimized for speed. 5% speed hit isn't worth the tradeoff for low resolution proxies that need to be generated quickly and won't be used for final export.
John Stebbins [Tue, 20 Jun 2017 22:09:33 +0000 (15:09 -0700)]
LinGui: change Audio/Subtitle "Defaults" to "Selection"
There is persistent confusion about how to configure audio and subtitle
selection behavior. Hopefully this will help steer people in the right
direction.
John Stebbins [Tue, 20 Jun 2017 21:52:19 +0000 (14:52 -0700)]
LinGui: Make disk warning limit configurable
Allow disabling and setting disk warning limit in preferences.
When enabled checks disk fullness every 10 seconds during encoding.
If disk full condition is detected, pauses the encode and gives
a popup with options "Resume, I've fixed the problem", "Resume, Don't
tell me again", and "Cancel Current and Stop".
Damiano Galassi [Mon, 19 Jun 2017 17:53:00 +0000 (19:53 +0200)]
MacGui: do not crash if hb_video_encoder_get_name returns NULL, it might happens if there is a saved job with an external encoder (x264 10bit for example), and the external lib is no longer available.
For some stream types, libav does not seek all streams within the file
to the same position. So we get data from streams that is prior to the
desired preview start position leaking through. The result, for example,
is a preview that has audio that starts from the beginning of the file
and video that starts much later at the desired start pos.
Bradley Sepos [Fri, 16 Jun 2017 17:05:13 +0000 (13:05 -0400)]
presets: Add Production presets for use with professional video editing software.
Production Max and Production Standard are high bit rate, short GOP (I/P), constant frame rate presets suitable for use as intermediate formats for video editing.
Production Proxy 1080p and Production Proxy 540p are high bit rate, Intra-only (I), constant frame rate presets suitable for use as low resolution proxy formats for video editing. The Proxy presets correspond to one-quarter (1/4) 2160p 4K Ultra HD and one-quarter (1/4) 1080p Full HD resolutions, respectively.
sr55 [Sat, 17 Jun 2017 20:11:56 +0000 (21:11 +0100)]
WinGui: Add a "Or Drop File Here" box to the transparent area beside the source selection to make the feature more prominent. Also decrease the transparency a bit to make the inactive backbround darker.
If the end point is near the end of file and one of the streams reaches
eof before the end point is detected, the eof buffer for that stream was
not sent. Flush all streams when end point is reached.
John Stebbins [Fri, 2 Jun 2017 15:51:21 +0000 (08:51 -0700)]
sync: work-around players with broken edit list support
This adds a preset key AlignAVStart that enables this work-around. When
enabled, blank frames are inserted or frames are dropped to force
alignment of the initial timestamp of every audio and video stream.
Aligning the start times minimizes the impact of broken edit list
support in players.
Closes #763.
Squashed:
sync: improve alignment when passthru audio is present
presets: enable AlignAVStart for General and Gmail presets
LinGui: Improve AlignAVStart tooltip
sync: avoid inserting a black frame < nominal frame duration
sync: fix start alignment when doing p-to-p encoding
John Stebbins [Mon, 12 Jun 2017 23:54:13 +0000 (16:54 -0700)]
LinGui: Allow resizing window smaller
Make widget geometry changes that allow the window to be sized smaller.
Minimum size with Fedora's default Adwaita theme is 1080x698. Other
themes will vary in size.
John Stebbins [Mon, 12 Jun 2017 14:44:14 +0000 (07:44 -0700)]
Allow audio fallback to be "None" (#623)
* Allow audio fallback to be "None"
When audio fallback is "None", a failure to do passthru will result in
no output audio track being added.
* simplify audio autopassthru fallback logic
Drop track when fallback codec is invalid instead of falling back to a
default. Since all presets have a fallback set, the default fallback
condition would only ever be triggered by an invalid setting.
sr55 [Thu, 8 Jun 2017 18:26:52 +0000 (19:26 +0100)]
WinGui: Set a app wide 15 second default for tooltips up from the standard 5 seconds. In some select cases it's overridden to 20. Seems like a more reasonable compromise vs being too short and requiring too many attempts to hover over controls. Fixes #718
John Stebbins [Wed, 7 Jun 2017 20:02:56 +0000 (13:02 -0700)]
preset: fix importing some preset versions (#774)
If a preset file is read that has a version where no specific changes to
the preset format were made, we did not perform an import even though
some later preset version has changes.
sr55 [Wed, 7 Jun 2017 18:38:42 +0000 (19:38 +0100)]
Remove the OpenCL Bicubic scaling option. Unfortunatly it's causing too many problems and it's maximum 5% performance improvement (in ideal circumstances) doesn't justify the effort to continue with it. The OpenCL framework will remain in place in case we decide to use it for something in the future. Closes #690
John Stebbins [Wed, 31 May 2017 17:21:53 +0000 (10:21 -0700)]
filter: add frame parallelizing filter wrapper
This wrapper can be used to frame parallelize simple video filters. By
simple, I mean there can be no temporal context that is shared from one
frame to the next.
Wrap unsharp and lapsharp filters. unsharp required a small rework to
separate out temporary storage that is required when processing each
frame. We now need to duplicate this storage for each thread.
sr55 [Wed, 31 May 2017 19:56:25 +0000 (20:56 +0100)]
WinGui: Add "None" as an option to the fallback encoder dropdown. Setting this option to none will not add a passthru track when the passthru codec does not match the source track. #623
sr55 [Mon, 29 May 2017 18:21:40 +0000 (19:21 +0100)]
WinGui: Remove the legacy XML based queue import/export funcitonality. One can still export to JSON for the CLI but currently import is still not supported for JSON.
John Stebbins [Thu, 25 May 2017 17:09:21 +0000 (10:09 -0700)]
stream: Improve stream type detection through probing
If the stream is damaged, a probe can fail due to bad data at the
start of the probe buffer. So try filling the probe buffer from
multiple start positions in the file.
sr55 [Wed, 24 May 2017 20:47:12 +0000 (21:47 +0100)]
WinGui: Change the "For Additional Tracks" dropdown. Remove the "None" option. It doesn't make sense. This fixes an issue where we couldn't load "all" due to the preset key for it being a 2 state bollean rather than a 3 state option.
John Stebbins [Thu, 11 May 2017 20:17:51 +0000 (13:17 -0700)]
encavcodecaudio: work around lame bug
On windows builds, there is an upstream bug in the lame
encoder that causes an extra output packet that has the same
timestamp as the second to last packet. This causes an error
during muxing. Drop the packet with the duplicate timestamp.
WinGui: Change to the queue duplicate detection. It currently filters by "Waiting" tasks. This now extends that to "In Progress". "Completed/Error" will continue to allow jobs to be added to the queue. Fixes #695