jbrjake [Sat, 17 May 2008 22:55:41 +0000 (22:55 +0000)]
Re-allow constant frame rates. The MacGui should probably be updated to always use title fps for VFR instead of "Same as Source" which might be 23.976, but it's taken care of in work.c now so it's purely a cosmetic thing.
jbrjake [Tue, 13 May 2008 14:55:56 +0000 (14:55 +0000)]
Allow the user to directly set a pixel aspect height and width, instead of using the autodetection in strict and loose anamorphic. This allows rescaling 1:1 PAR material to be anamorphic.
To use in an interface, simply set job->pixel_ratio to 3, job->height and job->width to the desired output size, and job->pixel_aspect_height and job->pixel_aspect_width to the desired PAR. For now this is only for really advanced users who know what numbers they want for those values.
Controlled through the CLI as optional arguments to -P.
jbrjake [Fri, 9 May 2008 15:08:11 +0000 (15:08 +0000)]
- Use a separate Sparkle appcast feed for unstable (snapshot) releases.
- Use variables in the macosx/HandBrake.plist so SVN doesn't flag it as modified every time the dynamically generated build date/version changes. (Thanks, blindjimmy!)
sr55 [Wed, 7 May 2008 21:56:43 +0000 (21:56 +0000)]
WinGui:
- Activity window no longer prevents main window UI interaction.
- Fixed bug which would keep HandBrake in memory after the program was closed. It was still running but not visible.
- Removed old files
sr55 [Wed, 7 May 2008 20:43:49 +0000 (20:43 +0000)]
WinGui:
- Got rid of the DVD info window. DVD information can now be read from the activity window.
- Removed some unused code calls to frmDvdInfo.
- Changed frmActivityWindow design, removed all buttons, text window now expands as the window size grows. Basically, the window is identical to the MacGUI window now.
MacGui: make sure to strip off any source file extensions from the output file name.
- Fixes an issue where a .mpg file would come out as "mymovie.mpg.mp4" in the destination field.
- Also cleans up some formatting in my previous commit.
MacGui: Audio Tab - Make sure that selecting a subsequent audio track does not re-enable the sample rate, bitrate, and drc settings on a previously selected AC3 Passthru track.
van [Fri, 25 Apr 2008 07:11:39 +0000 (07:11 +0000)]
Changes to support unstructured program streams (such as those produced by a Tivo) and the three other forms of transport streams (m2ts, dvb-s & digicipher). Start of the changes necessary to support other types of video besides mpeg2.
van [Fri, 25 Apr 2008 06:44:35 +0000 (06:44 +0000)]
- Don't allow chapter durations to go negative (since durations are unsigned the result will be interpreted as a huge positive number).
- Revert the change to sync that pushed out the final frame of video -- on many DVDs this frame seems to be junk that's not intended to be displayed.
MacGui: only enable audio tracks if the previous tracks have been chosen.
- prevents a scenario in which you could have track 1 and track 4 selected with 2 and 3 as "None".
WinGui:
- Move some code that sets the available audio bit-rates into functions instead of just repeating the code.
- Fixed some issues with the Audio panel. All tracks are now visible by default, however they will remain disabled if a previous track is not selected.
WinGui:
- Added support for stable / unstable builds in the update checker.
- Setup the rss reader to read the cli-stable and cli-unstable tags in the appcast. This is now used for the version information.
libhb:
- Update.c updated to use appcast.xml rather than LATEST
- Expects to find 2 XML tags which have been added to appcast.xml e.g.
<cli-stable>2008021900 "0.9.2"</cli-stable>
<cli-unstable>2008041901 "0.9.3"</cli-unstable>
Fixes make building in OS X:
- Switches default (snapshot) make target to use the Deployment Xcode target
- Makes it possible to jam contribs using make in OS X like is done in Linux
- This means no universal binaries from make, unless "make release" is used. That's the only time it uses the contrib download script. The snapshot target builds contribs locally.
To sum up: this now means that on a Mac, using:
make
....should be functionally equivalent to:
make clean; ./configure; ./jam
WinGui:
- Added theora support.
- Renamed the video encoders to match the mac gui.
- Made 64bit/OptimizeMP4/ipodatom invisible when non .mp4/m4v formats are in use
Avoid a divide by 0 in encfaac.c caused by the mixdown not being specified
for AAC tracks (due toi a bug in HandBrake.app). Ensure that a mixdown
is always specified if not doing passthrough.
van [Tue, 15 Apr 2008 19:14:03 +0000 (19:14 +0000)]
Move clock recovery code from reader to demuxmpeg so it sees all frames & not just the ones we happen to be encoding. This change gives a more accurate clock and allows us to once again ignore audio during pass 1 of a 2 pass encode.
MacGui: Fix AC3 Passthru bitrate setting in audio tab when using a legacy preset from the old audio system.
- Now properly sets the source track input bitrate as the output bitrate in the NSPopUpButton so it displays correctly in the audio tab as well as the queue and allows you to make new presets from an older one.
van [Sun, 13 Apr 2008 23:31:37 +0000 (23:31 +0000)]
Fixes for different number of frames between pass 1 & 2, missing frames at end, and an deadlock with pcm audio.
- since the SCR clock recovery is done in reader.c we can't currently skip audio frames during pass 1 or we miss clock changes signaled by those frames & end up dropping more video frames in pass 1 than pass 2.
- since many modules buffer frames we can't tell if we're done just by looking for empty fifos. Send an empty buffer to mark end-of-stream all the way along the processing pipeline & use it to flush internally buffered data.
- in a processing pipeline you're done when the end of the pipe says your done. add a thread status variable so we can tell when individual threads are finished then make do_job wait until the encoder thread is done so that we're sure all the frames have been processed and sent to the muxer.
- since the muxer alternates between reading video & audio packets we have to have enough buffer in the audio pipeline to handle a video-frame's worth of audio packets (33ms). Since pcm packets are <1ms we need >60 slots in the audio fifos or we'll deadlock.
Bumps x264 to the latest snapshot tarball, which version.sh translates from hashed gobbledygook to 818 d4b7d2b.
Removes the VAQ patch since it's been committed since we last refreshed the lib.
WinGui:
- Fixed issue where Audio encoder would be changed if chapter markers was enabled/disabled.
This was an issue with the function that populates the audio encoder drop downs based on the file extension
WinGui:
- Bug fixes with the audio panel in relation to not loading the apple tv preset correctly.
- Small UI font size issue fixed with sample rate dropdowns.
WinGui:
- (Scratch last checkin. Audio panel now has a sensible implementation.) Audio Tracks 3 now invisible until audio track 2 has a selected track and Track 4 is also invisible until track 3 has a selected track.
WinGui:
- Expands the audio tab to 4 audio tracks. This will require through testing. Users should avoid track combinations such as 1 & 4, 1 & 3, and 2 & 4. Instead, 1 & 2 & 3 or 1 & 2 or 2 & 3 & 4 should be used.
MacGui: Do not call customSettingsUsed until we have an intelligent way to determine selected audio variables compared to presets so that presets stay selected.
MacGui: Implement per audio track drc
- Uses a small circular slider for each track
- Stops on ticks for .25 granularity
- Presets regress from global drc to apply it to all tracks if used in past custom preset.
MacGui: Fix errant encode done growl alert and send to MetaX function when finishing the first pass of a two pass encode.
- We now only send the alerts after an encode finishes as opposed to when a job *within* an encode finishes.
MacGui: Enhance Growl notifications and send to metaX so that each encode is handled as it comes off of the queue.
- Previously only the last encode of a queue gave the finished growl notification and was sent to metaX. Now if specified by the user they happen as the encodes progress through the queue.
MacGui: Fix the DTS source audio mixdown for an attempted AC3 passthru audio track
- Since AC3 Passthru will not work with a DTS audio source track, we us mp3 dpl2 for avi and aac dpl2 for mkv and mp4.
- Revert HandBrake.plist to pre 1385 as it was errantly checked in with that commit.
MacGui: Implement per track audio settings.
- Expands the number of audio tracks the macgui can encode to 4.
- Everything except drc is now set on a per track basis
- Be Gone self limiting "Codecs" PopUp !
- Can now use any audio codecs that the container will support in the same encode
- The previous "AAC + AC3" bizarre hybrid is now deprecated and you simply set them up per track
- Implement full audio list readout in the queue, tracks are now show one per line in a list like fashion
- Queue is no longer hard coded for just two tracks.
- Preset code updated to regress to handle previous presets that utilized the codecs popup to determine audio scheme to use
- Preset code now handles everything except language selection.
- The Format, Video Encoder and Audio codes are all now stored in the appropriate NSPopUp tags for very easy retrieval.
- Crazy format, codecs struct is now gone as we get that from the tags.
- AC3 Passthru properly shows the input bitrate and 48 khz samplerate in the appropriate popups
- Added Theora video encoder to OGM container
- Added libtheora to the libhb dylib
- NOTE: The check against trying to use AC3 Passthru on a DTS track is broken on the encoder popup.
van [Sun, 6 Apr 2008 22:28:22 +0000 (22:28 +0000)]
- Fix sync problems associated with sample rate conversion - the truncation error of the sample rate ratio would build up over time until the audio substantially lagged the video.
- Don't feed audio through the sample rate converter if we don't have to - it's faster not to & it can introduce a delay that perturbs a/v sync.
van [Fri, 4 Apr 2008 16:49:33 +0000 (16:49 +0000)]
Minor chapter cleanups.
- put chapter number in buf rather than a 'new chapter' flag.
- use that chapter number to index chapter text in muxers so a dropped chapter doesn't make all subsequent chapter labeling wrong.
- get rid of most of the chapter logging & just output one line giving the chapter text, number, frame & time.
- fix a bug in sync that could cause chapter marks to be lost.
- New Audio Panel (Query Parser, Query Generator, Preset Loader Functions all updated)
This includes minor changes to the UI (e.g in the 'Output Settings' box)
- UI Improvments for Windows Vista and XP where non Classic theme is used.
- Activity Window can now view the log whilst an encode is going. (Doesn't live update... yet TODO!)
- Changed Radio File/Folder option for Source Browse to a single checkbox. Folder view by default.
Check "File mode" for file selection dialog.
- Misc other UI changes
- Update checker won't display an error message during statup if one occurs whilst checking the update.
The message was hidden behind the splash screen. This is now not a problem.
van [Thu, 3 Apr 2008 04:40:30 +0000 (04:40 +0000)]
- hardware players don't tolerate video or audio frames that overlap in time & some dvd mastering techniques take advantage of this. Get rid of fudge factors so we drop all such frames otherwise they screw up our a/v sync.
- fix video timing 'off by one': since we look one frame ahead time has to actually advance on the next video frame. time that stays the same guarantees a one frame overlap which really messes up mp4 durations.
CLI: Update fix AppleTV preset audio.
Accidently hard-coded it to first audio track. Also, you had to specify both audio tracks.
Now it only needs one specified and will use that for both.
Also, update the --preset-list
van [Wed, 2 Apr 2008 17:55:48 +0000 (17:55 +0000)]
scan and pcm audio fixes.
- lpcm audio fixed to handle 24 bit & interpret header correctly.
- get aspect ratio from libmpeg2 rather than doing it ourselves.
- announce when aspect ratio changes during preview scan.
- if aspect ratio isn't either 4:3 or 16:9 complain & map to either 4:3 or 16:9 (whichever is closest).
- start stream previews from file position 0 rather than 1/11 in case there's only on mpeg sequence header in the file.
- don't give up on a file just because we can't get a preview due to a missing sequence header - only give up if we can't get any previews.
- get audio bitstream characteristics during preview in a uniform way (we were treating PCM & MPEG audio specially which resulted in not getting their sample rate which caused a divide by zero in sync).
MacGui: Fix audio issue where both tracks would use the first source audio track regardless of what source track was chosen. Bug introduced in rev 1367
CLI: "Fun with string theory." Updates needed for new audio layout.
--audios takes a comma seperated list (or range) of the requested output tracks.
The other audio settings take either one argument, in which case it applies across
all tracks, or a comma seperated list that applies to each track.
New internal audio handling.
Each audio track contains it's own settings for codec, bitrate, samplerate, etc.
This allows for very complex combinations of audio tracks if desired.