van [Tue, 22 Jan 2008 22:06:28 +0000 (22:06 +0000)]
- Make MPEG audio (and other audio types besides AC3) work.
- Since the stream is closed after the scan then reopened by reader, we have to preserve all the state we gathered during the scan (like audio id to TS PID bindings) across the close. For now do this by ignoring the close call & doing a close internally when a stream of a different name is opened.
- Don't overfill ts_packetbuf and abort just because an audio stream was missing the AC3 sync pattern (MPEG & DTS streams don't even have an AC3 sync pattern).
- Get rid of several unused variables so that this compiles with no warnings.
van [Tue, 22 Jan 2008 21:55:38 +0000 (21:55 +0000)]
- rather than completely giving up on a dvd because we got a read error on next_vobu, just skip to the start of the next cell & keep going.
- get rid of some unused variables so this compiles with no warnings.
jbrjake [Tue, 22 Jan 2008 19:53:33 +0000 (19:53 +0000)]
Maintains separate filter settings for each job. This prevents the MacGui from using the same filter settings for every job in the queue. Patch from travistex.
jbrjake [Tue, 22 Jan 2008 17:19:43 +0000 (17:19 +0000)]
Prevents VFR from leaving PTS gaps at dropped frames, so it works properly with the new sync and MP4 muxing code in r1223 and r1224 that passes through the source's time stamps.
dynaflash [Tue, 22 Jan 2008 15:33:02 +0000 (15:33 +0000)]
MacGui: Make Legacy iPod presets truly backwards compatible
- Preset code now adds "level=30" to the advanced options string if the deprecated "x264 (h.264 iPod)" is detected as encoder in a legacy preset.
dynaflash [Mon, 21 Jan 2008 20:53:22 +0000 (20:53 +0000)]
Macgui: update built in presets to comply with the new x264 encoder and Add iPod Atom checkbox.
- Use "Update Built In Presets" to , well update your built in presets
- No behavioral change in gui as preset code is backwards compatible to presets create using the old dropdown values.
dynaflash [Mon, 21 Jan 2008 17:54:16 +0000 (17:54 +0000)]
MacGui: Be Gone x264 (h.264 iPod) encoder drop down!
- Added an "Insert iPod Atom" checkbox right under "HTTP optimized" checkbox which sets job->ipod_atom = 1; in prepareJob if checked (Note: the name of the checkbox is currently up for debate, we are taking suggestions though the current name is most indicative of what it does).
-Level is now handled in the advanced panel opt strings for x264 and width is no longer sanity checked by the gui.
- Changed the remaining x264 (Main) to just x264
- Modified preset code to account for legacy presets from old dropdowns
- Modified built in presets to include "level=30" for iPod / iPhone presets NOTE: Update your built in presets if you want the iPod and iPhone presets to be compatible.
- Removed the "Reset Picture to 640 for x264 iPod" preference from the Preferences -> Picture panel.
van [Sun, 20 Jan 2008 07:06:17 +0000 (07:06 +0000)]
- get rid of 'chapter merging'.
- check for 'beginning of cell' before 'end of cell' so zero length cells don't
make us advance to the next cell too early & fail to generate a chapter mark.
- don't read beyond the last cell of a title.
- if we get a read error just skip to the next vobu instead of giving up.
- fix the next_vobu mask (the top two bits have special meaning, not just
the MSB), make the next vobu decision logic a bit closer to what a hardware
dvd player uses (interpret the 2^30 bit as "look for a better vobu pointer
in this navpack), make the 'end of vobu chain' recognition more robust.
- when we're searching for a navpack because we couldn't read the block
'next_vobu' points to, recognize when we walk out of the current cell &
just go to the next cell for this title.
- treat an internal vobu with a null prev_vobu pointer as if it were end-of-cell
and advance to the next cell.
- use consistent case in log messages (always "dvd:" rather than a random mix
of upper & lower case).
jbrjake [Fri, 18 Jan 2008 20:21:03 +0000 (20:21 +0000)]
Use IS0 639-2/T language codes instead of ISO 639-2/B language codes because QuickTime is a whiny little PITA too simple-minded to handle the concept of synonymous terms.
Should fix any issues with audio tracks showing up with "Undetermined" language in QT/iTunes/iPod.
dynaflash [Thu, 17 Jan 2008 15:15:42 +0000 (15:15 +0000)]
MacGui: Remove the /macosx/localize.sh file from the make build process as it was messing up the sparkle updater and in the future we want to localize the nibs the correct way anyway so its not needed.
dynaflash [Wed, 16 Jan 2008 17:50:50 +0000 (17:50 +0000)]
MacGui: Sparkle Updater initial implementation
- Changed the call to hb_init to use "0" instead of the old check for updates at launch boolean value from the preferences
- Added Sparkle.framework to the xcode project
- Added "Check for updates..." menu item in the file menu
- Check for updates at launch in the preferences window now binds to SUCheckAtStartup in Shared User Defaults
- Macgui now checks for updates against our appcast at handbrake.fr/appcast.xml (this is specified in /macosx/HandBrake.plist as the value for the "SUFeedURL" which is added now.
- To check for update Sparkle compares the number in the "CFBundleVersion" (which is our build number) against the "sparkle:version="xxx"" in the enclosure tag in the appcast to trigger an update alert
- TO TEST: Change the CFBundleVersion in /macosx/HandBrake.plist to < 10101 (the dummy sparkle:version in the appcast right now) and build, upon launch you should get alerted of a new version available
- NOTE: The entire Sparkle.framework directory is added to the svn in this commit. Its 2.4 mb, though it looks like some things (particularly a ton of localized nibs) could be removed to slim it down quite a bit. As its the initial implementation and I know its tested I am committing the whole thing for this rev.
sr55 [Wed, 16 Jan 2008 16:17:37 +0000 (16:17 +0000)]
WinGui:
- Tested and fixed a few issues with the appcast updater.
- Fixed a small issue where dropdowns wouldn't have a default value on startup if presets.dat was missing and user defaults was turned off.
- Disabled loose anamorphic for ffmpeg and xvid encodes.
- Added a useful error message to the presets bar when presets.dat is missing.
jbrjake [Tue, 15 Jan 2008 20:04:42 +0000 (20:04 +0000)]
Make makes its glorious comeback -- you're stuck in a jam no more! Mac OS X Contrib Binary Pack ++ to 0021. There are a bunch of weird symbol errors like 'ranlib: for architecture: ppc file: lib/libxvidcore.a(timer.o) has no symbols
' but everything seems to work okay with the components throwing the errors...
jbrjake [Tue, 15 Jan 2008 14:58:08 +0000 (14:58 +0000)]
Applies an experimental patch to x264 allowing VBV contraints on ABR in 2-pass mode. Also disables the adaptive quantization patch for the time being, in anticipation of a stable AQ v4.
jbrjake [Mon, 14 Jan 2008 17:52:28 +0000 (17:52 +0000)]
Use weightb=0 for turbo 1st pass x264 options. This prevents frame count discrepancies between passes that can lead to a crash at the end of the 2nd pass.
dynaflash [Sun, 13 Jan 2008 15:04:52 +0000 (15:04 +0000)]
Macgui: Remove now defunct PictureGLView .h and .mm as they are no longer necessary since switching to NSImageView.
- Effectively completes the removal of "Useless OpenGL Effects" from Picture Preview.
dynaflash [Sat, 12 Jan 2008 22:45:15 +0000 (22:45 +0000)]
MacGui: Switch PicturePreview to use NSImageView instead of the openGL view.
- thanks travistex
- uses a new method makeImageForPicture which gets the previews into an NS image.
sr55 [Wed, 9 Jan 2008 20:02:18 +0000 (20:02 +0000)]
WinGui:
- Added an Activity window which can view a verbose log from the CLI after an encode has completed. (it would be nice if someone could find a way of making this live!)
- The main GUI window now has an icon based toolbar similar to the macGUI instead of having standard buttons along the bottom for Encode and Queue.
- Some of the controls on the Options panel have had transparent backgrounds added so they don't look out of place on theme'd computers.
dynaflash [Wed, 9 Jan 2008 14:46:52 +0000 (14:46 +0000)]
MacGui: Add some activity log messages pertaining to source scan selection
- Add message telling if user tried to open a physical dvd, reports the volume name instead of path (like hb_scan does now). This should help us with support as it tells us from the log what commercial dvd the user is trying to scan directly in most cases.
- Add message to tell us which title the user chose to scan for a title specific scan
- Cosmetic changes: changed messages and macgui leader to all lowercase to blend in better with the rest of the libhb messages
dynaflash [Wed, 9 Jan 2008 05:45:36 +0000 (05:45 +0000)]
MacGui: Add preset name used (or custom) to the queue and activity log
- Courtesy of travistex
- Uses "Custom" if the settings do not reflect a preset
- Changed some names of functions in HBQueueController and added some comments
- The main controller now notifies the queue controller whenever jobs are added to libhb. This allows the queue to find out about such jobs without having to query libhb's job list periodically.
dynaflash [Tue, 8 Jan 2008 18:43:31 +0000 (18:43 +0000)]
MacGui: establish the source display name in browseSourcesDone instead of showNewScan to alleviate using the same logic twice depending on source type
- Also adds the ability to scan .dvdmedia packages
- Also changes the xcode project to not report xib messages during building, which previously filled the screen with remedial alignment messages, etc.
- .xib warnings and errors are still reported
dynaflash [Tue, 8 Jan 2008 18:05:30 +0000 (18:05 +0000)]
MacGui: modify writeToActivityLog to use vargs
- thanks travistex
- can now accept input like: [self writeToActivityLog: "trying to open a package at: %s", [path UTF8String]];
dynaflash [Tue, 8 Jan 2008 15:43:09 +0000 (15:43 +0000)]
MacGui: HandBrake.app xib nib conversion
- All nibs in the HandBrake target are now .xib file format
- Will only build with IB 3 and above, which means HandBrake.app now only build on Leopard
- Changed the "Per-configuration Build Products Path" to be "$(PROJECT_DIR)/.." in order to successfully build - thanks travistex
dynaflash [Tue, 8 Jan 2008 13:58:45 +0000 (13:58 +0000)]
Macgui: Implement writeToActivityLog method with provides a simple way to send messages to the activity window and log much like hb_log including a time stamp.
- example call : [self writeToActivityLog:"trying to open a package"];
dynaflash [Mon, 7 Jan 2008 19:54:42 +0000 (19:54 +0000)]
Macgui: Change to using stderr to write to the activity window from within the gui.
- stdout works, but only when run from within xcode. not when hb is run by itself.
- Duh!
van [Sun, 6 Jan 2008 23:18:42 +0000 (23:18 +0000)]
- figure out MPEG PS duration from stream rather than faking it.
- correct some audio substream id mistakes: substream 2 is for dvd
subtitles (in a vob) not lpcm, substream 10 is lpcm, dts seems
to be a variant of ac3 (8), not its own code.
- incorporate suggestions from eddyg's code review.
sr55 [Sun, 6 Jan 2008 16:33:57 +0000 (16:33 +0000)]
WinGui:
- Fixed: for Auto-naming where it would incorrectly set directory when the user had no default set
- Fixed: A few control's were not set to transparent so showed up incorrectly on themed windows machines.
jbrjake [Sat, 5 Jan 2008 01:26:17 +0000 (01:26 +0000)]
Structural changes:
- Gets rid of global and class variables
- Moves CLI option parsing to its own method
- Moves output display to its own class
- Removes unnecessary temporary hashes
jbrjake [Fri, 4 Jan 2008 18:37:03 +0000 (18:37 +0000)]
Fill in the "Encoded By:" tag in MP4 files with "HandBrake" followed by the version number and build date. Thanks for making me aware that libmp4v2 had an MP4SetMetadataTool() function, realityking.
dynaflash [Thu, 3 Jan 2008 19:11:26 +0000 (19:11 +0000)]
MacGui: Loose Anamorphic initial implementation
- Changes the PAR checkbox to an anamorphic NSPopUp Button with "None", "Strict", and "Loose".
- Sanity checks against the ffmpeg encoder, until that gets fixed.
- removed six unneeded outlets for picture sizing in Controller.mm.
- Previous presets will gracefully degrade to us "Strict" if anamorphic is specified.
- I know about the bug where the picture window changes size on the first width drop when resizing Loose Anamorphic, so dont ask ;)
sr55 [Wed, 2 Jan 2008 16:58:39 +0000 (16:58 +0000)]
WinGui:
- Chapters.csv and dvdinfo.dat are now saved in the windows temporary folder. This should mean the application doesn't need admin rights on Vista. Thanks to "doubt" for the patch.
- Few UI theme tweaks.
dynaflash [Mon, 31 Dec 2007 17:24:09 +0000 (17:24 +0000)]
Macgui: Enable opening up .eyetv packages directly
- check source to see if the chosen file is a package
- if so, checks for the .eyetv extension
- then finds the program stream in the package and opens it.
- gui does not call hb_scan if source is identified as a package, but is not an .eyetv package to avoid scanning errant packages
- very verbose activity log messages from the gui for packages, would likely comment out for release, mostly to verify in testing.
dynaflash [Mon, 31 Dec 2007 17:11:15 +0000 (17:11 +0000)]
Program Stream Enhancements - Van: Libhb
- Thanks Van !
- Identifies program streams by type instead of file extension
- Improves proper duration reporting of program streams
- fixes audio reconvergence code in libhb/sync.c trying to free a null buffer causing a crash
- Assorted other enhancements to encoding program streams.
jbrjake [Fri, 28 Dec 2007 20:02:41 +0000 (20:02 +0000)]
Extends hb_set_anamorphic_size() to make it possible to do "dry-runs"...this way the MacGui can calculate loose anamorphic values for displaying preview images, before the job variables are directly set in work.c.
jbrjake [Fri, 28 Dec 2007 19:48:37 +0000 (19:48 +0000)]
Better b-frame muxing. Instead of using an arbitrarily long offset and then later walking the file to find the smallest one, now x264 uses the smallest delay it can from the start. This significantly cuts down muxing time.
As a side effect, it also makes fixing chapter markers + b-frames easy, so that's included too in muxmp4 (thanks, van!).
jbrjake [Fri, 28 Dec 2007 18:17:24 +0000 (18:17 +0000)]
"Great! Where are we going?"
Prevents sync.c from prematurely ending the encode when its estimated maximum frame count is too low, by doubling that maximum.
Thanks for fixing this long-standing bug, van!
jbrjake [Fri, 28 Dec 2007 18:03:01 +0000 (18:03 +0000)]
Patches mpeg4ip's build script so it doesn't check for libmp4v2 compatibility in the system-level copy of faac, since HandBrak doesn't use that copy of the library. It always trips up Linux users. Thanks, saintdev!
sr55 [Thu, 27 Dec 2007 21:03:40 +0000 (21:03 +0000)]
Updated makefile for cygwin builds
app = download contrib binary package and compile source
all = use Jam to build the source
Works the same way as linux does now.
dynaflash [Wed, 26 Dec 2007 16:26:57 +0000 (16:26 +0000)]
MacGui: Maintain Picture Filters state across sources
- Picture filters no longer reset to their defaults when a new source is chosen (includes vfr as well setEnabled to the fps drop down in the main window).
- Added a new method -setInitialPictureFilters to PictureController.m to setup the filters upon first scan instead of in -SetTitle which reset them every time a new title was accessed.
sr55 [Fri, 21 Dec 2007 17:45:15 +0000 (17:45 +0000)]
WinGui:
- Changed back from Query Window to Query Editor tab by popular demand.
- Fixed a small issue with resolution calculating the height when it shouldn't.
- Removed some old labels from the main window.
dynaflash [Wed, 19 Dec 2007 19:57:44 +0000 (19:57 +0000)]
MacGui: DRC slider modifications
- Use the float value field rounded to 100ths for the actual drc value passed to libhb (previously was using float down to millionths which was obscured from the user by the size of the value field).
- move -audDRCSliderChanged method to where the other audio control methods are in controller.mm
sr55 [Wed, 19 Dec 2007 17:23:54 +0000 (17:23 +0000)]
WinGui:
- Fixed issue where crop dropdown had no value on startup.
- Fixed an Autoname bug where \ was addeded incorrectly.
- Fixed bug where DRC was set incorrectly by preset parser.
- Removed some old code which is no longer going to be used.
- Changed De-Interlace options names to match MacGUI for consistency
- Moved HTTP Optimization to Output Settings for consistency with MacGUI
- Added form to show the generated query. Tools > Options > Show CLI Query
- Added Chapter Markers tab which operates the same was as the MacGUI
jbrjake [Tue, 18 Dec 2007 20:08:12 +0000 (20:08 +0000)]
Renumber start and stop timestamps for VFR, so they are continuous despite dropped frames.
This fixes issues with jerky video when using VFR together with B-frames.