MacGui: Use new dock icon created by Matt Johnson (mattdog.100 [at] gmail.com)
- Details can be found here https://forum.handbrake.fr/viewtopic.php?f=4&t=24639&start=125.
- Thanks!!!
WinGui: LibHb Encode and Scan support (off by default for the moment until I have time to test this and tidy up some of the code) Can be turned on in preferences.
MacGui: Add the drag & drop features on both DockIcon and Handbrake Main Window
- Patch courtesy of Jerome Lacube. Thanks Jerome!
- It handles dragging & dropping one file, and folders.
-- Please note that when dropping a folder, the files inside will be treated as titles.
- Specifics can be found here https://reviews.handbrake.fr/r/345/
- fix issue:
abort() called
*** Terminating app due to uncaught exception 'NSInvalidArgumentException'
reason: '*** -blueComponent not defined for the NSColor NSCustomColorSpace Generic RGB colorspace 0.5 0.5 0.5 1; need to first convert colorspace.'
- remove superfluous color conversions; according to NSGradient docs, any needed colorspace conversions of params are automatic
- use [NSColor colorWithAlphaComponent] to force alpha
- change [NSColor colorWithSRGBRed] to [NSColor colorWithDeviceRed] for 10.6 API compatibilty
- [cosmetic] rename parm withEndColor -> endColor
- [leak] release NSGradient
MacGui: New dock icon progess behavior with percent & ETA "badges".
- Patch by Jerome Lacube Thanks !!
- Details can be found here https://reviews.handbrake.fr/r/344/
libhb: fix potential invalid memory access in decomb
YADIF_CHECK in MODE_CUBIC touches pixels -3 and +3 from the current position.
We had a conditional to bypass this check if we were 2 away from left
or right edges which was insuffecient for this mode.
libhb: handle overlapping timestamps better
This shouldn't happen except in the case of bad sources or an hb bug.
But if encountered, it provoked a feedback loop of frame dropping and
duplication where there should have been a single frame drop.
libhb: Fix error when setting timestamps for bobbed frames in decomb
is_combed flag was not getting updated, so the timestamp recalculation was
skipped even though 2 frames were output.
Set AVPacket flags indicating key-frame for avcodec_decode_video2() call. Specifically, libav documentation states:
* @param[in] avpkt The input AVpacket containing the input buffer.
* You can create such packet with av_init_packet() and by then setting
* data and size, some decoders might in addition need other fields like
* flags&AV_PKT_FLAG_KEY. All decoders are designed to use the least
* fields possible.
The caller may specify any width & height now, rather than having to initialize the x264_param_t's fields directly.
Since it's reasonable to expect GUIs to only provide valid levels (if it doesn't, there's a bug that needs fixing), it's OK to abort when the requested level is not valid.
Remove mingw+libmkv dependency on libiberty.
Remove mingw+test dependency on libiberty.
Add build system support for propagating compiler DEFINES to contrib configure.
A patch for mpeg2 SetWindowLong() and GWL_USERDATA do not exist in recent versions of mingw-w64. Since we don't output to the display anyway, I've just disabled the code so things build.
WinGui: Implement hb_get_audio_bitrate_limits() in the Windows UI to provide only valid bitrate options. Also disabled the bitrate selection control for flac.
WinGui: Add support for new Mixdowns (6.1, 7.1, 7.1 (5F/2R/LFE), Mono left only, Mono Right only). Please note this will break any presets that currently have 6ch (aka 5.1 or 6 Channels Discrete) Presets must be re-created.
Add autotools { autoconf, automake, libtool } as contribs.
Primarily necessary for OSX platform after Xcode 4.2.x, but also useful for
any platform which is missing or has obsolete versions.
1. add configure option: --enable-local-autotools
2. --enable-local-autotools is automatically TRUE when any of { autoconf, automake, libtool } are not found in path.
3. --enable-local-autotools causes contribs of { m4, autoconf, automake, lib tool } to be built
4. add m4 to contrib (prerequisite for autoconf)
5. add autoconf to contrib (prerequisite for automaker and many contribs)
6. add automake to contrib (prerequisite for many contribs)
7. add libtool to contrib (prerequisite for many contribs)
8. All contribs (except the autotools themselves) automatically mark autotools as a prerequisite.
9. $(AUTOTOOL_MODULES) is available if other non-contrib modules need to mark as prerequisite.
10. PATH is automatically prefixed with contrib/bin for all modules, all targets.
New supported samplerates: 8, 11.025, 12, 16 kHz.
Now 8, 11.025, 12, 16, 22.05, 24, 42, 44.1, 48 Khz are supported.
Unsupported samplerates are sanitized to the closest samplerate for all encoders.
Samplerates < 32 kHz are now forbidden for AC3 encoding (sanitized to 32 kHz). Most AC3 decoders don't support such samplerates.
New upmixing: 3.0 (Front Left, Right & Center) can now be upmixed to 5.1 to preserve the center channel.
New mixdowns:
6.1 (Front Left, Right & Center, Surround Left, Right & Center, LFE)
7.1 (Front Left, Right & Center, Surround Left & Right, Rear Left & Right, LFE)
-> available to Vorbis & FLAC encoders for compatible input channel layouts
7.1 (Front Left, Right & Center, Front Left & Right of Center, Surround Left & Right, LFE)
-> available to AAC encoders (ca_aac, ca_haac, faac) for compatible input channel layouts
Mono (Left Only): Stereo to Mono by discarding the Right channel
Mono (Right Only): Stereo to Mono by discarding the Left channel
-> available to all encoders for non-Dolby Stereo input
The "6-channel discrete" mixdown becomes "5.1 Channels".
New bitrates: 960 - 1536 Kbps.
This lets users work around poor audio quality in crappy encoders by throwing more bits at them.
Bitrate limits have been re-worked and re-tested for all encoders.
dynaflash [Mon, 27 Aug 2012 18:36:17 +0000 (18:36 +0000)]
MacGui: Add support for a secondary audio language track.
- Patch courtesy of Dennis Frommknecht ... thank you!
- Adds a second language preference in Preferences > Audio
-- If the corresponding language is not available in the source, the group for this language is not added. If neither default nor alternate language is found, the first audio track would be added (as it is already). The alternate language can also be left empty in which case no second group is added.
-- The implementation ensures that the same track is not added twice (if default and alternate language are identical). It is also flexible enough to support an arbitrary number of languages. They just have to be added to array "preferredLanguages" at the beginning of method "addTracksFromPreset" (HBAudioController.m).
The original patch and explanation can be found at https://reviews.handbrake.fr/r/262/
Rodeo [Sun, 26 Aug 2012 14:35:54 +0000 (14:35 +0000)]
Use a more direct workaround for the DTS-ES XCh decoding issue.
The workaround committed in revision 4896 works for now, but if/when we add 6.1 encoding, we'll want to decode that discrete center surround channel. We could special-case it, but the issue would still be present under 64-bit Windows.
Instead, disable the buggy assembly optimizations until they are fixed.
sr55 [Mon, 20 Aug 2012 19:20:51 +0000 (19:20 +0000)]
Handbrake Toolbar Icons by Nik Pawlak (holla@nikpawlak.com, @nikpawlak, http://nikpawlak.com)
For use only with Handbrake software and directly related non commercial projects.
sr55 [Sun, 19 Aug 2012 16:43:13 +0000 (16:43 +0000)]
WinGui: Prototype of process isolation support (to be used for libhb when this is fixed up). Uses WCF for process communication.
Initially for the scan service only, encode service proxy coming soon.
No changes required for the UI application. Two new implementations of IScan and IEncode will act as a proxy between the UI and the Server Service Layer.
Rodeo [Wed, 15 Aug 2012 15:25:06 +0000 (15:25 +0000)]
declpcm: modify hdr2layout.
AV_CH_LAYOUT_STEREO w/7 or 8 channels is invalid anyway, and will get sanitized in hb_ff_layout_xlat(). Doing it in declpcm directly avoids an unnecessary call to that function, with identical results.
Rodeo [Wed, 15 Aug 2012 15:15:35 +0000 (15:15 +0000)]
Check the return code of hb_audio_resample_update(). This allows us to log an error when it fails, so we know which decoder actually called the function.
Rodeo [Sat, 11 Aug 2012 09:24:54 +0000 (09:24 +0000)]
Fix a bug where we were attempting to downmix Dolby Surround (AV_CH_LAYOUT_STEREO_DOWNMIX) to AV_CH_LAYOUT_STEREO via libavresample (which is not implemented).