sr55 [Sat, 26 May 2012 02:29:13 +0000 (02:29 +0000)]
WinGui: Improvements and fixes to the Queue Window. Added WhenDone option. Fixed an issue where the progress counter would not display if you started an encode before opening the queue window.
Updated the Options Window to keep settings displayed up to date.
jstebbins [Thu, 17 May 2012 19:51:35 +0000 (19:51 +0000)]
libhb: tasksets API provided by scsiguy
This is an easier to use API for launching multithreaded tasks. And it is more
portable since it does not rely on undefined/implementation specific behavior
of POSIX mutexes. That is, the ability for one thread to unlock a mutex owned
by another thread.
jstebbins [Thu, 17 May 2012 14:15:18 +0000 (14:15 +0000)]
libhb: improve termination of forced subtitles
There isn't always an "empty" sub directly after a forced subtitle. This
causes the forced subtitle to be displayed for too long. So take the next
sub and convert it to an empty sub.
sr55 [Mon, 14 May 2012 23:24:25 +0000 (23:24 +0000)]
WinGui:
- Fix some stupid code in the CliCheckHelper class which could easily cause it to not set version information.
- Fix an issue in the scan service where it could try to write to a log directory which doesn't exist yet leading to no log file being displayed.
Rodeo [Mon, 14 May 2012 15:36:17 +0000 (15:36 +0000)]
libhb: include subtitles in all passes. When doing 2-pass, we want to send the same input to the video encoder in both passes, which requires including subtitles in case one has to be burned-in.
Update Foreign Audio Search to work with the new behavior.
sr55 [Sat, 12 May 2012 22:00:52 +0000 (22:00 +0000)]
WinGui: Make the new WPF UI default. (the old UI exe is still included in the build. Handbrake_old.exe)
Also includes bug fixes to the audio and subtitles panels.
Rodeo [Thu, 10 May 2012 22:30:18 +0000 (22:30 +0000)]
libhb: PGS subtitle improvements.
Some devices (such as the WD TV Live) expect PGS subtitle "frames" to come as a single packet, whereas on Blu-ray, each frame "segment" comes in its own packet. When doing PGS passthrough, merge packets so that 1 subtitle == 1 packet.
This matches what MakeMKV amd mkvmerge do.
Also, when doing forced-only extraction, don't include more 'empty' PGS subtitles than necessary.
In muxmkv, cleanup negative subtitle durations (doesn't appear to fix anything, but it doesn't make anything worse either).
jstebbins [Thu, 10 May 2012 00:22:51 +0000 (00:22 +0000)]
libhb: don't relocate SSA subtitle when burning
Unlike dvd or bd subs which may be in the crop zone of the video,
the ssa renderer knows the actual video dimensions and adjusts position
for us. Moving them when they are "close" to the borders just makes
a complete hash of things, so lets not do that.
jstebbins [Sat, 5 May 2012 19:29:01 +0000 (19:29 +0000)]
libhb: yet another fix for ssa burn-in positioning problem
We must offset the position that libass gives us by the top and left
cropping since the frame size we are telling libass to render into has
the cropping removed.
jstebbins [Sat, 5 May 2012 18:22:37 +0000 (18:22 +0000)]
libhb: Fix problem with positions of burned-in subs
When cropping and/or scaling, the position of burned-in SSA subs was broken.
Also, when scaling, the position of all other burned-in subs was broken.
Part of this fix is to revert a bit of filter initialization changes that
were made in this commit https://trac.handbrake.fr/changeset/4605
The other part of the fix is to add cropping parameters to the initialization
of the subtitle rendering filter. This filter needs the *original* title
dimensions and the crop values in order to compute the positions properly.
The changes that I am reverting gave it the scaled job dimensions and the
crop values. This was wrong in so many ways it's embarassing :p
jstebbins [Sat, 5 May 2012 18:12:00 +0000 (18:12 +0000)]
LinGui: use "allowed passthru" options even when hidden by preference option
If you don't do this, then presets that use these will not function as
advertised.
Rodeo [Tue, 1 May 2012 13:53:12 +0000 (13:53 +0000)]
Simplify Foreign Audio Search code:
- move all subtitle hit counting to the decoders instead of reader
---> allows us to count actual subtitles rather than just packets
- always count subtitles, even when not doing a scan (may be useful in the future)
Miscellaneous improvements:
- always insert select_subtitle at the head of the output subtitle list, to make it less likely to be dropped
- when multiple subtitle tracks have forced hits, pick the track with the fewest forced hits
---> Foreign Audio Search should now work with Star Wars on Blu-ray
- logging improvements (more readable, and log job->select_subtitle configuration - Forced Only vs. All, Render vs. Passthrough)
jstebbins [Tue, 1 May 2012 10:05:53 +0000 (10:05 +0000)]
libhb: fix problem with incorrect addition of audio silence
sync needs the precise duration of a frame of audio and has
no way to compute it for passthru audio. So add a duration
member to hb_buffer_t and set it in the audio decoders.
This should eventually supersede hb_buffer_t member "stop"
since it provides redundant information.
jstebbins [Tue, 1 May 2012 07:55:41 +0000 (07:55 +0000)]
libhb: allow arbitrary number of preview images, fixes potential crash
scan.c had a limit of 30 previews due to fixed array size. But test.c didn't
limit the max number of previews, so it was possible to generate a crash
by specifying > 30. This removes the limitation.
WinGui (WPF) Fix a bug in the GongSolutions WPF Drag/Drop Library to prevent a crash with dropdowns when clicking an item outside of the listbox control area.
LinGui: allow the user to select and use a bitrate for audio autopassthru
If the fallback encoder is used, the user should be able to set the
bitrate that is used.
libhb: fix crash when subtitle render filter fails to initialize
This can happen for non-fatal reasons when doing foreign audio search.
This makes all filter init failures non-fatal. We may want to introduce
fatal errors at some point. I need to inspect all the filters and see
if there are any errors that really must be fatal.
libhb: fix problem with fps calculation in 2 pass encodes
interjob was not getting initialized at the end of the 1st pass
because for some unfathomable reason, I did not save the job in
the filter objects private data even though I had a job variable there.
libhb: fix estimated number of frames expected
we don't need to overestimate it anymore since we do not terminate
the encode when this value is reached.
libhb: fix problem with rendering burned in subtitles
Remove unnecessary test of uninitialized alpha channel pointer. If the
uninitialized value was NULL, alpha wasn't factored into the blend.
Revision 4546 lost a call to hb_set_anamorphic_size, which in turn called hb_reduce on PAR values. Restore the call to hb_reduce, as the MacGui's custom anamorphic code doesn't reduce fractions on its own.
Also, call hb_reduce after each modification to the PAR in libavcodec compatibility code. This should reduce the loss of precision somewhat, by avoiding another division when the divided PAR width & height can be reduced to values <= 255.