jstebbins [Sat, 30 May 2009 21:49:32 +0000 (21:49 +0000)]
LinGui: fix subtitle selection when title has no subtitles
when the preset had a subtitle enabled and the title has no subtitles
subtitle selection was being set to "auto" which causes a pointless indepth scan
dynaflash [Fri, 29 May 2009 18:58:39 +0000 (18:58 +0000)]
MacGui: Add Toolbar Item for Preview Window
- Note this icon already existed in /macosx/icons/.
- Definitely not a final icon, but rather probably a placeholder so we could get the toolbar complete.
konablend [Fri, 29 May 2009 18:36:26 +0000 (18:36 +0000)]
mp4 cleanups
- removed unused ipoutil.cpp; has been incorporated into mp4v2 some time ago.
- changed hard-coded buffer sizes to use sizeof.
- bump mp4v2 r349 -> r355; has bugfixes which prevents read-in errors.
dynaflash [Fri, 29 May 2009 17:47:26 +0000 (17:47 +0000)]
MacGui: Add Preference to use CoreAudio in place of FAAC when choosing a preset.
- Defaulted to "On".
- Effectively allows the macgui to use core audio by default while maintaining the cross platform faac encoder in the built in preset's internally.
- Also means that one can manually choose faac after selecting a preset if so desired.
jbrjake [Tue, 26 May 2009 15:23:21 +0000 (15:23 +0000)]
Excises xvid from libhb because it's not worthy. Having two different MPEG-4 Part 2 encoders is superfluous and when choosing between ffmpeg and xvid, xvid is the clear loser since we need to keep ffmpeg around for other functions and xvid constantly requires attention to ensure it compiles.
MacGui: Removes some stray references to the codec and unlinks it from the Xcode project.
CLI: Removes references to the codec and removes it as a dependency.
konablend [Sat, 23 May 2009 16:03:16 +0000 (16:03 +0000)]
- bump to mp4v2-trunk-r349.
- muxmp4.c minor updates to recent subtitle API changes.
- muxmp4.c do not set zero-length tags.
- renamed module libmp4v2 -> mp4v2.
konablend [Sat, 23 May 2009 10:23:03 +0000 (10:23 +0000)]
Darwin Xcode builds:
- changed Xcode.app to build contrib with jobs=2 by default.
- changed Xcode project Base SDK for all Configurations from '10.5' to 'Current Mac OS' which
will help us build on Snow Leopard.
ritsuka [Sat, 23 May 2009 09:46:36 +0000 (09:46 +0000)]
- Add CoreAudio AAC as one of the encoder on Mac OS X.
- Remove hb_init() and hb_init_express() macro. Rename hb_init_real() to hb_init()
- Add two more bitrate combination for audio codecs in common.h
jstebbins [Fri, 22 May 2009 22:46:59 +0000 (22:46 +0000)]
LinGui: fix a couple bugs in subtitle handling
- validation of subtitiles wasn't looking at the 'enabled' flag so it
gave an incorrect warning message for subtitles that were not enabled
- subtitles were being erroneously enabled when there was no subtitle
list in the preset
sr55 [Fri, 22 May 2009 00:07:38 +0000 (00:07 +0000)]
WinGui:
- Moved the AudioPanel to it's own userControl.
- Tweaks to the Audio Track list to improve usability. Now shows track ID's to indicate which track is selected.
- Added missing file headers to some files.
- Moved subtitles onto their own tab in preparation for the new subtitle features.
- Improved control (widget) appearance on the Advanced tab.
jstebbins [Wed, 20 May 2009 16:00:52 +0000 (16:00 +0000)]
LinGui: give feedback indicating problems with subtitle selections
- highlight subtitles that can not be encoded for some reason
example: user adds several subtitles, then changes container from mkv to mp4
- validate subtitle list when adding to queue and show warning popup when
there's a problem
jstebbins [Wed, 20 May 2009 00:28:51 +0000 (00:28 +0000)]
LinGui:
- fix a couple ui widget size/position issues
- fix subtitle selection when no match is found in a title for a subtitle preset
- fix an error in generating strings that describe a subtitles type
jstebbins [Tue, 19 May 2009 22:27:11 +0000 (22:27 +0000)]
mkv soft subtitle support
- new libmkv 0.6.4 with subtitle track support
- muxmkv supports vobsub and closed caption subtitles
- added subtitle format, source, and dest initialization to dvdnav
- moved subtitle_force flag into hb_subtitle_t struct as it needs to
be settable per subtitle
- gtk ui added subtitle tab which allows selection of multiple subtitles
- reorgainize subtitle sync code to prevent dropping of subtitles when
multiple subtitles are enabled
konablend [Tue, 19 May 2009 03:47:27 +0000 (03:47 +0000)]
BuildSystem: fixed regression introduced in r2425.
- a 'space' snuck it's way into EXTRACT.tarbase default setting.
- solution is to strip value of leading/trailing whitespace.
- tested against a full-build.
van [Sun, 17 May 2009 07:35:27 +0000 (07:35 +0000)]
Get rid of silence inserted at the beginning of mp4/mov/mkv files. GENPTS seems to do the wrong thing on files with real time stamps & inserts a delay equal to the audio/video interleave offset.
van [Sat, 16 May 2009 20:19:18 +0000 (20:19 +0000)]
- I confused max program chains (999) with max programs (99) and made loop detection array too small. Thanks to JAS for pointing out the problem!
- Fix bonehead error in pgc-relative offset calculation that broke seeking for titles with one pgc (e.g., almost everything).
van [Sat, 16 May 2009 07:06:38 +0000 (07:06 +0000)]
Remove some noise from the log: Only announce chapters when we're reading, not while we're getting previews and get rid of a spurious chapter annoucement in sync (video decoders announce chapters since that's where they first get put in the output data stream).
van [Sat, 16 May 2009 07:00:02 +0000 (07:00 +0000)]
- Handle titles that use more than one PGC (like the one in this thread: http://forum.handbrake.fr/viewtopic.php?f=5&t=10678&p=55575&hilit=genesis#p55620).
- Make pgcn_map local rather than static since there can be simultaneous scans from both GUI and queue service threads and statics aren't thread safe. Also make map 32 bytes since standard allows only 255 PGCs per title.
- Fix minor bugs in NextPgcn (used pgcn rather than next_pgcn so tested wrong bit) and dvdnav_seek (missing 'break' & extraneous 'while').
sr55 [Wed, 13 May 2009 20:16:32 +0000 (20:16 +0000)]
WinGui:
- Create a log file directory if one doesn't exist on start-up.
- Always create presets.xml if the file doesn't exist. (not only if the HandBrake AppData folder doesn't exist)
sr55 [Wed, 13 May 2009 19:50:47 +0000 (19:50 +0000)]
WinGui:
- The CLI status information can now optionally be displayed in the encode status bar in the GUI.
- Fixed Scan and Encode cancel functions with a hack. It was killing CMD.exe, not HandBrakeCLI.exe
konablend [Wed, 13 May 2009 19:27:22 +0000 (19:27 +0000)]
- set HandBrakeCLI stdio/stderr to unbuffered on native win32 platform;
desired behavior is line-buffering but on win32 msvcrt there is no such thing and
it becomes full-buffering which delays log/output enough to make it nonsensical.
sr55 [Mon, 11 May 2009 12:49:29 +0000 (12:49 +0000)]
# Changed
- Initial work for multi-instance support. All CLI processes controled by their process ID, not Name. This prevents a scan from 1 instance killing a CLI encode from another.
# Fixed
- Disable angle dropdown when not using Libdvdnav
- Fixed issue with angle dropdown where first item is not selected. This caused the generate query to break due to "--angle" with no value.
- Fixed issue with the dropdown menu setup on the audio tab not working correctly due to updated encoder names and DTS support.
- Fixed an exception conditon on cancel scan.
van [Mon, 11 May 2009 07:22:49 +0000 (07:22 +0000)]
Make chapters in mp4 & mkv ffmpeg input files work again (not sure when they got broken). Correct timestamp type (it's signed, not unsigned) and do some code cleanup.
Fixes problem reported in http://forum.handbrake.fr/viewtopic.php?f=12&t=10701&sid=4c007d887bf65f3e397203fc2bba1d12
van [Mon, 11 May 2009 07:12:39 +0000 (07:12 +0000)]
Another subtitle muxing fix: Don't check the rdy bit before calling OutputTrackChunk so subtitles get output as early as possible based on their start time rather than just before their stop time. (rdy is still checked for non-subtitle tracks since their rdy bit is in the allRdy mask that's tested in the outer loop.)
ritsuka [Sat, 9 May 2009 08:49:30 +0000 (08:49 +0000)]
Enable chapter boundary check for ffmpeg input even when chapters marker are disabled, fixes an issue where the encoding process wouldn't stop at the right time.
van [Sat, 9 May 2009 04:39:28 +0000 (04:39 +0000)]
Work around ffmpeg bug where raw video decoder doesn't use frame buffer allocation routine in context.get_buffer so we never get a chance to put our pts in the frame.
ritsuka [Fri, 8 May 2009 16:03:21 +0000 (16:03 +0000)]
- Fixed the size for tx3g samples in muxmp4.c I forgot to add the size of the string byte count to the total sample size.
- Small fixes in deccc608sub.c, trim null characters away.
- Moved the duration time from hb_mux_object_s to hb_mux_data_s so that multiple subtitle tracks can be muxed with interference.
- Uses par to calculate the subtitle track width so that It will be the same as the video track.
dynaflash [Fri, 8 May 2009 04:24:46 +0000 (04:24 +0000)]
MacGui: Preset Import / Export initial implementation and auto updating of built in presets.
- Preset Import / Export:
-- Export is only available to custom user presets.
-- Export is only the selected preset at this time.
-- Exported presets will be tagged with their build number.
-- Import of mutiple presets.
--- Compatible with LinGui presets.
--- NOT compatible with WinGui presets at this time.
- Built-In preset auto-updating:
-- Adds the key/value pair to the UserPresets.plist file for key "PresetBuildNumber".
-- If the HandBrake.app build number as defined in the Info.plist key "CFBundleVersion" is > the built in presets "PresetBuildNumber" then the - (IBAction)addFactoryPresets:(id)sender is called to automagically update the built in presets.
-- An alert window is shown along with a system beep ( can be turned off in Preferences -> Advanced for svn mavens and devs) to tell the user that the built in presets are going to be updated.
-- NOTE: First launch of this build will initiate a built in preset update even though the built in presets are the same, since the build number will be added to the built in presets.
sr55 [Thu, 7 May 2009 23:00:33 +0000 (23:00 +0000)]
WinGui:
- Notify users that built-in presets have been updated (when preset version < handbrake version.)
- Option to disable that alert in Options > Advanced tab
sr55 [Thu, 7 May 2009 20:29:25 +0000 (20:29 +0000)]
WinGui:
- Built-in presets get automatically re-generated if a newer build number is detected. This is required since the installer no longer installs presets. (overwrite older versions on install of new version) (As of a few builds ago, presets are automatically generated on first launch)
sr55 [Thu, 7 May 2009 15:09:33 +0000 (15:09 +0000)]
# New
- DTS support on the audio tab
- Angle support added to the source options
# Changed
- Chapter Markers are not selectable when only 1 chapter is selected or available
- Last Encode and scan logs now stored in application data folder. This will make them more persistent.
- Option to open the HandBrake log folder from the Activity window right click menu
dynaflash [Thu, 7 May 2009 14:38:48 +0000 (14:38 +0000)]
MacGui: Change new preset code to use AudioList for storing the audio track information as per the lingui.
- This does *not* change existing presets, only affects any new presets created.
- Results in the macgui and lingui being in sync in terms of preset.plist structure
jstebbins [Wed, 6 May 2009 22:41:17 +0000 (22:41 +0000)]
subtitle muxing:
initialize mux_data for passthru subtitles in muxmp4 and muxmkv
add non-continuous tracks for passthru subtitles in muxcommon
log closed caption data that gets to the muxer
eddyg [Tue, 5 May 2009 04:49:28 +0000 (04:49 +0000)]
Rewrite pass-through timestamps in sync, put on subtitle->fifo_out for muxing. Also put the mp4 subtitle display inline with muxing - easy for ritsuka to put into a subtitle track ;)
sr55 [Mon, 4 May 2009 22:40:46 +0000 (22:40 +0000)]
WinGui:
# New
- Setup LibDVDNav option for scanning.
# Directory and logging changes
- The GUI now stores preset data in the systems user Application Data directory. This means that multi-user systems don't share the same single set of user presets.
- A History of logs are automatically stored in the systems application data directory.
- Changed the log preferences to make them a bit easier to understand.
# Bugs / Typos
- Fixed small bug in the version info regex parser.
- Fixed typo on x264 tab
- Fixed minor GUI issue on the Add Preset window (button transparency)
- Fixed disable Query Editor tab option (Thanks tlindgren)
dynaflash [Mon, 4 May 2009 05:29:45 +0000 (05:29 +0000)]
MacGui: preview changes to coincide with rev 2376
- as per the LinGui changes to hb_get_preview (thanks jstebbins)
- also restores the gray crop border color
- consolidates some macgui preview code
jstebbins [Mon, 4 May 2009 05:26:13 +0000 (05:26 +0000)]
LinGui: preview changes
- update hb_get_preview to allow upscaling and remove borders
- allow upscaling in the gui
- add user option to show visible cropping borders
- gui generates borders when needed instead of hb_get_preview, which
allows for flexible alternatives like alternate colors
eddyg [Mon, 4 May 2009 04:56:19 +0000 (04:56 +0000)]
Soft Subs Part 2: Auto-detect CC during scan, add CC to subtitle list in title, if selected then CC's are extracted, MP4 Muxer will dump the subs to the log at the end of encoding. TODO: Translate PTS for buf->start to HB format, add MP4 subtitle track and subs during muxing.
eddyg [Mon, 4 May 2009 01:39:48 +0000 (01:39 +0000)]
Stage 1 Soft Subtitle Support - Allow multiple subtitle tracks to be selected, and mark them for Render or Pass Through. No functional difference from the UIs, however in theory they could render multiple tracks - would be a dogs breakfast on screen though, and is untested. Have tested all normal operations from the UIs, including scanning.
konablend [Sun, 3 May 2009 21:53:37 +0000 (21:53 +0000)]
- minor code cleanup - use x264_nal_t.i_type instead of buffer+offset&mask.
- use constants instead of hardcoded values.
- explicitly list expected nal types to be processed further.
konablend [Sun, 3 May 2009 14:34:16 +0000 (14:34 +0000)]
- encx264 sets HB_FRAME_REF to expose ref/non-ref frame status to muxer.
- bump libmp4v2 r286 -> r290; required for new API (sdtp atom support).
- use new API MP4WriteSampleDependency() in muxer to signal disposable frames and set a few other dependency bits for sdtp atom.
jstebbins [Sat, 2 May 2009 23:58:23 +0000 (23:58 +0000)]
LinGui:
poll for dvd volume labels after the ui is fully displayed
truncate leading and trailing spaces in volume labels
sanitize volume label after making a copy instead of stepping
on dvdreads private copy.
van [Sat, 2 May 2009 21:28:39 +0000 (21:28 +0000)]
- Move frame rate code from sync to the end of render so it can account for frame timing changes made by filters.
- Fix a bug that would make CFR alternate between massive drops and massive dups on
some titles.
- If we're not doing CFR add a factor-of-two fudge factor to init_delay to account f
or the awful clock resolution of some mkvs and mp4s.