diff options
author | jstebbins <[email protected]> | 2015-04-02 16:04:08 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2015-04-02 16:04:08 +0000 |
commit | 4e26c6488ca8910d834568d22c89b34c239798c7 (patch) | |
tree | 6e03aa4a9aa471f1f97ee468f2412f306ee4145b /libhb/common.h | |
parent | 7853e46f29f9379fcfbeda917101819c37f1a7eb (diff) |
libhb: add functions to lookup details of mixdown, video, audio, container
... from int id.
And add defines to eliminate some magic numbers.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@7037 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/common.h')
-rw-r--r-- | libhb/common.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/libhb/common.h b/libhb/common.h index 08e073296..1014b8c14 100644 --- a/libhb/common.h +++ b/libhb/common.h @@ -377,6 +377,7 @@ int hb_mixdown_get_discrete_channel_count(int mixdown); int hb_mixdown_get_low_freq_channel_count(int mixdown); int hb_mixdown_get_best(uint32_t codec, uint64_t layout, int mixdown); int hb_mixdown_get_default(uint32_t codec, uint64_t layout); +hb_mixdown_t* hb_mixdown_get_from_mixdown(int mixdown); int hb_mixdown_get_from_name(const char *name); const char* hb_mixdown_get_name(int mixdown); const char* hb_mixdown_get_short_name(int mixdown); @@ -384,6 +385,7 @@ const char* hb_mixdown_sanitize_name(const char *name); const hb_mixdown_t* hb_mixdown_get_next(const hb_mixdown_t *last); int hb_video_encoder_get_default(int muxer); +hb_encoder_t* hb_video_encoder_get_from_codec(int codec); int hb_video_encoder_get_from_name(const char *name); const char* hb_video_encoder_get_name(int encoder); const char* hb_video_encoder_get_short_name(int encoder); @@ -400,6 +402,7 @@ const hb_encoder_t* hb_video_encoder_get_next(const hb_encoder_t *last); */ int hb_audio_encoder_get_fallback_for_passthru(int passthru); int hb_audio_encoder_get_default(int muxer); +hb_encoder_t* hb_audio_encoder_get_from_codec(int codec); int hb_audio_encoder_get_from_name(const char *name); const char* hb_audio_encoder_get_name(int encoder); const char* hb_audio_encoder_get_short_name(int encoder); @@ -415,6 +418,7 @@ void hb_autopassthru_apply_settings(hb_job_t *job); void hb_autopassthru_print_settings(hb_job_t *job); int hb_autopassthru_get_encoder(int in_codec, int copy_mask, int fallback, int muxer); +hb_container_t* hb_container_get_from_format(int format); int hb_container_get_from_name(const char *name); int hb_container_get_from_extension(const char *extension); // not really a container name const char* hb_container_get_name(int format); @@ -479,6 +483,7 @@ struct hb_job_s pass: 0, 1 or 2 (or -1 for scan) areBframes: boolean to note if b-frames are used */ #define HB_VCODEC_MASK 0x0000FFF +#define HB_VCODEC_INVALID 0x0000000 #define HB_VCODEC_X264 0x0000001 #define HB_VCODEC_THEORA 0x0000002 #define HB_VCODEC_X265 0x0000004 @@ -545,6 +550,7 @@ struct hb_job_s * file: file path */ #define HB_MUX_MASK 0xFF0001 +#define HB_MUX_INVALID 0x000000 #define HB_MUX_MP4V2 0x010000 #define HB_MUX_AV_MP4 0x020000 #define HB_MUX_MASK_MP4 0x030000 @@ -583,13 +589,14 @@ struct hb_job_s PRIVATE int use_decomb; PRIVATE int use_detelecine; -#ifdef USE_QSV // QSV-specific settings struct { int decode; int async_depth; +#ifdef USE_QSV av_qsv_context *ctx; +#endif // shared encoding parameters // initialized by the QSV encoder, then used upstream (e.g. by filters) // to configure their output so that it matches what the encoder expects @@ -601,7 +608,6 @@ struct hb_job_s int is_init_done; } enc_info; } qsv; -#endif #ifdef __LIBHB__ /* Internal data */ @@ -629,6 +635,7 @@ struct hb_job_s /* Audio starts here */ /* Audio Codecs: Update win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/NativeConstants.cs when changing these consts */ +#define HB_ACODEC_INVALID 0x00000000 #define HB_ACODEC_MASK 0x03FFFF00 #define HB_ACODEC_LAME 0x00000200 #define HB_ACODEC_VORBIS 0x00000400 @@ -732,6 +739,12 @@ struct hb_audio_config_s PRIVATE char description[1024]; PRIVATE char simple[1024]; PRIVATE char iso639_2[4]; +#define HB_AUDIO_TYPE_NONE 0 +#define HB_AUDIO_TYPE_NORMAL 1 +#define HB_AUDIO_TYPE_VISUALLY_IMPAIRED 2 +#define HB_AUDIO_TYPE_COMMENTARY 3 +#define HB_AUDIO_TYPE_ALT_COMMENTARY 4 +#define HB_AUDIO_TYPE_BD_SECONDARY 5 PRIVATE uint8_t type; /* normal, visually impaired, director's commentary */ } lang; }; @@ -1192,6 +1205,7 @@ struct hb_filter_object_s // Update win/CS/HandBrake.Interop/HandBrakeInterop/HbLib/hb_filter_ids.cs when changing this enum enum { + HB_FILTER_INVALID = 0, // for QSV - important to have before other filters HB_FILTER_FIRST = 1, HB_FILTER_QSV_PRE = 1, |