fix crash due to processing invalid buf_out from work
if the work function doesn't null out buf_out (as decavcodecvWork)
then buf_out can be garbage, or worse a prevously used buffer.
I'm flabbergasted this has never bitten me before.
WinGui:
- Next step in the new Add Presets Window. Now added Picture Size modes "None" and "Source Maximum". Note cropping values are stored with "Source Maximum" if custom crop is selected. Also included option to include filter settings.
fix some preset issues
add b-pyramid=none to appletv presets and remove b-pyramid hack from encx264.c
change samplerate from 48 to 'Auto' in all presets
cap samplerate to 48khz since none of the encoders support higher rates
remove obsolete UsesMaxPictureSettings from all presets. replace with UsesPictureSettings=2
WinGui:
- Refactored The Query Generator to allow for more control on the AddPreset Window.
- Also fix an issue where an empty x264 query would still result in -x being added to the query.
WinGui:
- Improve the way Custom queries are handled form the query editor. It's now hooked up so that the "Add to Queue" feature can warn of duplicates and it will now also display the correct source and destination in the queue window when encoding a custom job.
jstebbins [Tue, 29 Jun 2010 00:15:59 +0000 (00:15 +0000)]
LinGui: improvements to maxWidth/maxHeight preset gui
Add checkbox for each of max width/height entries in the presets save dialog.
When not checked, the value is not stored to the preset.
If neither is checked, UsesPictureSettings=2 is assumed.
If either is checked, UsesPictureSettings=1 is assumed.
dynaflash [Mon, 28 Jun 2010 20:11:34 +0000 (20:11 +0000)]
MacGui: Presets - Add abliity to modify width and height on a preset independent of the currently loaded settings via repurposing the old "Current" picture size setting in the add new preset dialogue.
- Changes "Current" to "Custom".
- When Custom is selected two text fields for width and height appear, initially populated with the current picture settings which means that if not changed will behave as old "Current" settings used to.
- Editable fields means the preset can be save to pic dimensions other than what is setup for the current encode setup.
- For example you can have a dvd loaded up and then save a preset using say 1280 x 720 as max dims, even though the currently loaded source would not have allowed that before.
jstebbins [Mon, 28 Jun 2010 18:10:15 +0000 (18:10 +0000)]
Improve program stream detection
We were getting some false positives on some files.
In some cases this would lead to a crash. In all cases it leads
to a failure to scan or encode properly.
jstebbins [Mon, 28 Jun 2010 15:59:31 +0000 (15:59 +0000)]
LinGui: Add max width/height widgets to preset save dialog
These are only visible when autosize is disabled, meaning the user
has chosen to set specific video dimensions. These values are used
when a preset or title is loaded to set the default storage dimensions.
This allows setting arbitrary PictureWidth/PictureHeight in the preset
which was not previously possible. The values were previously limited
to what the currently loaded source would allow you to enter into
the picture settings width/height fields.
jstebbins [Sun, 27 Jun 2010 16:50:32 +0000 (16:50 +0000)]
MacGui: fix uninteded side effect of code that enforces maxWidth/Height when loading anamorphic preset
PictureControler relies on job->maxWidth and job->maxHeight being 0. These should only be set when
the preset is initailly loaded and the presets values are initialized.
jstebbins [Sat, 26 Jun 2010 22:54:36 +0000 (22:54 +0000)]
LinGui: fix some issues with loading custom anamorphic settings from preset.
as the settings were incrementally loaded, each changing widget triggered
updates that could conflict with the preset values being loaded.
fix an issue with hight getting stuck at certain values. Incorrect rounding
caused a recalculation that put height back to it's previous value.
jstebbins [Sat, 26 Jun 2010 22:51:00 +0000 (22:51 +0000)]
make hb_set_anamorphic_size keep storage aspect when maxHeight is applied
before, it would not recalculate width after changing height.
also, in ana mode 3, fix storage asepct if !keep_display_aspect
jstebbins [Sat, 26 Jun 2010 16:55:26 +0000 (16:55 +0000)]
Preserve subtitle track that matches foreign audio search when the
resulting output track would not be an exact duplicate. We
were removing the track even when forced flags differed.
sr55 [Fri, 25 Jun 2010 19:46:38 +0000 (19:46 +0000)]
WinGui:
- Allow files to be dropped on the GUI executable. (Including shortcuts). This will automatically try to scan the file. Users can add their own registry entries to add an "open with" if they choose.
- Fixed an exception that occurs when a scanned file returns no titles.
- Fixed an issue where pressing "No" to the on close warning (when encodes are running) would cancel the encode anyway.
jstebbins [Thu, 24 Jun 2010 21:04:40 +0000 (21:04 +0000)]
LinGui: fix audio preset initialization
sometimes audio settings were to being initialized correctly
to the values in the preset. some code that sets reasonable
values when the encoder changes from passthru to non-passthru
was getting invoked and overwriting the preset values.
jstebbins [Sun, 20 Jun 2010 21:22:52 +0000 (21:22 +0000)]
guard against excessive memory consumption in the muxer better
if there is a persistant skew in timestamps from 2 streams, the
fifo depth could still continue to grow. Added extra check for
fullness of fifo.
jstebbins [Sun, 20 Jun 2010 21:20:40 +0000 (21:20 +0000)]
fix problem with spurious timestamp change
some rearrangement of code that was previously done to reader caused
scr_offset to be subtracted from renderOffset twice whenever a
new scr_offset was calculated. this could cause subsequent timestamp
calculations to be way off and in at least one known case lead to
a crash due to consuming too much memory in hb_buffer_t's
jbrjake [Fri, 18 Jun 2010 20:40:34 +0000 (20:40 +0000)]
MacGui: Advanced x264 panel overhaul. - Updates labeling
- Updates tooltips
- Rearranges layout to group options by encoding features, analysis options, and psychovisual options
- Adds weightp checkbox
- Adds adaptive quantization slider going from 0 - 2.0
- Removes mixed-refs switch
- Removes weightb switch
- Removes no-fast-pskip switch
- Removes spurious 0 value for reference frames, clamps values to 1-16
- Converts b-pyramid from a checkbox to a menu to allow strict, makes normal instead of off the default
- Defaults b-pyramid to being on, removes it from string when it's on, and converts text values of strict or normal to a checked box since we're not offering strict.
- Makes psy-rd slider go to 2.0
- Changes analyse some (default) to most, add new some (i4x4,i8x8)
- Makes psy-trellis go in 0.05 increments instead of 0.1 increments.
- Stops hiding 8x8dct when analyse is none (thanks, Rodeo)
- Fixes animated reset of psy-rd and psy-trellis sliders when hidden (thanks, Rodeo)
- Hides psy-trellis when cabac goes off (thanks, Rodeo)
dynaflash [Fri, 18 Jun 2010 19:49:26 +0000 (19:49 +0000)]
MacGui: Peak Framerate initial implementation
- Adds a checkbox below the fps drop down to allow selecting pfr as long as Same as Source is not selected.
- Checkbox is shows and hides based on the fps dropdown.
- Uses job->cfr = 2 instead of 1 to enable libhb's pfr mode.
jstebbins [Thu, 17 Jun 2010 22:59:19 +0000 (22:59 +0000)]
LinGui: revert part of the resource management changes of r3382
Since fedora's pygtk is broken, I can't parse gdk_pixbuf's with python.
So revert to doing this in C code.
jstebbins [Wed, 16 Jun 2010 15:23:50 +0000 (15:23 +0000)]
LinGui: update build dependencies to include python2.6 package
by default the lauchpad build farm only installs a minimal python which is missing plistlib
jstebbins [Tue, 15 Jun 2010 16:21:22 +0000 (16:21 +0000)]
LinGui: changes to resource preprocessor
During the build, I was compiling tools for preprocessing and packaging
the gui description xml, preset defaults, widget dependencies, and icons.
The resulting resource_data.h file gets compiled into the binary. These
tools are now implemented in python. This eliminates the need to compile
the tools which caused complications when cross compiling.
This work was actually done many months ago. But all the distributions
I wanted to support didn't have the libplist python module. Now they all
do.
jstebbins [Tue, 15 Jun 2010 16:15:53 +0000 (16:15 +0000)]
LinGui: refresh x264 tab
updated layout, labeling & tooltips
group options by encoding features, analysis options, and psychovisual options
change b-pyramid from checkbox to combo box to support None, Strict, and Normal options
expand psy-rd slider range to 0-2 (was 0-1)
relabel "Analysis" to "Partitions".
Add new "Most" option to Partitions that is the same as the old "Some"
Change "Some" option of Partitions to mean i4x4:i8x8
add weightp combo
add adaptive quantization strength slider
remove weightb checkbox
remove no-fast-pskip checkbox
sr55 [Fri, 11 Jun 2010 21:08:44 +0000 (21:08 +0000)]
WinGui:
- Fixes some issues with status labels not updating correctly on the queue window.
- Now includes encode status on the queue window.
- Minor UI tweaks.
jstebbins [Tue, 8 Jun 2010 23:47:07 +0000 (23:47 +0000)]
CLI: missed another conditional that forces burned subs in mp4
also, print "Foreign Audio Search" instead of "Render/Burn in" in the log
during an indepth_scan.
jstebbins [Mon, 7 Jun 2010 21:49:38 +0000 (21:49 +0000)]
LinGui: rework some of the logic behind the audio tab handler
gets rid of some duplication of values that i had. makes it
easier to keep the visible list and the data structures behind
it in sync.
jstebbins [Sun, 6 Jun 2010 18:20:53 +0000 (18:20 +0000)]
LinGui: Improvements to audio panel
When codec is "Choose for me", show the codec chosen in the list, but leave the combo
box showing "Choose for me". This way, if the user saves the settings in a new preset,
the audio codec saved remaines 'auto' instead of reverting to the codec that was chosen.
jstebbins [Sat, 5 Jun 2010 16:34:32 +0000 (16:34 +0000)]
CLI: remove 'L' from short opts so that getopt_long properly flags it as an invalid option
I forgot to remove this short option when the --longest was removed.
Also fix the default case of the switch to print the option that failed
rather than the next option.
sr55 [Fri, 4 Jun 2010 20:33:16 +0000 (20:33 +0000)]
WinGui:
# interop
- Fix Namespaces
- Changed so it's .NET 3.5 compatible.
- Removed usings which were not needed and placed usings inside the namespace.
sr55 [Fri, 4 Jun 2010 18:36:11 +0000 (18:36 +0000)]
WinGui:
- HandBrakeInterop Project. This can be used to tie into libhb.dll with C#. Thanks to RandomEdgy for writing this.
- Made a few minor changes to this source to make most of the libhb stuff internal to the library only. Added a 2008 project file. (This won't compile yet)
jstebbins [Fri, 4 Jun 2010 16:27:15 +0000 (16:27 +0000)]
MacGui: Add flexible dylib path manipulation so that we can handle external dylibs more easily
At startup, add any extra dylib paths to DYLD_FALLBACK_LIBRARY_PATH. This is the last path
searched by the system for dylibs and we add our paths to the end of it's list, so this
will never override any system libs or paths the user has explicitly set.
Since applications read the environment once at startup, these changes don't take effect
until we restart with execv. In order to avoid a possible exec bomb, we add a parameter to
the argv list to prevent any further exec's.
Note that this causes a minor glitch when running under gdb. The execv triggers a trap. You
just have to 'continue'.
dynaflash [Wed, 2 Jun 2010 16:49:18 +0000 (16:49 +0000)]
MacGui: Set the hud control panels origin based on the size of the actual preview window anchored at the bottom instead of setting it at the middle of the window.
- Should not block the actual preview as much.
- Move the origin setting code from -SetTitle into -displayPreview so that it is recalculated any time a new preview is generated, which includes changing encode size.
jstebbins [Sun, 30 May 2010 17:26:03 +0000 (17:26 +0000)]
Improve left/right dplii surround separation
This analysis and measurement shows that a difference of 4.8db between
Ls and Rs in Lt and Rt provides better separation than 3db
http://forum.doom9.org/showthread.php?t=57988
sr55 [Sun, 30 May 2010 13:02:23 +0000 (13:02 +0000)]
WinGui:
- Added resharper 5 file for the 2008 project.
- Unlocked VobSub in Mp4 to allow multiple tracks via passthru. Also fixed a bug with srt import handling.
jstebbins [Sat, 29 May 2010 22:16:48 +0000 (22:16 +0000)]
LinGui: tweak the ui to accommodate universal subtitle input
don't show burned or forced fields for non-vobsubs
show subtitle type in the subtitle track combo box
jstebbins [Wed, 26 May 2010 20:39:52 +0000 (20:39 +0000)]
fix a problem with point-to-point hanging when searching for start point
in reader, the timestamps were not being correctly adjusted for scr offset
before comparing to start time. This could cause an early start in reader.
Then in sync, syncAudioWork stalled until the correct start of video was
found, causing the audio fifo to fill and stall the whole pipeline.