LinGui: Work around a silly treeview formatting bug.
If the window hasn't been shown yet, the width request doesn't fully do
it's job and cell formatting gets munged.
Sets the default QP of deblock to 5 instead of 0. This way the filter actually does something when called without an option string besides copying input to output.
MacGui: queue - add the file output name to the first title line in the queue, and make the framerate chosen more descriptive.
- Output names makes it easier to distinguish multiple encodes from the same source when the item is collapsed in the queue.
- Include info on constant frame rate and vfr detelecine in the video section.
MacGui: Remove the VFR checkbox in the Picture Settings window.
- Use vfr if the framerate popup is "Same as source" and Detelecine is checked in Picture Settings.
- Otherwise framerate works as in the past.
MacGui: implement a slider for deblock.
- Slider goes from "Off" and then ranges from 5-15.
- Update preset code to handle the old bool for deblock where we convert "yes" to a value of 5.
- Note: though the deblock filter actually has a setting of 0, for the macgui we use an integer of 0, which shows up in the interface as "Off" to indicate not to load the filter at all. Made presets etc, easier to modify.
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.