jstebbins [Thu, 14 Aug 2014 17:25:24 +0000 (17:25 +0000)]
libav: fix problem decoding broken rv40 sample
The sample begins with a bframe which causes the rv40 to throw an error
at the beginning of decode. This error leaves frame threading in a bad
state that is never recovered from.
ritsuka [Wed, 13 Aug 2014 08:40:45 +0000 (08:40 +0000)]
MacGUI: Replace deprecated NSBeginCriticalAlertSheet / NSRunAlertPanel / NSRunCriticalAlertPanel with NSAlert. Patch https://reviews.handbrake.fr/r/711/ by Alexander Zautke with a few modifications by me.
jstebbins [Mon, 11 Aug 2014 17:48:19 +0000 (17:48 +0000)]
LinGui: Fix initialization of audio quality widget limits
When opening the audio edit dialog for a track in the audio list,
the audio quality was set to a bad value because the limits were
not set correctly.
sr55 [Sun, 10 Aug 2014 14:43:30 +0000 (14:43 +0000)]
WinGui: Add new preset keys for the Audio and Subtitle default behaviours. Updated existing preset parser to work with the current version of the plist preset format.
ritsuka [Sat, 9 Aug 2014 17:10:45 +0000 (17:10 +0000)]
MacGui: added the list of the presets at the bottom of the preset menu and a “New Folder” menu item. Removed the “delete built-in presets” item because it takes just two clicks to remove them manually.
Refactored part of HBPreset to a separate HBTreeNode class.
ritsuka [Fri, 8 Aug 2014 06:12:55 +0000 (06:12 +0000)]
MacGui: removed the last remaining of the code to load a custom application icon. It was used to load a specific icon for the 64bit version, but it’s now unused.
ritsuka [Fri, 8 Aug 2014 05:57:38 +0000 (05:57 +0000)]
MacGui: use a shorter NSString method to remove the prefix from the bsdName, as reported by denisx on irc, in HBDVDDetector and and a boxing expression to convert a c string to NSString.
ritsuka [Fri, 8 Aug 2014 05:55:01 +0000 (05:55 +0000)]
MacGui: removed a old check on the scan count from the era when the MacGui used a single libhb instance to encode and scan, and fixed a bug it was hiding: spurious calls to hb_get_state outside the updateUI loop were masking the HB_STATE_WORKDONE and HB_STATE_SCANDONE states, replaced them with hb_get_state2.
ritsuka [Thu, 7 Aug 2014 13:54:14 +0000 (13:54 +0000)]
MacGui: improved the presets management
Added a class to manage the presets (HBPresetsManager) and moved the presets drawer code to a new view controller (HBPresetsViewController).
Removed the limitation of two nested folders and added a way to add to custom folders.
jstebbins [Wed, 6 Aug 2014 20:24:23 +0000 (20:24 +0000)]
libav: fix decoding of mpeg4 in transport streams
There was a chicken & egg problem in the initialization sequence. mpeg4 only
worked in non-transport streams because we use libav for demuxing these.
The initializion of libav demux causes an additional initialization of the
codec which hides the problem.
jstebbins [Wed, 6 Aug 2014 17:11:41 +0000 (17:11 +0000)]
libhb: fix mp4 post tagging problems
A couple common mp4 taggers (mp3Tag and iTunes) fail to tag files
that have the Nero chapter atom (chpl). This atom was added when
we switched to libavformat for muxing. I haven't found any players
yet that rely on this for chapters. If we ever find any, we can
consider adding an option somewhere to enable chpl.
ritsuka [Mon, 4 Aug 2014 07:12:12 +0000 (07:12 +0000)]
MacGui: Adds a new sheet for audio defaults (presets), uses the same preset keys as the LinGui.
The built-in presets still use the languages from the Audio preferences.
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)