Much improved decomb filter. Totally different algorithm, with a temporal element, a block window, and a simple weighting decision for which deinterlacer to use. See code comments.
The code isn't well optimized yet, and would probably benefit from -O3 (as opposed to the -Os optimization level currently used in macosx builds).
WinGui:
- Activity log window code changed significantly. Now, instead of refeshing the whole log every 5 seconds, it only adds the new lines of log output.
- Fixed bugs where the autoUpdate thread could keep running after the windows had been closed, causing exceptions to occur.
- Removed some debug code from frmMain
MacGui: Remove scanned source framrate display from "Same as source" in the fps popup.
- Some feel this is misleading and shouldn't be there since same as source now uses true source frame durations.
- made the fps and encoder popups narrower to fit.
Update x264 to rev r901-58d7d06
- Fixes a bad pixelation issue under certain circumstances in I frames with vbv
- Assorted optimizations including manual loop unrolling
- Also finally removed our deprecated macintel patch
WinGui:
- Version information now pulled from the CLI (any problems with this breaking on Vista let me know plz!)
- GUI startup optimized to counter the effect of the slightly sluggish version check from CLI (above)
- Added "Format" box just like the macgui. Move the Video Codec dropdown to the correct position on the video tab.
- Few other changes to mimic the macgui.
- Changed Functions.CLI to Functions.Encode
- Cleaned up and added icons to the source menu.
Change HandBrake from using the libsamplerate linear interpolator for resampling audio to using the SINC medium quality interpolator. Testing has shown a significant improvement in audio using this interpolator when upsampling the audio, most significant for 22Khz up to 48Khz, the audio is a lot brighter.
van [Fri, 4 Jul 2008 19:09:51 +0000 (19:09 +0000)]
Cropping fix for matted content that has a border top & bottom (rather than just on the top). Fixes problem from forum post http://forum.handbrake.fr/viewtopic.php?p=37064&sid=1a6b16b9a89cf7c26d9ff4f0c3b1823a#p37064
WinGui:
- Drive detection lists DVD title in Source Menu (Optional Feature)
- Updated the help menu to match the macgui.
- Added "cancel" button to frmReadDVD so if the CLI get's stuck, user can cancel the scan without restarting the GUI
WinGui:
- Better implementation of the presets bar. Code moved into it's own class.
- Can now Remove Single or delete all built in presets.
- User presets are no longer taged with "--"
- CLI window no longer appears when grabbing the information for presets.dat from HandBrakeCLI.exe
LinGui: add hidden preset option to allow direct QP/CRF entry for ffmpeg and
x264. just add "directqp=enable" to a custom preset. custom preset file
is ~/.config/ghb/custom_presets
Enable subtitle-scan to work when using Xvid as the encoder. Also checks return values from the work Init functions to enable Work threads to abort the encode should they not initialise properly.
sr55 [Mon, 30 Jun 2008 14:24:47 +0000 (14:24 +0000)]
WinGui:
- Queue system moved into it's own class.
- Queue now uses a listview display instead of a simple list. It now displays some information about each encode instead of the CLI String.
- Misc other Fixes.
van [Mon, 30 Jun 2008 05:01:01 +0000 (05:01 +0000)]
- fix an error in the SCR calculation that would cause an extra frame to be dropped at an SCR discontinuity.
- fix a rounding error in the encx264 init_delay computation that would underestimate the delay for progressive content and cause spurious "init_delay too small" messages.
- clean up the sync.c "video time didn't advance" logic and try to make the error mgs more useful for debugging frame duration problems.
van [Mon, 30 Jun 2008 04:32:49 +0000 (04:32 +0000)]
If we always require a buffer to be available on every fifo we'll eventually deadlock since video and audio run at different rates. Instead take the earliest available buffer (so we don't starve any of the fifos) but don't lock up if fifos are occasionally empty.
sr55 [Fri, 27 Jun 2008 14:42:17 +0000 (14:42 +0000)]
WinGui:
- Added: Resolution calculation for non anamorphic encodes in the GUI.
- Added: Ability to minimize to the system tray. Includes popup notifications of encoding status.
- Added: Duration calculation based on Title and selected chapters.
- Added: Some more code comments and summaries
- Change: Activity window now only refreshes if there is an active HandBrakeCLI.exe running.
- Change: Browse button/ File mode checkbox for Source Selection Removed. Replaced with a Source Dropdown button in the main toolbar. (works a bit like the magui but still uses the 2 different dialog boxes)
- Change: Removed "Recommended Crop" label and simply let the dropdown set the cropping values. Added DVD resolution Label.
- Fixed: Preset loader now selects longest title and set's chapters to Auto. Before it would load in the last setting used which is bad.
- Fixed bug in the presetLoader() function with the 2nd audio channel track selection.
Final Note: Quite a bit of code has been moved around in this checkin to clear things up a bit.
saintdev [Thu, 26 Jun 2008 01:19:47 +0000 (01:19 +0000)]
Fix a crash when using mp4 and no audio tracks.
Because there were no audio structs on list_audio, audio->config was attempting
to dereference a NULL pointer.
dynaflash [Wed, 25 Jun 2008 12:41:53 +0000 (12:41 +0000)]
MacGui: Replace valueForKey with objectForKey when accessing the NSDictionary in presets. Though this makes no functional difference, it is more consistent. Patch by blindjimmy. http://forum.handbrake.fr/viewtopic.php?f=4&t=6418
van [Mon, 23 Jun 2008 06:18:33 +0000 (06:18 +0000)]
Don't let cropping get fooled by dark content - make sure that we only crop a row or column if all pixels are within one quantization level of average value & average value is within one level of black. (fix for bug discussed in http://forum.handbrake.fr/viewtopic.php?f=12&t=6335)
eddyg [Thu, 19 Jun 2008 04:23:52 +0000 (04:23 +0000)]
Reintroduce Solaris support. Fully tested on everything - apart from Windows, which really shouldn't be affected. Note that I've disabled troublesome components in ffmpeg that didn't work with Solaris. And disabled X support in libmpeg2 for all platforms - 'cos it shouldn't have been there.
sr55 [Tue, 17 Jun 2008 12:53:40 +0000 (12:53 +0000)]
WinGui:
- Issue in the query parser where "-2" would trigger a widget if found anywhere in the CLI string.
This could appear in the source or destination filename and trigger it when it is not supposed to be on.
added a space before the - in the regex which will hopefully be sufficient to fix the issue.
jbrjake [Sun, 15 Jun 2008 15:13:00 +0000 (15:13 +0000)]
Updates the Mac->CLI preset conversion script to handle the new keys for separate audio settings, and rearranges a little code in the CLI so the audio track settings are easier to generate.
van [Thu, 12 Jun 2008 08:12:18 +0000 (08:12 +0000)]
- put the "find a usable frame rate" logic in the place that actually computes decoder frame durations rather than just in the bitstream info routine.
- start adding some comments describing how this horrible mess works.
dynaflash [Sun, 8 Jun 2008 21:49:14 +0000 (21:49 +0000)]
Update x264 to x264-r877-c74a8e2
- Eliminates the need for our last vbv 2 pass patch
- Updated reporting on processor optimizations
- 5 - 10 % faster trellis
- assorted improved cpu optimizations
dynaflash [Fri, 6 Jun 2008 18:20:45 +0000 (18:20 +0000)]
MacGui: Update Built in Presets to use new audio track layout and remove deprecated Codecs key value.
- Update your built in presets for this to take effect.
- Note: Since the preset code regresses there should be no functional difference noticed in the macgui.
dynaflash [Fri, 6 Jun 2008 16:48:36 +0000 (16:48 +0000)]
MacGui: fix issues with audio in presets
- Change audio track behavior so that presets only set the audio tracks it has stored, and removes any other previously selected audio tracks
- Prevents a scenario whereby selecting the ATV preset then the iPod preset results in two identical audio tracks for the iPod
- Fix an issue where certain mixdowns and bitrates contained in a preset may not be available depending on a source which resulted in no selection.
jbrjake [Thu, 5 Jun 2008 15:59:24 +0000 (15:59 +0000)]
Adds a job->cfr boolean to indicate "encode this with a constant frame rate" instead of passing through the true frame durations from the source. Includes CLI implementation, which sets cfr to 1 if the user specifies a frame rate. Otherwise, it uses "same as source" frame rate.
dynaflash [Wed, 4 Jun 2008 19:58:25 +0000 (19:58 +0000)]
MacGui: Add "Auto" to audio sample rate selections
- Auto simply uses the input audio's sample rate
- Built in presets updated to use Auto for all but device presets which still use 48.
- prepareJob now uses the selectedIndex's tag from the sample rate NSPopUp instead of libhb's built in array of sample rates
ritsuka [Wed, 4 Jun 2008 18:54:56 +0000 (18:54 +0000)]
MacGUI: Implements a part of the NSTableView delegate in ChapterTitles so that pressing Return selects the next row and edits the chapter title so that the mouse or Mac OS X's full keyboard access is not required. Patch by bkiico517.
van [Wed, 4 Jun 2008 07:00:01 +0000 (07:00 +0000)]
- add pixel_aspect_ratio reporting to the mpeg decoder
- try lots harder to extract a useful video frame rate from libavcodec (successful for more files but still get junk from wmv's).
- save all video parameters while we're getting previews then use the set we've seen most frequently as the parameters of the title.
dynaflash [Sat, 31 May 2008 19:20:22 +0000 (19:20 +0000)]
x264: bump to version 859-ce13bb6 and update vbv patch(es)
- Updates the 2 pass patch to Gabriel Bouvigne's v.10 vbv 2 pass patch http://article.gmane.org/gmane.comp.video.x264.devel/4048
- Eliminates the need for our previous 1 pass patch
dynaflash [Thu, 29 May 2008 19:09:32 +0000 (19:09 +0000)]
MacGui: Add decomb setting to presets
- Even though currently in svn we allow for a custom setting, only observe Off and Default. So if a preset is created using "Custom" in the decomb NSPopUp the preset will actually use Default, so you will have to set it back to Custom manually.
- This is temporary as the "Custom" setting *should* be deprecated at some point.
jbrjake [Wed, 21 May 2008 18:34:35 +0000 (18:34 +0000)]
When using detelecine but not dropping frames (non-VFR detelecine), continue looping through the filter chain if the detelecine filter says to drop a frame.