summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* libhb: fix some log spam when scanning h.264 BDsjstebbins2011-08-013-4/+4
| | | | | | | | Some residual data from the previous preview was being sent to the decoder after a seek causing the decoder to complain. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4147 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix an avcodec error checkjstebbins2011-07-301-1/+1
| | | | | | | They changed the error value returned git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4144 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix or simplify several hacks involved with Libav supportjstebbins2011-07-2711-1033/+592
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Core Audio encoders: use hb_layout_remap instead of Apple's remapping functionsjstebbins2011-07-241-27/+39
| | | | | | | | | | | | | Apple's AudioConverterSetProperty function fails to set the kAudioConverterChannelMap under OS X 10.7 Lion. In order to avoid having to special-case and having to track whether or not the bug gets fixed, this patch just uses our hb_remap_layout function to do the remapping instead. Thanks to Rodeo for the patch git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4132 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: encavcodecaudio improvementsjstebbins2011-07-241-19/+11
| | | | | | | | | | | | | Compute the output layout once in encavcodecaInit and store it in a member of the hb_encavcodeca work object. Fix the channel mapping of ffaac in our code rather than applying a patch to Libav. The Libav AAC encoder is bound to see a certain amount of commit activity since it needs to be improved. A patch affecting the AAC encoder is bound to break regularly git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4131 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix access outside allocated memory regionjstebbins2011-07-191-19/+25
| | | | | | | | | In some cases we could access memory outside the memory buffer we allocate for TS packets. This didn't cause any known crashes, but it could possibly lead to a crash. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4123 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: plug a few memory leaksjstebbins2011-07-197-16/+72
| | | | | | | Noticed when debugging a memory corruption issue with valgrind git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4122 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a couple small memory leaksjstebbins2011-07-111-3/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4102 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: improve dvdnav main feature detectionjstebbins2011-07-101-106/+145
| | | | | | | | | Add detection of fake menus. Some menus have very short duration and/or are hidden from the user by making the hightlight transparent. These menus can lead to invalid titles if traversed, so ignore them. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4096 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: improve dvdnav main feature detectionjstebbins2011-07-091-68/+76
| | | | | | | | Improve detection of fake titles that are transitioned through on the way to the real title when a menu button is pressed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4095 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix crash when scanning True Gritjstebbins2011-07-081-3/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4090 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a couple small memory leaksjstebbins2011-07-072-6/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4088 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a stack corruption crash when scanning some BDsjstebbins2011-07-071-11/+5
| | | | | | | | was overrunning the end of a stack based array when there were more than 32 clips in a BD title. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4086 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: when doing main feature search, skip prohibited buttons.jstebbins2011-07-061-33/+41
| | | | | | | | | | | | There is a field in the prohibited user operations PCI flags that says when the user can push buttons. If they are prohibited, we shouldn't push them when searching for the main feature since they would not be accessible on a dvd player. This fixes selection of "fake" titles on some discs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4085 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add some logging to main feature searchjstebbins2011-07-061-11/+33
| | | | | | | | | This lets us see in the logs if it finds a root menu title, a title menu title, or falls back to using the longest title. Log level 2 must be enabled to see these. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4084 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix some warnings in the clijstebbins2011-07-012-2/+2
| | | | | | | and add printf attribute to hb_strdup_printf git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4081 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix progress information for batch scansjstebbins2011-06-231-0/+1
| | | | | | | | | 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
* libhb: fix incorrect error message when adding substreams to ts listjstebbins2011-06-211-8/+8
| | | | | | | | | | The error message was meant to catch the case were a source has more than 2 substreams in a stream. But due to incorrect order of conditionals, it triggered when both substreams have been seen and we try to add one of them again (which is allowed and should do nothing). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4071 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: flush frame re-ordering delay queue properly when there are < 8 framesjstebbins2011-06-211-1/+3
| | | | | | | If the queue never completely filled, it would not be flushed. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4070 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a warning in decssasub.c by adding new hb_valog functionjstebbins2011-06-153-42/+40
| | | | | | | | And consolidate logging code in hb_valog. hb_log and hb_deep_log call hb_valog. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4060 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: eliminate use of deprecated sws_getContextjstebbins2011-06-151-8/+28
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4059 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add DTS-HD passthru \o/jstebbins2011-06-1410-99/+133
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4055 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix problem with processing audio gaps in dts streamsjstebbins2011-06-121-1/+1
| | | | | | | | incorrect start time was placed on the outgoing dts packet when a gap was detected. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4053 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: generalize channel remapping between decoders and encodersjstebbins2011-06-1212-91/+71
| | | | | | | | 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
* libhb: clean up AVCodecContext initializationsjstebbins2011-06-103-10/+50
| | | | | | | | also fixes warning message generated by libav when initializing "silence" sample about channel layout setting. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4038 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: disable threaded ffmpeg decoding for scanjstebbins2011-06-103-3/+8
| | | | | | | | There is a bug in ffmpeg that causes a crash if you call avcodec_open and avcodec_close repeatedly on the same AVCodecContext. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4037 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Enable multi-threaded decode in ffmpegjstebbins2011-06-089-13/+27
| | | | | | | | Enable both slice and frame based mutli-threaded decode in ffmpeg. Uses cpu_count/2 + 1 threads. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4034 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add ffaac encode supportjstebbins2011-06-081-1/+2
| | | | | | | | Adds "AAC (ffmpeg)" option to lingui and macui, "ffaac" option to cli. Does not yet remove faac. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4031 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix up usage of deprecated libav symbols and clean up patch fuzzjstebbins2011-06-073-11/+11
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4030 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: add support for libav aac encoder (libhb only)jstebbins2011-06-078-35/+118
| | | | | | | | | This generalizes the ac3 encoder to make it easy to add support for any audio encoder that libav supports. Since ffaac is not quite ready, the cli and gui does not expose ffaac yet. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4029 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump FFmpeg from git-0b32da9 to git-v0.7b2-406-g7b20d35 (from Libav)jstebbins2011-06-072-1/+7
| | | | | | | | | | | | | | | | Highlights: - Sources with more than 20 streams (video, audio and subtitles combined) are now supported - Adds decoding support for 10-bit H.264 - Adds frame-based threading for H.264 and VP8 Not yet enabled in HB. See experimental patch on RB to enable. - Quality tweaks for the AC3 encoder - AAC encoder improvements Not yet enabled in HB. See experimental patch on RB to enable. - Miscellaneous other fixes and improvements git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Sort BD titles by playlist idjstebbins2011-06-071-6/+29
| | | | | | | | | This makes the logs of different rips more consistent. Previously, the order of titles was determined by the order the mpls files were written in the PLAYLIST directory which could vary from rip to rip. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4027 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix crash when x264 fails to initializejstebbins2011-06-062-1/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4025 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a problem with filtering and picking correct BD titlejstebbins2011-06-051-0/+13
| | | | | | | | | Titles that are the same except for number of chapters were being filtered out of the title list. So sometimes you would get a BD title that didn't seem to have any chapters. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4024 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: Add support for naming audio tracks.jstebbins2011-06-031-0/+4
| | | | | | | | Also fix hb_audio_add. It was not copying the audio name. And fix audio track name parsing in the CLI. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4020 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove the depreciated hb_calc_bitrate methodsr552011-05-212-117/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3987 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Macgui: libhb, MacGUI: reflect the fact that DRC only applies to ↵dynaflash2011-05-191-1/+1
| | | | | | | | | non-passthru AC3 sources - As per https://reviews.handbrake.fr/r/74/ -Patch by Rodeo, Thanks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3983 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix some problems with rgb2yuv and yuv2rgbjstebbins2011-05-172-10/+10
| | | | | | | | | | yuv2rgb converted incorrectly. Cb and Cr were swapped in 2 of the 3 conversion expressions. rgb2yuv was setting the color channels in the incorrect order in the output. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3981 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove old muxers that are no longer used by HBsr552011-04-302-1048/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3971 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: don't use deprecated elements of the FFmpeg/Libav APIjstebbins2011-04-285-39/+33
| | | | | | | | | | | | | HandBrake uses many attributes of the FFmpeg API that are were deprecated when we did the last bump. Many of them no longer exist in current FFmpeg/Libav git, or are going to be removed soon. Replaces them with non-deprecated attributes that already exist in the build we currently use. Thanks to Rodeo for the patch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3964 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a crash that can happen due to corrupt mpeg2 datajstebbins2011-04-271-0/+9
| | | | | | | | | The mpe2dec can return nonsense values for width and height that make sws_getContext fail. So check the context return value and just drop the buffer if it fails. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3963 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a problem with overlapping vobsubsjstebbins2011-04-272-13/+29
| | | | | | | | | | | Since we now allow subtitles that overlap in time, it is no longer appropriate to arbitrarily set the duration to 3 seconds when vobsubs don't have an explicit stop time. This causes them to overlap on the display. So now, we set the stop time for such vobsubs to -1. Then in sync adjust the stop time to the start of the next vobsub when it is seen. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3961 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Make order of audio tracks found in PS streams more predictablejstebbins2011-04-253-1/+45
| | | | | | | | | Since PS streams don't have a directory of streams, we find them by scanning the PES headers for stream types. We were adding them in the order found which is pretty random. This sorts audios by substream id. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3958 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix a problem when encoding the same source audio track twice from BD sourcesjstebbins2011-04-251-5/+23
| | | | | | | | | The pid and substream were being added to the TS stream list twice which caused 2 copies of each packet to be returned to reader. This caused sync to drop every second packet with "time went backwards" log message. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3957 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix stall due due to propagation of incorrect audio timestampjstebbins2011-04-241-0/+2
| | | | | | | | Was passing AV_NOPTS_VALUE that is generated by libav. Needed to translate to -1 which is what we use to designate invalid timestamps. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3955 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change scale factor for timestamp offset in vobsub commandsjstebbins2011-04-241-4/+4
| | | | | | | | Testing shows that this should be 1024 instead of 900. Thanks to Rodeo for validation and patch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3954 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add support for TrueHD and DTS-HD from BD sourcesjstebbins2011-04-2212-801/+1189
| | | | | | | | | | | | | | 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
* remove unused vfr member of hb_job_tjstebbins2011-04-211-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3947 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove redundant code.jstebbins2011-04-201-10/+2
| | | | | | | | Should have been removed here https://trac.handbrake.fr/changeset/2917 Thanks to rodeo for spotting this. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3944 b64f7644-9d1e-0410-96f1-a4d463321fa5
* HE-AAC support for the OSX port. Thanks go to amarcus, ritsuka and rodeo.sr552011-04-189-29/+195
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3937 b64f7644-9d1e-0410-96f1-a4d463321fa5