jbrjake [Tue, 12 Feb 2008 15:31:38 +0000 (15:31 +0000)]
Refer to transitions in the presence-or-lack-thereof of progressive flags on MPEG-2 frames as Film->Video or vice versa instead of Progressive->Interlaced. Slightly more accurate, and will make future comb detection of previews less confusing.
van [Sat, 9 Feb 2008 05:40:09 +0000 (05:40 +0000)]
- More robust stream duration estimation: take 16 (position,pts) samples then do a max likelihood estimate of the average rate based on the rate between all pairs of samples.
- When we detect a sync error attempt to resync so that we can handle streams where a few bytes have been inserted or deleted.
dynaflash [Thu, 7 Feb 2008 18:39:05 +0000 (18:39 +0000)]
MacGui: fix picture sizing issue in presets where creating a preset using an HD source (ie. 960 x 544) and then using that preset on a smaller source (ie. dvd) would cause the smaller source to be upscaled to the larger size. Now preset is restricted to scale no larger than the current source regardless of size when it was created.
dynaflash [Thu, 7 Feb 2008 16:43:51 +0000 (16:43 +0000)]
MacGui: Add the Forced subtitles checkbox to custom user presets
- uses [preset setObject:[NSNumber numberWithInt:1] forKey:@"SubtitlesForced"] to turn the forced checkbox on in the preset
- Not added to any built in presets
- checkbox is unchecked for any preset that doesnt explicitly have it set.
jbrjake [Mon, 4 Feb 2008 16:53:27 +0000 (16:53 +0000)]
Variable frame rate improvements.
- Makes it work better with the source's time stamps and avoids discontinuities, by removing its lazy assumption that all frames are 3003 ticks long.
- Handles more than 1 frame being dropped out of 5.
- Preserves chapter markers from being dropped along with frames they're attached to (thanks van!).
- Also, since VFR no longer requires input at 29.97 fps, removes the hard-coding of that frame rate.
saintdev [Mon, 4 Feb 2008 01:22:30 +0000 (01:22 +0000)]
Remove the seperate action for mpeg4ip on cygwin from the contrib
Jamfile. It was only applying a patch. This makes things a little easier
to maintain and makes mpeg4ip similar to other contribs wrt. patching.
sr55 [Sat, 2 Feb 2008 15:34:27 +0000 (15:34 +0000)]
WinGui:
- now using C#.Net 08
- Fixed bug with VFR setting framerate when enabled.
- Fixed potential framerate bug (passing framerate without -r to the CLI)
ritsuka [Wed, 30 Jan 2008 12:28:55 +0000 (12:28 +0000)]
IHB: - Various bugfix
- IHB can loads .ihbdevice presets from a directory inside the application bundle, and from ~/Application Support/Instant Handbrake
- A .ihbdevice file can contain multiple presets, but IHB only reads the first at the moment. I am not sure how to handle multiple presets yet.
- The only way to create an .ihbprofile file is to edit DeviceController.m , another thing I still need to think about.
van [Thu, 24 Jan 2008 20:37:03 +0000 (20:37 +0000)]
Add an (optional) iso639_2b field to the language struct so that we will accept either ISO 639-2/T or /B codes in input content (particularly MPEG transport stream PMTs) but will always generate /T codes in mp4s to keep QuickTime happy.
dynaflash [Wed, 23 Jan 2008 14:33:25 +0000 (14:33 +0000)]
MacGui: Fix bug where switching titles with vfr on changes the framerate from 29.97 which is required by vfr.
- Note: mostly cosmetic to the gui as libhb is pretty much ignoring the framerate specified by the gui when vfr is on anyway. But the gui should reflect as much as possible what libhb is doing behind the scenes.
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.