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.
dynaflash [Mon, 17 Dec 2007 16:25:38 +0000 (16:25 +0000)]
MacGui: Queue Update - thanks travistex
- The primary change is that HBJob now copies the relevant fields out of hb_job_s that it needs. It no longer keeps a pointer reference to libhb's job.
- The only time the queue looks at libhb's jobs is when scanning the job list in order to build of the GUI queue display.
- Removed all uses of hb_current_job().
- Canceled jobs now stay listed in the queue, with a canceled icon.
sr55 [Fri, 14 Dec 2007 16:51:42 +0000 (16:51 +0000)]
WinGui:
- Removed some old CLI handler files that were never completed.
- Removed Quickstart Window along with some redundant code.
- Removed the Query Editor tab as it is no longer really needed.
- Removed CRF option as this is now the default.
- Removed DRC Checkbox. The slider is now used for activation.
- Few changes to the Naming of GUI items to match the MacGUI.
- Warnings about no source / destination removed from Save/open presets and set default options. Will only appear on Queue and Encode buttons now.
- Fixed autonaming issue where it was enabled even when it was disabled.
- Added option to the Tools menu to display the current CLI query. This may be useful now that the Query editor tab is gone.
- Options window design tweaked.
dynaflash [Fri, 14 Dec 2007 16:19:46 +0000 (16:19 +0000)]
MacGui: HTTP optimized mp4 implementation
- New checkbox to enable http optimized mp4's
- Shows/Hides depending on the "format" selection
- Presets use new objectForKey:@"Mp4HttpOptimize"
- Also renamed the outlet for 64 bit mp4's to more descriptive "fDstMp4LargeFileCheck"
dynaflash [Thu, 13 Dec 2007 16:26:40 +0000 (16:26 +0000)]
MacGui: DRC Slider Enhancements
- Add some description to the slider settings to help users
- 1.0 (Off) 2.0 (Loud) 3.0 (Louder) 4.0 (Loudest)
- Also changed slider so tickmarks are on the bottom and tickmarks are only shown for each .50
jbrjake [Thu, 13 Dec 2007 15:24:42 +0000 (15:24 +0000)]
Only call the dynamic range compression function when the user-inputted value is greater than 1, rather than non-zero. This prevents calling the function when it's only going to return the default values anyway.
jbrjake [Thu, 13 Dec 2007 14:20:17 +0000 (14:20 +0000)]
MPEG-2 stream reading fixes for missing audio, multiple audio tracks, language codes, reading streams larger than 2GB, and incorrect title numbers. This vastly expands HandBrake's TS/PS compatibility. Thanks, van!
jbrjake [Thu, 13 Dec 2007 02:29:29 +0000 (02:29 +0000)]
CLI: Makes CRF (constant rate factor) the default constant quality mode, instead of CQP (constant quantization parameter). This means the -Q short option now turns CQP on and CRF off, whereas up until now it did the reverse. The long option has accordingly changed from --crf to --cqp.
( CRF has been the default in the MacGui since r526 )
dynaflash [Wed, 12 Dec 2007 18:49:10 +0000 (18:49 +0000)]
MacGui: Presets Drawer improvements
- Get rid of useless NSTabView
- Rearrange NSOutlineView so full size is visible, also make 100 px taller
- Also made changing the drc slider change the Output from the preset name to Custom, like the other controls do.
- Moved -audioDRCSliderChanged from the video controls to the "GUI Controls Changed" section of controller.mm
dynaflash [Wed, 12 Dec 2007 16:05:59 +0000 (16:05 +0000)]
MacGui: Dynamic Range Control implemented in the audio tab of the main window.
- represented by a slider indicating value from 1.0 to 4.0
- Defaults to 1.0
- Granularity of 1/100
- Implemented in presets
- If key for drc is not present, preset will automatically return it to its default of 1.0
dynaflash [Mon, 10 Dec 2007 19:01:04 +0000 (19:01 +0000)]
MacGui: Update Presets to use NSOutlineView and change the associated methods to support the NSOutlineView delegate required methods.
- Change necessary to move to nested presets.
- Layout still to be determined
- Method to actually change the setting for the preset changed from -tableViewSelected to more appropriate -presetSelected in Controller.mm
jbrjake [Sun, 9 Dec 2007 16:56:07 +0000 (16:56 +0000)]
MacGui: cosmetic changes for the advanced x264opts controller source code. Replaces hard tabs with soft, clears up some issues with over-indentation. The file's still a total mess, of course.
jbrjake [Sat, 8 Dec 2007 21:43:00 +0000 (21:43 +0000)]
Adds a preset for the 360, accounts for filters in the presets, updates manicure.rb formatting, removes from the presets the keyint stuff that's now handled in encx264.c, and slightly tweaks the x264 options of a few presets. Also, Animation and Television now use slower deinterlacing, and the latter uses weak denoising as well. Not sure why the @tv preset used trellis=2, brought that down to 1.
jbrjake [Sat, 8 Dec 2007 18:15:38 +0000 (18:15 +0000)]
Adds extra, user-selectable dynamic range compression to the liba52 interface, making softer sounds louder. Based on code from liba52's A52Decoder, used in Perian's preferences pane. Set with a job->dynamic_range_compression float, with valid values being 1.0 - 4.0.
Controlled from the CLI with --dynamic-range-compression or -D.
dynaflash [Fri, 7 Dec 2007 18:26:08 +0000 (18:26 +0000)]
MacGui: fix issue in which picture settings filters in presets would'nt set to "off" if the preset didnt have the key for that filter.
- If a filter is not detected in the preset, the preset will assume it should be set to Off or None as the case may be.
sr55 [Fri, 7 Dec 2007 12:58:43 +0000 (12:58 +0000)]
WinGui:
- Update check on start-up moved onto a separate thread. Start-up should now be significantly faster. It will no longer stall if the server is slow responding.
- Sparkle style Updater now appears on start-up if an update exists rather than just a text label.
- Main form frmMain has been re-arranged slightly. Resolution boxes and Aspect ratio have been moved onto the picture settings tab. (Allows for more space on the tabbed portion of the window. Audio Tab has been re-arranged.
- Picture cropping text boxes have been changed to numeric boxes.
- Support for 2nd Audio track has been added.
- Support for Forced Subtitles has been added.
sr55 [Thu, 6 Dec 2007 14:14:25 +0000 (14:14 +0000)]
WinGui:
- Fixed bug in Query Parser in relation to Titles (Error when 1 was set to auto)
- Added Batch Script creation option on the Queue.
- Added Toolbar to the queue (similar to the MacGui) and removed some old style buttons that are now on the toolbar.
dynaflash [Wed, 5 Dec 2007 17:08:32 +0000 (17:08 +0000)]
MacGui: Built-In Presets moved to new class: HBPresets
- Built In Presets are now created and defined in the methods in HBPresets.h and HBPresets.m
- May move other preset methods here in the future as well.
- Updated Jamfile as appropriate
dynaflash [Tue, 4 Dec 2007 17:06:56 +0000 (17:06 +0000)]
MacGui: Scanning progress bar now shows as indeterminate (barber pole) as for some reason its progress is not reported since moving to leopard.
- Also added a new scanning message right when we call hb_scan for quicker feedback, especially when opening a new source while encoding another one.
dynaflash [Mon, 3 Dec 2007 19:23:08 +0000 (19:23 +0000)]
MacGui: Increase size of main window by 200 px wide and 50 px high.
- This should offer more room as we desperately need it.
- Should still offer compatibility with 1280 x 1024 display with the presets drawer open and a dock on either the bottom or side
- Also added more granularity to the Constant Quality slider, now can choose any whole percentage instead of just even.
dynaflash [Thu, 29 Nov 2007 19:50:24 +0000 (19:50 +0000)]
MacGui: Split Picture settings for new preset up into Size and Filters and add VFR to presets
- New Add preset Panel
- Now can specify how preset uses picture sizing (includes height, width, keep ar, anamorphic and cropping) separately from whether or not it uses Picture Filters (currently includes Deinterlace, Detelecine, VFR, Denoise, and Deblock (pp7) )
- Allows for greater flexibility in setting up your presets
jbrjake [Wed, 28 Nov 2007 20:40:47 +0000 (20:40 +0000)]
Gives the CLI a separate option for adding the iPod UUID atom to mp4 files, instead of it just being a side-effect of using the x264b30 encoder. It's called with -I or --ipod-atom .
dynaflash [Wed, 28 Nov 2007 19:25:09 +0000 (19:25 +0000)]
MacGui: Fix some warnings for compiling in 10.5
- Fix NSMenuItem warnings in -audioPopupChanged in Controller.mm
- Fix cString warning in HBDVDDetectore.m
sr55 [Tue, 27 Nov 2007 21:27:19 +0000 (21:27 +0000)]
WinGui:
- Removed some duplicate code and fixed a few small bugs.
- Changed the layout of the code slightly.
- Changed the DVD parser to use verbose CLI which can be displayed on the DVD information log page.
dynaflash [Mon, 26 Nov 2007 16:22:15 +0000 (16:22 +0000)]
Fix Previous Bad Commit (1077)
Mac OSX 10.5 Leopard / Xcode 3 Compatibility
- Builds using jam on Leopard with Xcode 3 using the 10.5 sdk
- Will NOT build on Tiger. Leopard only.
- Contrib packs are not updated. Jam build only for now.
dynaflash [Mon, 26 Nov 2007 16:19:28 +0000 (16:19 +0000)]
Mac OSX 10.5 Leopard / Xcode 3 Compatibility
- Builds using jam on Leopard with Xcode 3 using the 10.5 sdk
- Will NOT build on Tiger. Leopard only.
- Contrib packs are not updated. Jam build only for now.
jbrjake [Wed, 21 Nov 2007 19:29:29 +0000 (19:29 +0000)]
Updates the copy of x264 HandBrake uses to r700, bringing with it, among other goodies, Mac OS X 10.5 x86_64 support and massive AltiVec enhancements for PPC. Also updates the adaptive quantizer patch to the latest version, fixing conflicts with b-rdo.
NOTE: Contrib packs are not updated. Build with jam, not make, for now.
jbrjake [Wed, 21 Nov 2007 17:41:33 +0000 (17:41 +0000)]
Optimize MP4 files for HTTP streaming (on the CLI it's -O or --optimize).
Has mpeg4ip run a second pass after muxing is complete, to move the MOOV atom to the beginning of the file. To get this to work, I had to replace a patch from Perian, which has written the avc1 "Compressor Name" in the Pascal string style QuickTime expects. Unfortunately, that patch left mpeg4ip unable to parse its own output, when muxing x264 video. Instead, now the Compressor Name is a blank string, and QuickTime substitutes "H.264" for it.
NOTE: This is *not* hinting for RTP streaming, just shuffling the container around so it starts playing faster over the web.
dynaflash [Wed, 21 Nov 2007 15:42:00 +0000 (15:42 +0000)]
MacGui: fix open last used source directory. broken in rev. 1067
- Fix issue since 1067 where open the browse window to scan a new source would just default to "/" instead of the last chosen source directory.
sr55 [Wed, 21 Nov 2007 14:50:50 +0000 (14:50 +0000)]
WinGui:
- Cleaned up the status update code for the splash screen.
- Added option to turn off automatic preset update on each launch.
- Removed some unneeded variables.
dynaflash [Mon, 19 Nov 2007 16:15:40 +0000 (16:15 +0000)]
MacGui: add "Open Source (Specify Title)" feature
- Optional way to open your source and specify scanning a specific title only ala the cli.
- Should help with sources that tend to crash the macgui while scanning the entire source
- Only available via the file menu as an additional menu item
- All other open source methods are left untouched so to the average user the gui behaves as before.
- In the process eliminated unnecessary -showSourceScanPanel method which simply called -browseSources, now all gui widgets call -browseSources directly
sr55 [Fri, 16 Nov 2007 22:49:34 +0000 (22:49 +0000)]
WinGUI:
- Image file updated in about window (due to removal of images folder)
- frmDvdInfo has few small design tweaks
- Few fixes in the Query Parser
- Build number added to application Settings.Designer.
dynaflash [Fri, 16 Nov 2007 13:17:00 +0000 (13:17 +0000)]
MacGui: Activity Log
- Add "Clear Log" to the activity window contextual menu
- Clears the log and prints a new date/time header in the log
- Useful for starting a new log without having to relaunch HB.
jbrjake [Thu, 15 Nov 2007 20:10:16 +0000 (20:10 +0000)]
Minor preset changes:
- Removes chapter markers from PS3
- Moves the high profile presets to 16 B-frames (adaptive)
- Gets rid of erroneous audio bitrate and samplerate during ac3 pass-thru
- Removes 8x8dct from the QuickTime preset
- Drops Film to 1800kb/s
dynaflash [Thu, 15 Nov 2007 14:48:16 +0000 (14:48 +0000)]
MacGui: Move app support directory check to -init in controller.mm
- Makes ~/Library/Application Support/HandBrake available to HBOutputPanelController immediately
- Elimates duplicate code to check for app support directory for both the presets as well as the activity log (as well as any other future features that will require this directory)
- Also fixed issue where clicking "Discard" in the update alert closes the main window and won't let it come back (this will be totally unnecessary once the Sparkle update system is implemented).
dynaflash [Wed, 14 Nov 2007 16:37:34 +0000 (16:37 +0000)]
MacGui: Activity Window Logging Initial Implementation
- stderr and stdout are now written to a .txt file as well as displayed in the activity window
- Each line from stdout and stderr is written as it comes out of libhb (instead of in batches) so that in the event of a crash, we see the very last log message just like in the cli output
- Log file is located at: ~/Library/Application Support/HandBrake/HandBrake-activitylog.txt
- Uses .txt file as .log files default to open in console (text editor is more user friendly to n00bs?).
- For initial implementation, log file is overwritten for each session, and the current date and time is printed at the top of the log. So, log is one session long, for now.
- Activity window is also now a normal window (not an inspector) so that you can minimize it and the picture preview window is not half covered up by it on a smaller (mbp) display
- Added "Open Log File" to the Activity Window contextual menu which opens the log file in the users default text editor