ritsuka [Sat, 2 Aug 2014 16:18:20 +0000 (16:18 +0000)]
MacGui: set the import/export chapters buttons size to small in an effort to use the same button size in the whole app (and the mini size on Yosemite is hard to read)
sr55 [Sat, 2 Aug 2014 15:18:50 +0000 (15:18 +0000)]
WinGui: Fix a styling issue on the preview window. Disable libhb encode for the upcoming release so that users don't inadvertently turn it on. Made the new preview window an optional setting, off by default as it's a Alpha feature. (See Preferences)
MacGui: check if the image returned by hb_get_preview2 is null to avoid a crash. The preview window will try to show the number of previews selected in the preferences, but an already loaded title might not have enough preview images.
This new function has a couple advantages over the old one (which we
should phase out).
It does not require hb_job_t as a parameter, instead it uses hb_ui_geometry_t
which is a smaller and simpler struct. The entire job struct is overkill as
input to this function.
It returns an hb_image_t that fully describes the returned image instead of
just a uint8_t array. The caller does not have to make assumptions about image
size, line stide, or pixel format since hb_image_t specifies these things.
MacGui: Implemented a configuration panel similar to the win/lin gui one for the subtitles defaults, and added some more options from the other guis (add all, remove all).
The SubtitleAddForeignAudioSubtitle setting will be added later after the automatic audio selection is done.
Fixed a bug where HandBrake used 50% of cpu time if the subtitles table view was selected.
Refactored a big part of HBSubtitlesController to make it works with the new automatic options and to cleaned the table view data source.
cli: allow user cli options to override defaults for fallback audio encoder
Solves: https://forum.handbrake.fr/viewtopic.php?f=10&t=28074&sid=68d8c5bfffd7081625bcd56fb7c4dad1
MacGui: Replaced some deprecated functions in HBDVDDetector and ignored the QTKit deprecations warnings for now. Grouped some files in the Xcode project.
MacGUI: Refactored the controller code for the video/audio/subtitles/chapters view:
Added a xib file and a NSViewController subclass for each tab of the main HandBrake window.
Each view controller now to responds to the HBContainerChangedNotification and HBTitleChangedNotification notifications instead of using a custom way to notify changes.
Converted the modified .xibs to the Xcode 5.1 format.
LinGui: work around bug in GtkScaleButton
When the button value is updated programatically, the update event is not
sent and therefore the label is not updated. So update the label manually
instead of relying on the event to trigger the update.
libhb: work around libav decoder error durint p-to-p encoding
In some cases, initial data when in p-to-p mode causes libav decoder
initialization to fail. This only happens when multi-threaded encoding
is enabled.
bradleys [Sat, 28 Jun 2014 16:41:51 +0000 (16:41 +0000)]
libhb: Improve nlmeans edgeboost prefilter.
Fixes a typo (1/27 instead of 1/127) that caused edgeboost to match on nearly everything, and tweaks this number slightly.
Adds a post-processing step to handle marked pixels having too few marked neighboring pixels as false positives.
bradleys [Thu, 19 Jun 2014 21:44:37 +0000 (21:44 +0000)]
libhb: New denoiser, nlmeans.
Non-local means averages multiple patches of similar pixels together, preserving similarities and attenuating variance (usually noise). This is typically more effective than lowpass and more faithfully restores the appearance of structure and detail found in the original source, especially in the high frequency range. Parameters for origin patch weight tuning and pre-filtering further improve on the original algorithm.
jstebbins [Wed, 18 Jun 2014 21:26:44 +0000 (21:26 +0000)]
macui/cli/libhb: cleanup
macui: Simplifies code in Controller.m and fixes a few bugs
macui: Fixes "Windows 8 Phone" preset aspect ratio problem
macui: round up to next mod boundary when limiting to title dimensions - crop
libhb: Eliminates hb_fix_aspect and hb_set_size functions.
libhb: Makes hb_validate_size a passthru to hb_set_anamorphic_size
cli: eliminage use of hb_validate_size
jstebbins [Fri, 13 Jun 2014 20:37:56 +0000 (20:37 +0000)]
decpgssub: partial fix for "multi-object" PGS subs
We were packaging multiple subtitle packets with the same pts and passing
down to rendersub which would then throw away all but the last sub with
a given pts. So put all AVSubtitleRects into the same hb_buffer_t.
A patch to libav is also required to fix the multi-object problem.
randomengy [Wed, 11 Jun 2014 03:45:16 +0000 (03:45 +0000)]
Interop: Fixed a bug that was causing crashes on AAC passthrough. We were clobbering the private data section with zeroes. Also added support for passing through a track if it's possible.
jstebbins [Thu, 29 May 2014 19:59:57 +0000 (19:59 +0000)]
libhb: Fix decoding avi with palette
... and probably other formats that use a palette.
The palette is stored in AVPacket side data which we did not read. So
read the side data and stash it in hb_buffer_t so that it can be used
later by the decoder.
sr55 [Sat, 24 May 2014 17:25:48 +0000 (17:25 +0000)]
WinGui: Don't grab previews when the preview window hasn't been opened. (Note, there is still a crash that sometimes happens for some resolutions that needs fixed, but the UI shouldn't crash anymore if the window hasn't been opened)
jstebbins [Wed, 21 May 2014 17:03:24 +0000 (17:03 +0000)]
LinGui: Improve auto destination file name behavior
Don't change the destination file name when a setting changes that is
not in the auto-name template. I.e. if quality changes and "{quality}" is
not in the template, leave the destination file name alone.
sr55 [Sat, 17 May 2014 21:27:20 +0000 (21:27 +0000)]
WinGui: Give the preview window a presence on the picture settings tab. Added some initial code to manage the window size. (Note, this is not complete or DPI aware yet)
jstebbins [Thu, 15 May 2014 16:39:08 +0000 (16:39 +0000)]
LinGui: work around bonehead Gtk developer decision
The width of radio buttons in GtkStackSwitcher are hard coded to 100.
Parse the container to get the buttons and fix this idiocy.
jstebbins [Thu, 15 May 2014 10:45:36 +0000 (10:45 +0000)]
LinGui: add "Reload" and "Reload All" toolbar buttons to queue window
This allow reseting queue entries to the pending status so that they
make be re-encoded.
I'm not sure when a user might use these, but I have had many occasions where
I wish I had this capability during debugging and testing.
jstebbins [Wed, 14 May 2014 09:32:09 +0000 (09:32 +0000)]
mux: fix problems created by >32 track limit patch
First problem was pre-existing, but hidden. Interleaving was severely
broken because we relied on buf->s.stop to determin interleave points.
stop is not guaranteed to be set.
Other problems with the new bit vector code caused failure to complete
muxing.
jstebbins [Tue, 13 May 2014 10:27:36 +0000 (10:27 +0000)]
demux: fix problem with widely spaced SCRs
Fixes this bug report https://forum.handbrake.fr/viewtopic.php?f=12&t=30032
Split MPEG demuxer into TS demuxer and PS demuxer to allow using different
PCR/SCR delta tolerance in each scenario.
We were using a PCR/SCR delta tolerance that was a bit of a compromise
between the max allowed by the specification for TS vs PS streams. But
the spec for TS PCR is 100ms and the spec for PS SCR is 700ms, so we
risked false detection of discontinuities in PS. In PS streams that pack
multiple frames into one PES packet, the detection of a discontinuity
causes recalculation of an scr offset which jumps around wildly.
jstebbins [Sun, 11 May 2014 15:19:52 +0000 (15:19 +0000)]
mux: eliminate 32 track limit
The limit was due to using an uint32_t as a bit vector. This solves
the limitation by introducing an hb_bitvec_t struct for bit vectors
of unlimited size.
WinGui: Fix an issue on the Audio panel that was resetting the audio selection mode on title change, if there were no audio tracks on the selected title.
Convert all text subtitles to ASS subs
Add support for font color to tx3g.
Allow more than one style flag at time in tx3g.
Add positioning support to CC subs