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
sr55 [Tue, 13 Nov 2007 19:38:28 +0000 (19:38 +0000)]
WinGui:
- Copy to clipboard button on the dvd information window.
- Show / hide presets button removed and replaced with an item in the presets menu.
- Re-enabled the update status text.
sr55 [Tue, 13 Nov 2007 17:44:33 +0000 (17:44 +0000)]
WinGui:
- User default settings now uses the new Preset Parser function. This cuts down on a significant amount of code.
- Added system resolution to the resolution checker message box. For future debugging.
sr55 [Sat, 10 Nov 2007 17:37:22 +0000 (17:37 +0000)]
WinGui:
- New PresetLoader function / Query parser completed.
- Splash screen now has text status label ( Thanks to xGraphite)
- Fixed a localisation issue. (thanks sun)
- Removed a bit of redundant code in Functions.CLI
- Fixed small issue with presets not setting mp4 extension when required.
- Misc other small changes.
dynaflash [Sat, 10 Nov 2007 02:00:46 +0000 (02:00 +0000)]
MacGui: VFR controls initial implementation
- Adds a vfr checkbox next to the detelecine filter in the Picture Settings Window
- Tuns on detelecine and disables its checkbox
- Sets Framerate in the main window to 29.967 and disables it
- Sets job->vfr = 1 if vfr is checked in -prepareJob
jbrjake [Sat, 10 Nov 2007 01:51:36 +0000 (01:51 +0000)]
First attempt at variable frame rate detelecining for NTSC video sources.
This check-in includes the library code as well as the CLI implementation.
Only works with MP4 and MKV, untested with high profile, results may vary with mixed content, consult a physician if condition persists for longer than four hours.
jbrjake [Fri, 9 Nov 2007 21:44:58 +0000 (21:44 +0000)]
MacGui: Fixes a small bug -- if a default value was selected twice for one of the simple integer widgets like ref frames, it'd write ref=-1 to the text field instead of writing nothing. Hopefully didn't break anything whilst fixing this.
jbrjake [Fri, 9 Nov 2007 20:04:27 +0000 (20:04 +0000)]
First attempt at built-in presets in the CLI.
Works like so:
-Z "Preset Name"
or
--preset "Preset Name"
See a list of all presets and their CLI equivalents (useful for wrappers) this way:
-z
or
--preset-list
Any commands the user adds in addition to in and out locations override that part of the preset. File name extensions are ignored, so if you title the output movie.mp4 but use the Film preset, it will come out as an mkv with an .mp4 extension.
I've also gone and moved where x264opts get duplicated for a 2nd pass, to work better with this system.
sr55 [Fri, 2 Nov 2007 23:16:52 +0000 (23:16 +0000)]
WinGui:
- New tab layout options window.
- Small tweaks to the read dvd window and queueWindow
- hbcli.exe now renamed to HandbrakeCLI.exe to match all other platforms.
- Presets Listbox replaced with listview in preparation for future improvements.
- Update built in presets option re-enabled for the same reason.
- Few other small design tweaks here and there
dynaflash [Fri, 2 Nov 2007 17:05:48 +0000 (17:05 +0000)]
MacGui: Reorganize Controller.mm methods
- Try to divide into logical sections via pragma marks
- move preset code to the bottom as its typically accessed less often
sr55 [Fri, 26 Oct 2007 21:38:04 +0000 (21:38 +0000)]
WinGui:
- Reversed the functionality of the show/hide presets button. By default presets always show now.
- Re-added file open / save options and removed presets open/save buttons. Was confusing users.
- Added the ability to modify items on the queue.
- All Presets Updated.
- Queue Threading changed in an attempt to avoid Windows loosing track of it.
jbrjake [Fri, 26 Oct 2007 16:53:58 +0000 (16:53 +0000)]
Automagically set keyframe intervals for x264, based on the specified FPS.
So...
23.976fps content gets a minimum interval of 24 and a maximum of 240
25fps content uses defaults, a minimum interval of 25 and a maximum of 250
29.97fps content gets a minimum of 30 and a maximum of 300.
eddyg [Tue, 23 Oct 2007 21:05:25 +0000 (21:05 +0000)]
Changed logging messages about PTS discontinuities to be less verbose, and changed audio discontinuity handling to work correctly should it be leading the video.
jbrjake [Tue, 16 Oct 2007 19:46:47 +0000 (19:46 +0000)]
Allow short option name -P for loose anamorphic to take its optional argument without an equals sign. Long name still needs the equals sign. So... -P 8, --loosePixelratio=8.
jbrjake [Tue, 16 Oct 2007 19:00:41 +0000 (19:00 +0000)]
"Loose" anamorphic:
- Scales the storage frame size to arbitrary widths, like 640 for the iPod.
- Uses dimensions that divide cleanly by an arbitrary number (default: 16) and adjusts the SAR to match
- Uses ITU PAR values when the video is meant to be overscanned ( 7+ pixels cropped on left+right)
sr55 [Tue, 16 Oct 2007 18:29:18 +0000 (18:29 +0000)]
WinGui:
- Some main window tweaks. Some of the window colours were not appearing correctly. (thanks Lant for pointing this out)
- Added an exception handler into the queue. See if we can't track down why windows seems to lose track of the process/threads.
- Turbo First pass now deselects / disables should a non h264 codec be selected. it also re-enables nicer now.
jbrjake [Tue, 16 Oct 2007 18:29:11 +0000 (18:29 +0000)]
This patch from superdump lets muxmp4.c set a Height Ratio for the QuickTime transformation matrix. This makes it possible to scale up 4:3 material to 720*540 on playback, instead of displaying it scaled down to 640*480. In other words: true anamorphic 4:3.
sr55 [Sun, 14 Oct 2007 16:58:01 +0000 (16:58 +0000)]
WinGui:
- Change: All windows made sizeable
- Change: Queue / Media Info Windows now have titles + icon and appear correctly in the task bar.
- Change: Minimise box removed in Queue window in favour of the Windows default minimise button.
- Fixed: System requirements checker was not confirming the correct amount of ram.
- Removed: Code to handle CLI Information without text files. This can not work without all data going out via standard output which has been decided against.
sr55 [Sun, 14 Oct 2007 11:48:44 +0000 (11:48 +0000)]
WinGUI:
- First implementation of a query parser. This takes in a query and returns each item in a human readable form
Notes from previous build that were not added rev [1024]
- Fixed: deinterlace options passing the incorrect values to the CLI
- Change: Turbo First pass can no longer be enabled if 2 pass is not.
- Fixed: CRF now set's correctly
- Change: CLI now determines the default audio mixdown rather than the GUI
sr55 [Sun, 14 Oct 2007 11:44:54 +0000 (11:44 +0000)]
WinGUI:
- New development tab (hidden in release builds) for testing functions.
- Fixed: chapter markers now get saved when using "set default" option
- Fixed: crash on query editor if copy was used with an empty text box
- Fixed: a few corrupted presets
- Added: Width / height & anamorphic options get highlighted in red if someone tries to change the width/height when anamorphic is enabled. (text explanation added)
eddyg [Sat, 13 Oct 2007 23:01:57 +0000 (23:01 +0000)]
Change the fifo size from being statically tuned for a Mac Pro with 4 CPUs to dynamically adjust according to how many processors are available. 8 extra buffers in the fifo per CPU available. Hopefully this will make the single CPU systems run at pretty much the same speed as before (although they may still be slower if they are low on memory and start thrashing the pager).
eddyg [Thu, 11 Oct 2007 23:55:36 +0000 (23:55 +0000)]
Somehow this went missing as I prepared these subtitle changes for commit in 1011. Without this change encoding will hang when there is a subtitle in the fifo at a PTS discontinuity.
eddyg [Thu, 11 Oct 2007 19:52:16 +0000 (19:52 +0000)]
Detect and workaround missing end of cell markers caused by corrupted DVD content, note that any lost DVD content stays lost, but at least it doesn't cause repeated Cells, which are more annoying than a few seconds of lost movie.
dynaflash [Tue, 9 Oct 2007 15:15:16 +0000 (15:15 +0000)]
MacGui: Queue Enhancements courtesy of travistex
- Encodes now stick around in the queue's displayed after they have been completed. They are marked with a check mark icon.
- The "active" encode is shown with a chasing arrows icon.
- Completed encodes have a spotlight icon by them to allow you to show in finder
- Support for reordering encodes in the queue via drag and drop. Currently #define'd out because there's currently no easy way to reorder hblib's job list. But some day maybe...
jbrjake [Tue, 9 Oct 2007 03:22:57 +0000 (03:22 +0000)]
Increases the size of the integer holding MPEG-2 picture flags in the hb_buffer structure to 16 bits. It was 8-bit, and that couldn't hold 256, the REPEAT_FIRST_FIELD flag for soft-telecine.