| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The title number isn't very helpful in batch scan mode.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4391 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
This improves our accuracy at detecting the framerate of telecined
material.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4320 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, the scaling code in decavcodec.c was broken and didn't properly
compensate for frames that had a different resolution than the rest of
the stream.
Second, libav can not handle resolution changes when doing frame based
multi-threading. So disable threading when resolution changes are
detected.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4295 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
i let part of another patch leak in
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4243 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
The AVCHD-Lite specification only supports 50 or 60 fps. So to get
25 or 30 fps, they double every frame using repeat flags. Detect
this and adjust the framerate accordingly.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4242 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
| |
Seek point may be a recovery point which will not be a complete clean
frame. So consume frames till we reach the recovery frame count.
Patches Libav so it can tell us when the recovery point has been
reached.
Also improves detection of recovery points in TS files.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4231 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds support for MPEG-1 PS, HDDVD EVOB, and video codecs other
than mpeg1/2 in PS
Improves probing of unknown stream types by using Libav's probing
utilities
Use Libav to probe for dts profile in TS and PS files when profile is
unknown
Improves framerate detection (improved telecine detection)
Fixes preview generation for mpeg video that has only a single sequence
header
Patches Libav to handle VC-1 pulldown flags properly
Improve PS and TS stream log information
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4220 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
| |
Many transport streams have few or zero IDR frames. So scanning them
takes a long time, generates a lot of log spam, and results in poor
preview quality. Often there will be several identical preview frames
because it will find the same IDR for several of the previews. Using
recovery points helps all these problems.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4180 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
adds aac and mp3 passthru for mp4 and mkv containers
adds dts and dtshd for mp4 container (mkv already had it)
Note: The only player known (to me) to support dts(hd) in mp4 is ff/avplay
In LinGui there is a new option to limit which passthru codecs
will be used by the "Auto Passthru" audio codec options. The CLI
already has this ability with "--audio_copy-mask" which is use
in conjunction with the "copy" audio codec option.
Also corrects some A/V sync issues when video frames are dropped due to
a gap detected in the audio.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4149 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For files that are demuxed by Libav, we must share the format context
with the decoder iso that it can obtain the codec context for each stream.
The code that did this was very convoluted and difficult to understand.
It is simplified by simply passing the context in hb_title_t.
Reader was closing stream files before the decoder was finished with the
context. This created the need to delay the actual close and cache
the context. Changed reader so it behaves more like the rest of handbrake's
work objects which lets us explicitly close after the decoders are finished.
Libav does some probing of the file when av_find_stream_info is called.
This probing leaves the format context in a bad state for some files and
causes subsequent reads or seeks to misbehave. So open 2 contexts in
ffmpeg_open. One is used only for probing, and the other only for reading.
decavcodec.c had 2 separate decoders for files demuxed by hb and files
demuxed by Libav. They have been combined and simplified.
Previously, it was not possible to decode one source audio track multiple
times in order to fan it out to multiple output tracks if the file is
demuxed by Libav. We were using the codec context from the format context.
Since there is only one of these for each stream, we could only do one
decode for each stream. Use avcodec_copy_context to make copies of
the codec context and allow multiple decodes. This allows removal of
a lot of special case code for Libav streams that was necessary to
duplicate the output of the decoder.
Patch Libav's mkv demux to fix a seek problem. This has been pushed
upstreams, so the next time we update Libav, we must remove this patch.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4141 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
Noticed when debugging a memory corruption issue with valgrind
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4122 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
Use hb_batch_title_count() since hb_list_count() changes as unreadable
titles are removed from the list. Title count needs to be the total
number of files being scanned.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4077 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
Decoders set the channel map of their output in hb_audio_config_t.
Encoders use this information to remap while encoding.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4052 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TrueHD and DTS-HD now show up in the audio list along side their
AC-3 and DTS counterparts.
Note that currently the DTS-HD decoder we are using (ffmpeg) discards
the HD portion of the stream and onle decodes the DTS core portion. So
there is no advantage yet to using the DTS-HD stream. In the future
I would like to add DTS-HD passthru support and hopefully ffmpeg will
improve their DTS-HD decoder.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3950 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
| |
Forome reason, frames that are tagged as recovery points in many BD h.264
streams do not result in complete frames when decoded. Pushing 2 extra
frames through the decoder seems to always fix this. This patch extends
something I was already doing when generating previews from a BD structure.
This just applies the same logic to ffmpeg streams that have h.264 video.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3895 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
just an old thinko that needed correcting.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3894 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3853 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
instead of mpeg2dec. disabled by default.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3610 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
I didn't implement 'single title scan' for batch mode cause it seemed
contradictory. but the cli uses this when encoding, even in batch mode.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3530 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unencrypted BD directory trees only. Doesn't support iso images.
Also, no PGS subtitle support yet.
Chapters and angles are supported.
Adds a new contrib libbluray.
Adds new option to hb_scan() for duration of short titles to filter.
This applies to BD and DVD multi-title scans only. Does not apply
to any single title scans.
Fixes memory leak during scan. hb_buffer_close() was not freeing
all buffers in a chain of buffers passed to it.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3510 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
Thanks to davidfster for mp4 palette addition.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3337 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
| |
scans the dvd menus and presses buttons to see where they might lead.
when a button press leads to a title, i check to see if it is the
longest seen thus far and save it's index.
this only applies when dvdnav is enabled. when dvdread is in use,
the longest title of all the titles is flagged as the "main feature"
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3245 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
double hb_buffer_close caused crash
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3196 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
| |
audio frames can be larger than their container packet sizes, but during
scan, we only feed one container packet to the decoder, then reset
the decoder and try the next packet. so the audio is never detected.
as buffers are tested, they are added to a cache. the entire cache is
passed to the decoder to scan for info. the cache is limited to 4KB.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3195 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
| |
tweaks to make libhb more usable from a C# app
remove pointers from preview filenames, replaces with hb instance and title id's
removes only previews upon hb_close, leaves temp dir for hb_global_close
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3170 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
title index was assigned as the nth file in the directory, but files
that are not video would cause title indexes to be skipped in job.list_title
this would mess up the progress bar.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2982 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
| |
When a directory is specified as the source, first we attempt to open as a dvd,
then if that fails, we attempt to open each file in the directory as a stream
source. Since opening a large directory of files can take a really long time,
you can also now cancel a scan.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2980 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
Many timest the titles are not really duplicate. The detection logic only
checked that they used the same sectors of the disc, but there are many other
things that can make the titles different.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2737 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
- include pthread.h for pthread_win32 attach/detach decls.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2495 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
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.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2375 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
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.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2373 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
| |
- looks for ptt with longest pgc sequence instead of just picking first ptt
solves many 'short title' problems
- constructs chapters from the pg's within the pgc's instead of using ptt's
solve the problem of ptt's that point to an intro pgc instead of
to the actual chapter position in the title.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2361 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
| |
emulates the vm of a dvd player in order to navigate the disc more reliably
it is optional and disabled by default
CLI option '--dvdnav' enables. GUI's have a new option in preferences.
When dvdnav is enabled, you can also select angles (cli '--angle')
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2355 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
This prevents accumulation of potentially thousands of files during a session
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2282 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
replace changes in the interfaces. Folds the logic for strict anamorphic mode into hb_set_anamorphic_size() and also stakes out a new, more customizable mode 3.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2097 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
| |
& some blu-rays):
- Grab stream characteristics (IDRs or not, PCRs or not, RAPs or not) while we're reading to compute the duration rather than trying to guess with no information later.
- Only wait for an IDR after a seek if we know the stream has IDRs. Even then, wait for at most 255 frames.
- If the stream doesn't have IDRs tell scan (via a new flag in the title struct) so that it can read but discard a second's worth of frames to get the decoder in sync withe stream.
- While we're trying to sync the decoder, ffmpeg will spit out dozens of useless error messages so suppress them.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2071 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2009 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
- don't throw away previews just because we hit eof while trying to find audio info.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1993 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
generated during scan, and whether or not they're written to disk for later display. This will break any interfaces that use hb_scan until the new params are specified...sorry. Also adds a new job->seek_points setting (set this to the same as the number of previews) to be used with job->start_at_preview when doing live preview encodes, so the seek function has a frame of reference.
Wires up the CLI with a --previews option (long option only) to control the new scan parameters, and defaults the CLI to not writing previews to disk.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1970 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
| |
streams.
- give transport streams their own demuxer rather than constructing fake PS packets to use the DVD demuxer.
- start re-doing the transport stream code so it does fewer memory to memory copies.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1953 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
that was hardcoding the AC3 stream information in the dac3 atom based on the AppleTV startup movie stream.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1879 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
due to having no audio, since it seems to mystify some people.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1845 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
memory-related logging to general-purpose housekeeping--stuff that isn't necessary when scrolling through activity logs users submit with bug reports and support queries. This includes things like thread start/exit messages and preview frames.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1820 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1627 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
the format of the input and so therefore doesn't populate vid_info. Just skip that preview instead.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1626 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
range of aspect ratios we get from ffmpeg files.
- add container_aspect to title struct (always zero except for DVDs
when it's the aspect from the VTSI). To handle broken French DVDs,
make HB complain & use the container aspect if it's different from
the aspect computed from the video PAR.
- fix ScanFunc's job template init so that it doesn't think the only
legal aspect ratios are 16:9 & 4:3.
- hb_reduce wouldn't reduce any fraction where both terms were equal and
prime (e.g., 2/2, 3/3, 5/5, etc. would not become 1/1). Recoded it using
Euclid's Algorithm so it always works and is faster.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1616 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
a job, and reorganizes/elaborates the display's layout.
Adds new title variables to provide more description of sources: video_codec_name, video_bitrate (currently only used by DVD sources), and container_name and data_rate (currently only used by ffmpeg input sources).
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1599 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
just on the top). Fixes problem from forum post http://forum.handbrake.fr/viewtopic.php?p=37064&sid=1a6b16b9a89cf7c26d9ff4f0c3b1823a#p37064
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1556 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
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)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1532 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
run across all the preview frames.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1507 b64f7644-9d1e-0410-96f1-a4d463321fa5
|