summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* hb_x264_param_unparse: returns a complete x264 encopts string from a ↵Rodeo2012-11-123-3/+630
| | | | | | preset/tune(s)/profile/level/encopts combo. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5059 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Improve management of titles and jobsjstebbins2012-11-1232-1023/+1960
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Interop: Exposing raw FPS numerator/denominator on Title. Exposing ↵randomengy2012-11-126-18/+98
| | | | | | IsH264LevelValid function. Adding additional subtitle types. Fixing Anamorphic size calculation. Adding H.264 level to encode options. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5057 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Updated the preset pane icons.sr552012-11-115-6/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5056 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Grayscale versions of the Add/Remove preset buttons.sr552012-11-114-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5055 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: update iconsjstebbins2012-11-1137-32/+55
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5054 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: UI Tweaks and improvementssr552012-11-107-41/+58
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5053 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Another scaling artefact fix.sr552012-11-101-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5052 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Added 2 missing image filessr552012-11-102-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5051 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Rejig the gfx folder.sr552012-11-1044-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5050 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Attempt to fix some scaling artefacts in the new icons.sr552012-11-103-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5049 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Initial set of new icons implemented.sr552012-11-1021-11/+9
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5048 b64f7644-9d1e-0410-96f1-a4d463321fa5
* New Image files from Nik Pawlak http://nikpawlak.com sr552012-11-1050-0/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5047 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Better error messages from the user settings service. sr552012-11-101-2/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5046 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Fixes to deblock filter.sr552012-11-082-2/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5045 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Add a utility function to check whether an H.264 level can be used given the ↵Rodeo2012-11-052-0/+30
| | | | | | current encoding parameters. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5044 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encx264: revert part of revision 4944.Rodeo2012-11-052-25/+21
| | | | | | | | There's no reason why fps would be specified in the x264_param_t vs. width/height via separate parameters. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5043 b64f7644-9d1e-0410-96f1-a4d463321fa5
* encavcodecaudio: cosmetics.Rodeo2012-10-271-3/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5042 b64f7644-9d1e-0410-96f1-a4d463321fa5
* declpcm: remove an unnecessary instruction.Rodeo2012-10-271-8/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5041 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Remove debug menu optionsr552012-10-271-1/+0
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5040 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Initial work to overhaul the plist import code.sr552012-10-2714-476/+533
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5039 b64f7644-9d1e-0410-96f1-a4d463321fa5
* CLI, manicure: cosmetics.Rodeo2012-10-272-71/+26
| | | | | | | | Makes it easier to update CLI presets without having to worry about whitespace polluting the diffs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5038 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Fix initialization of hb_job_t.pfr_vrate(_base).Rodeo2012-10-273-0/+8
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5037 b64f7644-9d1e-0410-96f1-a4d463321fa5
* CLI: fix the AppleTV 3 preset once more.Rodeo2012-10-271-0/+1
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5036 b64f7644-9d1e-0410-96f1-a4d463321fa5
* manicure: fix VideoFramerate.Rodeo2012-10-271-2/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5035 b64f7644-9d1e-0410-96f1-a4d463321fa5
* CLI: fix AppleTV 3 preset again.Rodeo2012-10-271-1/+2
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5034 b64f7644-9d1e-0410-96f1-a4d463321fa5
* manicure: add PictureModulus support.Rodeo2012-10-271-0/+20
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5033 b64f7644-9d1e-0410-96f1-a4d463321fa5
* CLI: cosmetics.Rodeo2012-10-271-20/+20
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5032 b64f7644-9d1e-0410-96f1-a4d463321fa5
* CLI: fix AppleTV 3 preset.Rodeo2012-10-271-1/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5031 b64f7644-9d1e-0410-96f1-a4d463321fa5
* manicure: fix picture filters.Rodeo2012-10-271-47/+139
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5030 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deca52: avoid repeated alloc/free by re-using a fixed-size buffer.Rodeo2012-10-261-7/+3
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5029 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deca52: remove an unnecessary instruction.Rodeo2012-10-261-8/+6
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5028 b64f7644-9d1e-0410-96f1-a4d463321fa5
* deca52: cleanup.Rodeo2012-10-261-25/+33
| | | | | | | | Some functions were called once per block, where once per frame was enough. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5027 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: add quantal snapshot. remove maverickjstebbins2012-10-223-14/+43
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5026 b64f7644-9d1e-0410-96f1-a4d463321fa5
* build: fix problems building fontconfig on osxjstebbins2012-10-211-0/+2
| | | | | | | If pkg-config is not installed, fontconfig fails to find libxml2 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5025 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Couple of UI fixes.sr552012-10-211-26/+50
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5024 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_audio_remap improvements:Rodeo2012-10-206-114/+197
| | | | | | | | | | - support for additional sample formats - support for variable channel layouts git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5023 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump libbluray to version 0.2.3.Rodeo2012-10-202-3/+3
| | | | | | | | Miscellaneous fixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5022 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Couple minor fixes.sr552012-10-182-1/+5
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5021 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Remove unneeded .cvsignore files.Rodeo2012-10-173-77/+0
| | | | | | | | Thanks to Adrian Bunk for noticing. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5020 b64f7644-9d1e-0410-96f1-a4d463321fa5
* hb_ff_set_sample_fmt() improvements.Rodeo2012-10-175-24/+48
| | | | | | | | | | - allow setting a sample_fmt other than AV_SAMPLE_FMT_FLT - fall back on planar/packed variant of the requested format if available git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5019 b64f7644-9d1e-0410-96f1-a4d463321fa5
* Bump x264 to version r2216-198a7ea.Rodeo2012-10-171-1/+1
| | | | | | | | Miscellaneous fixes and improvements. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5018 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Fixes to the new queue recovery code. Cleanup of old recovery files ↵sr552012-10-161-4/+3
| | | | | | should now work. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5017 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Refactor multi-instance support to use Process ID. Fix old log file ↵sr552012-10-138-70/+78
| | | | | | cleanup function. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5016 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: API Tidyup Part 3 of many.sr552012-10-1310-733/+601
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5015 b64f7644-9d1e-0410-96f1-a4d463321fa5
* libhb: Fix crash found on some dvd'sjstebbins2012-10-132-36/+74
| | | | | | | 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
* WinGui: Settings tidyupsr552012-10-107-36/+36
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5013 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Missed files from previous checkin.sr552012-10-108-171/+4
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5012 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: API Tidyup Part 2 of many. Growl Support.sr552012-10-1011-7/+259
| | | | git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5011 b64f7644-9d1e-0410-96f1-a4d463321fa5
* WinGui: Remove old ShowCLI setting. There isn't much reason to have this ↵sr552012-10-094-32/+1
| | | | | | anymore. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5010 b64f7644-9d1e-0410-96f1-a4d463321fa5