MacGui: When reloading a previous queue at launch, as well as pending encodes also reload a queue item marked previously as "encoding" if it exists.
- An item marked as encoding in the qeueu at launch indicates that either we crashed during that encode, or that the user shut down during that encode.
- If the user chooses to reload, we change the status back to pending. Note: the encode will be at the top of the queue after launch.
- Change the queue reload alert window to tell the user how many pending jobs they have as well as if there was an encoding job.
MacGui: Re-enable deleting encodes with the delete key if hilighted.
- Currently one at a time, multiple selections are shut off for queue sync reasons .
- Note: To delete a finished encode, click on it and hit your delete key ( since the action icon is an "open file in finder" magnifying glass) as this is the only way currently to delete a finished encode.
MacGui: Add encoding status readout to the queue window
- is fed info from controller.mm instead of the old setup which had another NSTimer polling libhb just for the queue.
MacGui: End of encode/queue alerts and actions changes
- Growl alerts and "Send to MetaX" actions occur as each encode comes finishes in the queue.
- The standard alert window, computer sleep and computer shutdown all occur at the end of encoding the entire queue, specifically when the encoding is done, and there aren't any other pending encodes to process.
WinGui:
- Removed Red Background colour on chapter selection dropdown menus. This is no longer needed.
- Prevent the user from selecting an invalid combination of Chapters. e.g 12-5. Dropdowns now have the same behaviour as the macgui.
- Fixed Start/Stop Tooltips on the mainwindow
WinGui:
- User presets and built in presets are now show in seperate colours. User preset's are shown in black and built in are blue.
- Added cancel button to add preset.
- Removed File Menu > Import. This is not required. Users can import old .hb files as text into the query editor if need be.
- Adding a new user preset no longer stores Title and file input/output information. While these were never used, it's a waste of space storing them in the user presets file.
- Added a comfirm dialog for removing presets.
LinGui: improve the precision of the scaling of the preview image for display
small round off error caused the display to not visibly change for
every incremental change in the width control.
WinGui:
- Just allow ISO_Open to open all files. Will save adding all the ffmpeg options available.
- Re-factored the chapter marker creation/query generation code.
MacGui: Custom chapter names restored (borked in 1703)
- The chapter names are now stored in the queue as the key "ChapterNames" which has an array of names as its value and are re-applied to the job when the queue goes to that encode if applicable.
- As with all things, should save some work if you use a lot of custom chapter names and you have to shut down during a long queue encode and restart later.
WinGui:
- Patch from canvas :- use format dropdown value for extension with the autoName function. Typo fix and add's the .m2ts file extension to the file open dialog box.
- Fix in calculateDuration, don't crash if start chapter > end chapter.
Bumps x264 to r979-6d4af9d, bringing Psy-RDO and Psy-Trellis to HandBrake.
Note: since the last x264 bump, they have changed the way CRF works. Throw out everything you thought you knew about the output bitrate for a given quality level.
MacGui and MacCli: Sets the Xcode project's Deployment target to use GCC optimization level 3 instead of S, optimizing for speed instead of speed and size.
Threaded decomb filter. Folds in eddyg's threaded yadif from r1628 and also analyzes cpu-count segments of the frame in parallel when generating the combing mask used to decide which frames to send to yadif.
MacGui: "Stop" command modifications
- Clicking on the "stop" icon in the toolbar now produces a different alert window with three choices
- " Continue Encoding " default, just dismisses the window and continues on its merry way.
- " Cancel Current and Stop " Cancels the current encode and stops the queue
- " Cancel Current and Continue " Cancels the current encode and moves to the next pending encode (if there is one).
- Also fixed an issue with deleting a canceled encode at the top of the queue list.
MacGui: Fix issue from 1703 where once done doing at least one encode, all subsequent jobs would require that you add to queue first, then hit start.
- Now, even after encoding a queue is finished, you can just hit "Start" to add the currently loaded job in the GUI to the queue and start encoding right away.
MacGui: fix turbo two pass (thanks beelsebob and jkint for help troubleshooting it )
- also added a few more debugging messages to prepareJob until things cool down a bit.
MacGui: Fix crash when selecting between target size and abr.
- calculateBitrate shouldn't need nor can it any longer use prepareJob
- should still verify proper calcs for target bitrate and abr, but better not to crash.
MacGui: fix chapter markers which were borked in 1703
-Note: this only fixed adding chapter markers. Custom chapter names are *not* fixed, if chapter markers checkbox is checked you will currently get 001, 002, etc. etc. for chapter names.
van [Tue, 16 Sep 2008 21:31:46 +0000 (21:31 +0000)]
Another bug fix in the per-stream timing code: If the clock reference changes on the first buffer of a stream we haven't seen before we don't have the history we need to compute a clock offset & need to wait for a stream we've been tracking.
MacGui: Resilient Queue: Initial Implementation
- Completely overhauls how encodes are setup by the MacGui
- All encodes are now stored in an NSMutableArray (QueueFileArray) and saved in a plist (~/Library/Application Support/HandBrake/Queue.plist)
- A separate instance of libhb (fQueueEncodeLibhb) is used for queue processing (includes single encodes)
- fHandle still takes care of all user intiated scans and encode parameters
- libhb now only stores multiple passes for a single encode instead of storing the entire queue
- If HB crashes, or if you stop encoding while there are still pending encodes in your queue, upon next launch you will be prompted to reload the previous queue from the Queue.plist
- Removed the current encoding information at the top of the queue window to make room for a larger list as I thought it to be redundant
- The queue list is now re-arrangeable via drag-n-drop (pending encodes only)
- Known issues and bugs:
-- If you delete a previously cancelled encode then try to restart with a new encode, nothing happens. Throw off the sync of the currently encoding job.
-- Probably alot more since its a total overhaul of how the MacGui has handled encoding since titer originally wrote it :)
WinGui:
- Fixed a number of incorrect tooltips and text labels.
- Moved the deblock control again, see if I can't completely avoid it overlapping another control.
van [Mon, 15 Sep 2008 06:51:18 +0000 (06:51 +0000)]
If we always sort timestamps we can't detect & correct misordering caused by an SCR discontinuity. So only sort timestamps on streams that could have been broken by Microsoft (ffmpeg avi, wmv, mkv & mp4) and leave mpeg PS, TS & M2TS steams alone.
van [Mon, 15 Sep 2008 06:44:56 +0000 (06:44 +0000)]
The difference of two timestamps referenced to different clocks is a random number & not useful input to the average frame size computation. This major brain-o would occasionally cause huge average frame times which, when later used to compute the SCR correction, would result in large gaps in the audio and/or video streams. Fixed by always computing the average frame size from the scr-corrected timestamps.
WinGui:
- Delete key can now be used to delete presets & queue items.
- Queued items now have job id's. this isn't used for anything yet, however will be useful for editing current queue items.
- Moved batch script code to Queue.cs
WinGui:
- Removed invalid tooltip text from Size -> Source label.
- Moved deblock slider up a few px. The control has a horrible amount of uncontrollable padding which may overlap the de interlace control in some cases.
van [Fri, 12 Sep 2008 05:37:56 +0000 (05:37 +0000)]
HD Home Run seems to strip the PCR from some streams (which makes HB refuse to process them) so use the video stream DTS as a substitute until the first real PCR appears.
van [Thu, 11 Sep 2008 04:05:04 +0000 (04:05 +0000)]
Various fixes for ffmpeg input files (mp4, avi, mkv, etc.):
- always use source time stamps (HB vfr mpeg4 files now handled correctly)
- handle Microsoft's braindead "VFW packed b-frames"
- compute average video frame rate from total duration & number of frames (ignore ffmpeg's frame rate which is closer to a max f.r. for vfr video).
- workaround an ffmpeg audio decode abort when it used SSE instructions on unaligned buffers.
LinGui: consolidate all resources into one stringified plist file that gets
compiled in. icons and everyting all rolled up into one ball-o-wax.
hehe, plists are cool
WinGui:
- Fix in CalculateDuration. Crash caused by end chapter dropdown menu not getting re-populated before calculate duration run. See:
http://forum.handbrake.fr/viewtopic.php?f=12&t=7050
LinGui: internalize the UI description xml file. That's the last external
file that was neccessary. The ghb binary can now stand on its own without
external resource files. The makefile still installs a couple extra files
that adds HandBrake to the users "Sound & Video" menu.
LinGui: Internalize all the icons so I don't have to install them in
a system directory. One step closer to being able to build a binary
that can stand on it's own without a bunch of additional resource files.
LinGui: Fix several strict-aliasing warnings and a null pointer dereference
that can happen if preferences don't yet exist and your running the app over
an ssh session.
LinGui: Add queue save/restore
- 2 instances of libhb are used. One for queue activities and one for scanning
new sources prior to adding to the queue.
- Improve chapter entry usability. In addition to "return" advancing to the
next chapter for editing, up and down arrows will advance to prev/next and
put the cell in edit mode.
- Add an accelerator key to jump to the destination entry box.
- Fix a queue window resize problem.
van [Fri, 5 Sep 2008 06:16:44 +0000 (06:16 +0000)]
- get rid of another deadlock: if there were more than 64 audio frames before the first video frame we'd lock up the reader.
- if we get a bogus timestamp at the end of some conversion just ignore it and don't try to generate minutes or hours of silence to fill the hole.
LinGui: Presets and preferences are now stored as plists
This will also make saving/restoring the queue much easier.
It's a scary big change. 1400 new lines of code. Due to efficiencies
of a better desing, 2400 lines of old code also gets refactored
down to 1600. Giving a final net +600 lines.
Along the way, I stumbled across a couple bugs and fixed them.
Chapter list entry would get wedged under certain circumstances.
Pausing encoding didn't display pause message in status bar.
sr55 [Sun, 24 Aug 2008 17:57:54 +0000 (17:57 +0000)]
WinGui:
- Adds checkbox to enable decomb.
- Program Options updated with an option to customize decomb values.
- Queue Recovery feature. If you close the GUI without letting a queue complete, the user will be prompted if they'd like to recover the queue on next launch.
- Small bugfix with the queue HandBrakeCLI monitor thread not stopping when the GUI is closed.
jstebbins [Fri, 22 Aug 2008 23:20:53 +0000 (23:20 +0000)]
LinGui: improve data entry method for deinterlace and denoise settings in
tweaks mode. replaces GtkComboBox with GtkComboBoxEntry.
add easter egg that gives access to hidden preferences