summaryrefslogtreecommitdiffstats
path: root/libhb
Commit message (Collapse)AuthorAgeFilesLines
* Bump Libav to v0.8-2551-gc83f44d.Rodeo2012-07-301-3/+0
| | | | | | | | | | | | | | Fixes an issue in assembly code that could result in very poor performance when encoding with x264 & AC3 Passthru. Thanks to our John Stebbins for finding the cause of the bug, and to x264 & Libav developers for fixing it. Miscellaneous other fixes and improvements, including multichannel Apple Lossless audio decoding support. Also, clean up our Libav configure options (group things together, disable all hardware accelerations with one switch instead of individually, and disable building the unused avfilter library). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4883 b64f7644-9d1e-0410-96f1-a4d463321fa5
* work: simplify & optimize.Rodeo2012-07-291-47/+38
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4882 b64f7644-9d1e-0410-96f1-a4d463321fa5
* work: indentation and miscellaneous cosmetics.Rodeo2012-07-291-181/+182
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4881 b64f7644-9d1e-0410-96f1-a4d463321fa5
* work: don't sanitize output bitrate etc. for passthrough audio.Rodeo2012-07-291-11/+15
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4880 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use HB_INVALID_AMIXDOWN and HB_AMIXDOWN_NONE where applicable.Rodeo2012-07-292-7/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4879 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Introduce a negative HB_INVALID_AMIXDOWN.Rodeo2012-07-272-1/+3
| | | | | | | | | | Having the audio->config.out.mixdown start at 0 caused it to be treated as usigned (under OS X at least), causing the sanitizing code in work.c to fail: line 820, (audio->config.out.mixdown <= 0) would evaluate as false, and so the best mixdown was being set instead of the default one. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4878 b64f7644-9d1e-0410-96f1-a4d463321fa5
* muxmkv: reset the output track configuration before adding each audio track, ↵Rodeo2012-07-241-3/+2
| | | | | | | | | | rather than just once before adding all audio tracks. Among other things, avoids having the HE-AAC outputSamplingFreq contaminate all following non-HE or non-AAC tracks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4874 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Only log the input bitrate if it's valid; some decoders (e.g. TrueHD) set it ↵Rodeo2012-07-231-1/+7
| | | | | | | | | | | | to a dummy value of 1, resulting in: [05:15:24] * audio track 1 [05:15:24] + decoder: English (truehd) (5.1 ch) (track 1, id 0x1) [05:15:24] + bitrate: 0 kbps, samplerate: 48000 Hz git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4870 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix logging of container aspect in dvd.c and dvdnav.cjstebbins2012-07-222-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4869 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Enable threaded decoding for ProRes video sources.Rodeo2012-07-181-4/+1
| | | | | | | | | | The bug which was worked around by disabling threading has now been fixed in Libav, and I didn't find any issue when testing additional ProRes sources. Reference: https://forum.handbrake.fr/viewtopic.php?f=12&t=22599 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4866 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix deinterlace fast green stripejstebbins2012-07-182-12/+15
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4865 b64f7644-9d1e-0410-96f1-a4d463321fa5
* More fine grained progress statistics during subtitle scanjstebbins2012-07-182-30/+82
| | | | | | | | Make reader compute subtitle scan progress based on timestamps seen and duration instead of chapter marks. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4864 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_audio_remap: remove unneeded channel map.Rodeo2012-07-151-1/+0
| | | | | | | | I forgot part of it in the previous commit. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4846 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_audio_remap: remove unneeded channel map.Rodeo2012-07-151-16/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4845 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use libav for dts audio decoding instead of libdca jstebbins2012-07-1511-459/+19
| | | | | | | | | libdca has no advantage over libav for dts audio decoding. It doesn't do drc and it's downmix capabilities are actually inferior to libav. So this completely removes libdca from libhb git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4844 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Change a few more hb_log() calls to hb_error(), and some cosmetics.Rodeo2012-07-152-33/+35
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4840 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix something John and I both missed.Rodeo2012-07-151-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4839 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_audio_resample: libvaresample wrapper.Rodeo2012-07-155-331/+400
| | | | | | | | Avoids having code that's mostly identical in multiple files. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4838 b64f7644-9d1e-0410-96f1-a4d463321fa5
* decpgssub: simplify code (merge several if/else blocks).Rodeo2012-07-151-35/+27
| | | | | | | | Also, discard empty subtitles until we've seen the first non-empty sub, as they are not needed. This can happen when encoding from the middle of a source, for example. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4837 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_audio_remap improvements.Rodeo2012-07-126-181/+268
| | | | | | | | | | This moves some logic outside of the decoders/encoders and into a single place. Encoders that do their own remapping (faac, vorbis) can still generate a remap table with hb_audio_remap_build_table(), without having to use hb_audio_remap(). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4827 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Cleanup after last commit: delete empty files, rename some patches.Rodeo2012-07-112-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4826 b64f7644-9d1e-0410-96f1-a4d463321fa5
* bump libav to libav-v0.8-2197-g1a068bfjstebbins2012-07-1123-2168/+757
| | | | | | | | | | | | Resolves several deprecated api's Eliminates several libav patches Eliminates our builtin downmix in favour of avresample Eliminate HB_INPUT_CH_LAYOUT_* and replace with AV_CH_LAYOUT_* Resolves 6.x and 7.0 input channel layout issues HB had Adds downmix support to declpcm. We never had it! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4825 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix hb_read_preview() when invalid index is passedjstebbins2012-07-111-0/+1
| | | | | | | Was returning last preview instead of NULL git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4823 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix problem reading previewjstebbins2012-07-101-2/+11
| | | | | | | | | The title "index" is not an index into list_title. It is a unique number assigned to each title in the list. So we must scan the list for a matching "index". git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4822 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix comb detection crash and decomb crashjstebbins2012-07-064-34/+20
| | | | | | | | | | | | | hb_detect_comb() could crash because the dimensions of the video buffer don't have to match the dimensions returned by work object info() method if the video has segments of differeing resolutions. decomb was allocating reference buffers that were too small. This bug appears to have always existed but doesn't usually get triggered because malloc usually rounds allocation sizes up. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4812 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix live preview crash when generating preview while encodingjstebbins2012-07-031-11/+12
| | | | | | | GetFifoForId() was not re-entrant (it used a static array). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4809 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix unused variable warningjstebbins2012-07-021-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4806 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix comparison (check if unsigned type is < 0). Not sure why I keep doing this.Rodeo2012-07-021-5/+9
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4804 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix crop detectionjstebbins2012-06-301-17/+18
| | | | | | | It wasn't accounting for stride that is greater than width git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4803 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encca_aac.c: oesc.mDataByteSize is signed.Rodeo2012-06-291-9/+9
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4791 b64f7644-9d1e-0410-96f1-a4d463321fa5
* muxmkv: improve reliability of HE-AAC check when doing AAC Passthru.Rodeo2012-06-291-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4789 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix hb_mixdown_get_discrete_channel_count for HB_AMIXDOWN_NONE (passthrough).Rodeo2012-06-272-8/+11
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4783 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encca_aac: tabs to spaces and miscellaneous cosmetics.Rodeo2012-06-261-44/+52
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4780 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encca_aac: chnage a variable type (should have been done in revision 3754).Rodeo2012-06-251-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4778 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encca_aac: fix an issue where a valid output buffer would be dropped, ↵Rodeo2012-06-251-153/+175
| | | | | | | | | | | | causing minor A/V desync and a missing audio output frame. This could happen when encoding to HE-AAC, or encoding to AAC with a very low bitrate. Also, minor cleanup (i.e. cosmetics). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4777 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix deinterlace fast problem with sources that have <mod8 alignmentjstebbins2012-06-258-86/+155
| | | | | | | | | | avpicture_deinterlace requires that both width and height of the input be 8 pixel aligned. Video buffers already have padding to align horizontally to 16 pixels, but they were not padded vertically. This adds vertical padding. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4776 b64f7644-9d1e-0410-96f1-a4d463321fa5
* fix stride in denoise filterjstebbins2012-06-231-4/+4
| | | | | | | I should have made the malloc larger rather than changing the stride git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4772 b64f7644-9d1e-0410-96f1-a4d463321fa5
* last "fix" was flawed. try again :(jstebbins2012-06-221-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4771 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix second crash in denoisejstebbins2012-06-221-2/+2
| | | | | | | | Problem is actually in decomb. It was chaning the resolution of the image :O git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4768 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix crash in denoise filterjstebbins2012-06-221-3/+3
| | | | | | | | This was introduced in the filter rework patch, so it's not a problem in the bugfix branch. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4767 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix potential overflow in par calculationsjstebbins2012-06-221-12/+10
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4765 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove encca_haac_available(). It's no longer needed since we dropped ↵Rodeo2012-06-203-96/+26
| | | | | | support for OS X 10.5. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4759 b64f7644-9d1e-0410-96f1-a4d463321fa5
* common.h, common.c: minor modifications.Rodeo2012-06-202-5/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4758 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_get_best_mixdown: fix bug introduced in revision 4755.Rodeo2012-06-201-1/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4757 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: update hb_get_best_mixdown(). I was partially borken after revision 4754.Rodeo2012-06-191-57/+34
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4755 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: drop HB_INPUT_CH_LAYOUT_*Rodeo2012-06-1817-322/+238
| | | | | | | | AV_CH_LAYOUT_* works for us, and as its usage becomes more widespread in libhb, translating between the two formats gets increasingly tedious. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4754 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove debug code.Rodeo2012-06-181-2/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4751 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix HE-AAC in MKV.Rodeo2012-06-181-1/+16
| | | | | | | | HandBrake's output should now play correctly on Sigma-based hardware players (among others). git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4750 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add PGS codec ID to libmkv and use it.Rodeo2012-06-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4749 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix Foreign Audio Search bug introduced in revision 4677.Rodeo2012-06-171-1/+11
| | | | | | | | interjob->select_subtitle was never freed, causing it to be added to all following queued encodes. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4748 b64f7644-9d1e-0410-96f1-a4d463321fa5