Core Audio encoders: use hb_layout_remap instead of Apple's remapping functions
Apple's AudioConverterSetProperty function fails to set the
kAudioConverterChannelMap under OS X 10.7 Lion. In order to
avoid having to special-case and having to track whether or
not the bug gets fixed, this patch just uses our hb_remap_layout
function to do the remapping instead.
libhb: encavcodecaudio improvements
Compute the output layout once in encavcodecaInit and store it in a member
of the hb_encavcodeca work object.
Fix the channel mapping of ffaac in our code rather than applying a patch
to Libav. The Libav AAC encoder is bound to see a certain amount of
commit activity since it needs to be improved. A patch affecting the AAC
encoder is bound to break regularly
WinGui: Auto Selection of Audio and Subtitles - Patch by vendolis (Thanks!)
Adds finer grained control of the Automatic Audio and Subtitle selection feature.
Adds the ability to select multiple languages.
https://reviews.handbrake.fr/r/158/
MacGUI: use "AC3 (ffmpeg)" to designate the ffac3 encoder (for consistency).
- Patch by Rodeo
- This patch switches the codec name from "AC3" to "AC3 (ffmpeg)" for consistency.
- Backwards-compatibility with old presets is handled by mapping "AC3" to "AC3 (ffmpeg)" when loading a preset.
- Referenced here https://reviews.handbrake.fr/r/155/
libhb: fix access outside allocated memory region
In some cases we could access memory outside the memory buffer we
allocate for TS packets. This didn't cause any known crashes, but
it could possibly lead to a crash.
MacGUI: Consolidate passthrough mixdowns.
- There's no need for one passthrough mixdown per passthrough codec.
- When using passthru, mixdown is set to "None".
- Patch by Rodeo ... Thanks!
- Fix a bug where we would sometimes attempt to modify a non-mutable NSDictionary, causing a crash.
- Fix by blindjimmy ... Thanks!
cli: add --audio-copy-mask and --audio-fallback options
--audio-copy-mask sets which audio codecs are permitted to be passed thru
when the "copy" encoder option is specified.
--audio-fallback sets which encoder to use when it is not possible to
pass thru an input audio track
contrib: enable debuggin when debug=max and disable optimizations when optimizations=none
except for ffmpeg on darwin i386 which fails to build when optimizations
are disabled due to gcc running out of registers.
libhb: improve dvdnav main feature detection
Add detection of fake menus. Some menus have very short duration and/or
are hidden from the user by making the hightlight transparent. These
menus can lead to invalid titles if traversed, so ignore them.
libhb: improve dvdnav main feature detection
Improve detection of fake titles that are transitioned through on the
way to the real title when a menu button is pressed.
back off part of the last dvdread fix
It isn't necessary, and was incorrect. I was trying to
anticipate a future problem with references outside the allocated region
for the PTT, but did it wrong. It's probably best to just wait for a disc
that exhibits this potential problem to surface before attempting a fix.
libhb: fix a stack corruption crash when scanning some BDs
was overrunning the end of a stack based array when there were more
than 32 clips in a BD title.
libhb: when doing main feature search, skip prohibited buttons.
There is a field in the prohibited user operations PCI flags that
says when the user can push buttons. If they are prohibited, we
shouldn't push them when searching for the main feature since they
would not be accessible on a dvd player.
This fixes selection of "fake" titles on some discs.
libhb: add some logging to main feature search
This lets us see in the logs if it finds a root menu title, a title menu title,
or falls back to using the longest title. Log level 2 must be enabled to
see these.
WinGui: Replace the old-school Windows 9x folder dialog with a 3rd party (ookii) control which uses the new Vista / 7 style folder dialog which is significantly easier to use.
jstebbins [Mon, 27 Jun 2011 08:54:22 +0000 (08:54 +0000)]
LinGui: fix initial enabled state of audio options after scan
audios that are disabled were not getting grayed out in the audio options
list till the track or encoder selection changed.
jstebbins [Mon, 27 Jun 2011 07:13:13 +0000 (07:13 +0000)]
LinGui: fix a problem with enabling dts and dts-hd passthru in audio options
audio_config.in.codec in these cases is HB_ACODEC_DTS* | HB_ACODEC_FF_I_FLAG.
I was not masking off the FF_I_FLAG when checking the input codec.
Note, that this problem goes away in the RB patch that cleans up ffmpeg
hacks, the FF_I_FLAG being one such hack.
jstebbins [Thu, 23 Jun 2011 09:48:38 +0000 (09:48 +0000)]
libhb: fix progress information for batch scans
Use hb_batch_title_count() since hb_list_count() changes as unreadable
titles are removed from the list. Title count needs to be the total
number of files being scanned.
jstebbins [Wed, 22 Jun 2011 16:17:54 +0000 (16:17 +0000)]
LinGui: fix appindicator warning message in log at startup
A signal that causes an indicator update happens before the indicator
has been created, triggering a warning. so check that the indicator
exists first.
jstebbins [Wed, 22 Jun 2011 14:51:32 +0000 (14:51 +0000)]
LinGui: fix scaling problem with preview window
... when the screen is smaller than the preview. If the width fit but the
height didn't, it computed incorrect size and displayed with wrong aspect.
jstebbins [Tue, 21 Jun 2011 15:32:37 +0000 (15:32 +0000)]
LinGui: when appindicator is found, disable gtkstatusicon
libappindicator has a fallback mode that creates a gtkstatusicon
automatically if the indicator service can not be contacted. so I
should only enable one or the other, not both.
jstebbins [Tue, 21 Jun 2011 10:35:55 +0000 (10:35 +0000)]
libhb: fix incorrect error message when adding substreams to ts list
The error message was meant to catch the case were a source has
more than 2 substreams in a stream. But due to incorrect order of
conditionals, it triggered when both substreams have been seen and
we try to add one of them again (which is allowed and should do nothing).
sr55 [Mon, 20 Jun 2011 20:16:12 +0000 (20:16 +0000)]
WinGui: Update the About Window GPL statement & Fix an issue on the subtitles tab where it would refuse to allow an SRT to be imported when doing a queue edit.
jstebbins [Mon, 20 Jun 2011 15:58:36 +0000 (15:58 +0000)]
LinGui: Add status tray icon support for Ubuntu 11.04
Ubuntu disables GtkStatusIcon support in Unity and instead uses a new
API called AppIndicator. So this adds support for appindicator when
it is detected by configure.
sr55 [Mon, 20 Jun 2011 14:48:07 +0000 (14:48 +0000)]
Remove the qt4 directory. Nothing useful has come from this code and too much time has passed with no-one dedicating the time it requires to be useful.
dynaflash [Tue, 14 Jun 2011 20:54:10 +0000 (20:54 +0000)]
MacGui: Don't call "return" at the end of a void function.. .. Redux!
- As Per https://reviews.handbrake.fr/r/122/
- Thanks blindjimmy for the patche(s).
- Borked commit notes courtesy of me.
dynaflash [Tue, 14 Jun 2011 20:48:15 +0000 (20:48 +0000)]
MacGui: Add blank line to previous commit files to fix the commit notes I totally borked.
- Proper change is: Simplify conditionals to make them more readable. As per https://reviews.handbrake.fr/r/123/
- Reverts commit notes for https://trac.handbrake.fr/changeset/4056 besides the update to xcode 3.2.6
dynaflash [Tue, 14 Jun 2011 20:37:17 +0000 (20:37 +0000)]
MacGui: Don't call "return" at the end of a void function.
- Generally speaking, the fewer (simple) lines of code their are, the easier it is for someone to learn/understand it, so there's no good reason to have no-op lines laying around.
- As per https://reviews.handbrake.fr/r/122/
- Also re commit the update to xcode 3.2.6 commit from https://trac.handbrake.fr/changeset/4004 which I borked later.
dynaflash [Mon, 13 Jun 2011 20:27:46 +0000 (20:27 +0000)]
MacGui: HBAudio Indentation Cleanup
- Patch by Rodeo ... Thanks!
- Change hard tabs to 4 spaces
- Place the opening bracket of if, else if, else, while and for statements on another line, not the same line as the condition.
- Xcode's Edit > Format > Re-Indent on all files.
- This patch is purely about cosmetics and indentation. There shouldn't be any change in behavior.
- As per https://reviews.handbrake.fr/r/101/
jstebbins [Sun, 12 Jun 2011 18:05:20 +0000 (18:05 +0000)]
libhb: generalize channel remapping between decoders and encoders
Decoders set the channel map of their output in hb_audio_config_t.
Encoders use this information to remap while encoding.
jstebbins [Fri, 10 Jun 2011 18:20:30 +0000 (18:20 +0000)]
libhb: clean up AVCodecContext initializations
also fixes warning message generated by libav when initializing "silence"
sample about channel layout setting.
jstebbins [Fri, 10 Jun 2011 15:31:32 +0000 (15:31 +0000)]
libhb: disable threaded ffmpeg decoding for scan
There is a bug in ffmpeg that causes a crash if you call
avcodec_open and avcodec_close repeatedly on the same AVCodecContext.
dynaflash [Thu, 9 Jun 2011 18:37:14 +0000 (18:37 +0000)]
MacGui: Increase width of main window from 754 to 960
- Increases the main window width from 754 to 960 which is an increase of 206 px. This allows more breathing room for some crowded tabs like Audio, Subtitles and Advanced. Also increased the associated views. The main prompt for this is the very crowded audio tab which recently added Gain and also could use a vbr checkbox as well as possibly an aname field. I would rather maximize the width we deem available before going to an advanced audio track popup like the lingui and wingui currently utilize.
- For now any widgets have been expanded to their nearest longest known value without truncating.
- As per review board https://reviews.handbrake.fr/r/116/
jstebbins [Thu, 9 Jun 2011 00:49:31 +0000 (00:49 +0000)]
Refresh "Normal" preset
- Changes "Normal" to use x264 --preset veryfast --profile main
Nearly doubles it's speed for little loss of file size or quality.
- remove dummy average bitrate values from all built-in presets
- adds Large File Size to the High Profile preset