summaryrefslogtreecommitdiffstats
path: root/libhb/dvdnav.c
Commit message (Collapse)AuthorAgeFilesLines
* dvdnav: check pgcn validity before starting a pgc walk.Damiano Galassi2019-12-191-0/+6
|
* Gardening: Clean up trailing whitespaceNomis1012019-11-041-31/+31
| | | | Remove trailing whitespace in "*.c", "*.m", "*.h" and "*.cpp" files.
* libhb: make hb_buffer_t libhb privateJohn Stebbins2019-09-121-0/+2
| | | | hb_buffer_t conflicts with a harfbuzz typedef by the same name
* libhb: resolve header conflicts with pango/harfbuzzJohn Stebbins2019-09-121-3/+3
| | | | | | | Newest versions appear to have a "common.h" somewhere that is interfering with libhb/common.h. move headers into "handbrake" subdirectory
* Resolve conflict with harfbuzz include file hb.hJohn Stebbins2019-09-101-1/+1
| | | | Rename hb.h to handbrake.h
* dvdnav: fix double free on closeJohn Stebbins2019-08-261-1/+1
|
* libhb: eliminate file path length limitsJohn Stebbins2019-08-111-19/+23
|
* dvd: create track named from dvd track attributesJohn Stebbins2019-08-111-0/+21
|
* dvd: remove dvd specific details from hb_title_tJohn Stebbins2019-07-121-211/+239
| | | | This information isn't needed by the frontends and pollutes the API
* Fix gcc 9 compiler warningsJohn Stebbins2019-06-281-9/+9
| | | | | gcc 9 is quite a lot chattier and clutters the build log with useless information :\
* dvdnav: fix potentially unterminated stringJohn Stebbins2019-02-111-1/+2
|
* dvd: Add support for MPEG-1 on DVDJohn Stebbins2019-02-111-0/+18
| | | | | | Use video attributes from IFO file to set video stream type. May fix https://github.com/HandBrake/HandBrake/issues/1880
* Update copyright dates to 2019.Bradley Sepos2019-01-011-1/+1
|
* Fix PGS subtitle decoding...John Stebbins2018-06-131-1/+6
| | | | | | | | | | | | | | | | | ...And add a timebase to every stream. ffmpeg's subtitle decoder internally converts the packet pts to AV_TIME_BASE units based on AVCodecContext.pkt_timebase. If pkt_timebase is not set, the PGS subtitle decoder only returns AV_NOPTS_VALUE for timestamps. So setting pkt_timebase in decpgssub.c fixes PGS subtitle decoding. Confusingly, the subtitle decoder does not convert the pts *back* to the input timebase, but instead leaves them in AV_TIME_BASE units upon returning a decoded subtitle. To get a head start on fixing any other such issues that might arrise, I have also set pkt_timebase in all other avcodec decoders.
* Misc. typosluz.paz2018-02-201-1/+1
| | | Found via `codespell -q 3 --skip="./gtk/po`
* Update copyright dates to 2018.Bradley Sepos2018-01-011-1/+1
|
* CLI: add option to log version, title, and progress in jsonJohn Stebbins2017-11-061-4/+38
| | | This is useful for scripts and other frontends that need to parse CLI output.
* subtitles: simplify and shorten subtitle descriptions (#591)John Stebbins2017-03-101-15/+18
| | | | | | | | | | | | | | | | | | * subtitles: simplify and shorten subtitle descriptions Generally, it eliminates parens to make things more readable. I.e. it turns this: English (Closed Caption)(Wide Screen)(Bitmap)(VOBSUB) Into this: English, Closed Caption [Wide Screen, VOBSUB] * Revise punctuation per BradleyS request * fix subtitle description formatting * incorporate suggestions from PR
* dvd: add widescreen/letterbox/pan&scan/4:3 to vobsub descriptionJohn Stebbins2017-02-211-5/+25
|
* dvd: add widescreen vobsubs when letterbox is permittedJohn Stebbins2017-02-211-77/+114
| | | | | | We were only adding subtitle tracks specifically designed for letterbox when letterbox is permitted. We should also add the subtitle tracks that are specifically designed for wide screen.
* Update copyright dates to 2017.Bradley Sepos2017-01-011-1/+1
|
* libhb: send initial chapter through pipelineJohn Stebbins2016-05-171-11/+2
| | | | | Eliminate the need for everyone to assume that the first chapter starts at the first frame.
* Update copyright dates to 2016.Bradley Sepos2016-01-011-1/+1
|
* libhb: use LL for int64 constants to make mingw happyJohn Stebbins2015-12-261-2/+2
|
* libhb: detect read errors and propagatejstebbins2015-06-291-2/+10
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7332 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update year to 2015.bradleys2015-02-011-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6852 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix libdvdnav dvd name and add additional fallback if no name is foundritsuka2015-01-131-1/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6744 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Revert a change Xcode committed on its own.ritsuka2015-01-131-8/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6742 b64f7644-9d1e-0410-96f1-a4d463321fa5
* MacGui: Move the audio/subtitles selection logic out of the view ↵ritsuka2015-01-131-1/+8
| | | | | | controllers. Now it's possible to create a HBJob and apply a preset to without the UI classes help. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6741 b64f7644-9d1e-0410-96f1-a4d463321fa5
* json: add json APIsjstebbins2014-12-161-4/+7
| | | | | | | | | | There are several changes to job and title structs that break current windows interop code. The interop code should be changed such that it only uses json APIs. So if there is any missing features (or bugs) in these APIs, please let me know. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6602 b64f7644-9d1e-0410-96f1-a4d463321fa5
* ilibhb: Fix reading from DVDISO files with non-ASCII filenames on Windowsjstebbins2014-10-131-5/+20
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6443 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix overwriting of source pathjstebbins2014-05-271-2/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6206 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: clean up handling dir directory separatorjstebbins2014-02-221-1/+4
| | | | | | | title->name was getting set to an empty string in some cases due to looking for the wrong directory separator. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6057 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: remove a52decjstebbins2014-02-201-0/+1
| | | | | | | replace it with libavcodec ac3 decoder git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6049 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Update some copyright dates to 2014.Rodeo2014-02-181-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix missing format specifier in printfjstebbins2014-01-261-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5998 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: set audio description in LookForAudio (scan.c).Rodeo2014-01-251-21/+3
| | | | | | | | | All audio tracks go through it since SVN revision 5424. This is where we have the most information about each audio track. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5996 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix scanning some dvdsjstebbins2013-09-191-9/+0
| | | | | | | | | | | | | | | | | | | | | e.g. star trek into darkness This reverts part of a patch that was originally written for dvdread access. So we need to watch for regressions. The patch was originally written for dvdread access and my not actually be a bug in dvdnav. So I have reverted it in dvdnav only. I also tried to reproduce the original bug in dvdread, but was unsuccessful. So I'm wondering if the original bug also got "fixed" by subsequent changes. The original bug report is here: https://forum.handbrake.fr/viewtopic.php?f=4&t=9758&start=0 The original fix is here: https://trac.handbrake.fr/changeset/2256 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5787 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix calculation of chapter durations in dvdread and dvdnav.Rodeo2013-06-161-9/+2
| | | | | | | | | | The values printed to the scan log were incorrect. Patch by Stuart Webster. Thanks! git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5588 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix incorrect sizeof()jstebbins2013-06-151-1/+1
| | | | | | | | | Function parameter array declarations are not treated the same way as local or global array declarations. sizeof will return only the size of the pointer instead of the size of the array. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5584 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Updated all the copyright headers to 2013.sr552013-03-091-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5318 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Fix main feature detection for some DVDs (Brave)jstebbins2013-01-281-1/+1
| | | | | | | | Some new discs are putting longer leaders before the feauture. So extend how far we search before giving up. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5216 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump libav to v9_beta3.Rodeo2012-12-311-2/+2
| | | | | | | | Miscellaneous bugfixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5124 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve management of titles and jobsjstebbins2012-11-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleans up several several unavoidable memory leaks caused by old api. Clearly separates titles from jobs. Titles are set during scan and never modified now. Since titles are immutable, this lead to API some changes. For example, We were setting chapter names in the title from the front ends. Now these get set in the job. These new APIs allow us to start moving away from our use of title->job. Eventually, I would like to eliminate title->job completely, but the mac ui is too tightly tied to using this field to allow removing it at this time. So there is temporarily a convenience function used only by the mac ui that allows it to continue using title->job and also use the new APIs. New APIs: typedef struct hb_title_set_s hb_title_set_t; struct hb_title_set_s { hb_list_t * list_title; int feature; // Detected DVD feature title }; hb_title_set_t * hb_get_title_set( hb_handle_t * ); This is just something I added to clean up how "feature title" info is passed. hb_job_t * hb_job_init( hb_title_t * title ); Initializes a new job with default settings from the title. hb_job_t * hb_job_init_by_index( hb_handle_t *h, int title_index ); Same as hb_job_init(). For use by win Interop lib. void hb_job_reset( hb_job_t * job ); Convenience function for the MacUi. Clears audio, subtitle, and filter lists. The macui still uses title->job because it is so intricately tied to it. So I created this convenience function that it can call after adding a job. void hb_job_close( hb_job_t ** job ); Releases the job an all resources it contains. void hb_job_set_advanced_opts( hb_job_t *job, const char *advanced_opts ); Makes a copy of "advanced_opts" and stores in job. Freed by hb_job_close(). void hb_job_set_file( hb_job_t *job, const char *file ); Makes a copy of "file" and stores in job. Freed by hb_job_close(). void hb_chapter_set_title(hb_chapter_t *chapter, const char *title); Makes a copy of "title" and stores in chapter. Freed by hb_chapter_close(). Recommended usage (cli and lingui are updated to do this): job = hb_job_init( title ); // set job settings ... hb_add(h, job); hb_job_close( &job ); I have also added new APIs for managing metadata. These are used to add metadata to a job. void hb_metadata_set_name( hb_metadata_t *metadata, const char *name ); void hb_metadata_set_artist( hb_metadata_t *metadata, const char *artist ); void hb_metadata_set_composer( hb_metadata_t *metadata, const char *composer ); void hb_metadata_set_release_date( hb_metadata_t *metadata, const char *release_date ); void hb_metadata_set_comment( hb_metadata_t *metadata, const char *comment ); void hb_metadata_set_genre( hb_metadata_t *metadata, const char *genre ); void hb_metadata_set_album( hb_metadata_t *metadata, const char *album ); void hb_metadata_set_coverart( hb_metadata_t *metadata, const uint8_t *coverart, int size ); Example: job = hb_job_init( &job ); // set job settings ... hb_metadata_set_artist( job->metadata, "Danny Elfman" ); hb_add(h, job); hb_job_close( &job ); Some APIs have changed in order to avoid using title incorrectly and use the new hb_title_set_t. -void hb_autopassthru_apply_settings( hb_job_t * job, hb_title_t * title ); +void hb_autopassthru_apply_settings( hb_job_t * job ); -void hb_get_preview( hb_handle_t *, hb_title_t *, int, uint8_t * ); +void hb_get_preview( hb_handle_t *, hb_job_t *, int, uint8_t * ); hb_thread_t * hb_scan_init( hb_handle_t *, volatile int * die, const char * path, int title_index, - hb_list_t * list_title, int preview_count, + hb_title_set_t * title_set, int preview_count, int store_previews, uint64_t min_duration ); These APIs have been removed. Win Interop will need some changes. I think what I've provided will be suffecient, but let me know if it's not. -void hb_get_preview_by_index( hb_handle_t *, int, int, uint8_t * ); -void hb_set_anamorphic_size_by_index( hb_handle_t *, int, - int *output_width, int *output_height, - int *output_par_width, int *output_par_height ); git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5058 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Fix crash found on some dvd'sjstebbins2012-10-131-20/+52
| | | | | | | New strutural protection caused us to access null pointer cell_playback table. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5014 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix a collection of small memory leaksjstebbins2012-09-131-0/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4963 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: fix logging of container aspect in dvd.c and dvdnav.cjstebbins2012-07-221-1/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4869 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Use libav for dts audio decoding instead of libdca jstebbins2012-07-151-0/+1
| | | | | | | | | 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
* bump libav to libav-v0.8-2197-g1a068bfjstebbins2012-07-111-0/+1
| | | | | | | | | | | | 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
* Updated file copyright / GPL headerssr552012-06-151-3/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4737 b64f7644-9d1e-0410-96f1-a4d463321fa5