of the service type in the audio bitstream.tags/n0.8
| @@ -586,6 +586,28 @@ Set the ISO 639 language code (3 letters) of the current audio stream. | |||||
| @table @option | @table @option | ||||
| @item -atag @var{fourcc/tag} | @item -atag @var{fourcc/tag} | ||||
| Force audio tag/fourcc. | Force audio tag/fourcc. | ||||
| @item -audio_service_type @var{type} | |||||
| Set the type of service that the audio stream contains. | |||||
| @table @option | |||||
| @item ma | |||||
| Main Audio Service (default) | |||||
| @item ef | |||||
| Effects | |||||
| @item vi | |||||
| Visually Impaired | |||||
| @item hi | |||||
| Hearing Impaired | |||||
| @item di | |||||
| Dialogue | |||||
| @item co | |||||
| Commentary | |||||
| @item em | |||||
| Emergency | |||||
| @item vo | |||||
| Voice Over | |||||
| @item ka | |||||
| Karaoke | |||||
| @end table | |||||
| @item -absf @var{bitstream_filter} | @item -absf @var{bitstream_filter} | ||||
| Bitstream filters available are "dump_extra", "remove_extra", "noise", "mp3comp", "mp3decomp". | Bitstream filters available are "dump_extra", "remove_extra", "noise", "mp3comp", "mp3decomp". | ||||
| @end table | @end table | ||||
| @@ -2100,6 +2100,7 @@ static int transcode(AVFormatContext **output_files, | |||||
| codec->sample_rate = icodec->sample_rate; | codec->sample_rate = icodec->sample_rate; | ||||
| codec->channels = icodec->channels; | codec->channels = icodec->channels; | ||||
| codec->frame_size = icodec->frame_size; | codec->frame_size = icodec->frame_size; | ||||
| codec->audio_service_type = icodec->audio_service_type; | |||||
| codec->block_align= icodec->block_align; | codec->block_align= icodec->block_align; | ||||
| if(codec->block_align == 1 && codec->codec_id == CODEC_ID_MP3) | if(codec->block_align == 1 && codec->codec_id == CODEC_ID_MP3) | ||||
| codec->block_align= 0; | codec->block_align= 0; | ||||
| @@ -546,6 +546,19 @@ enum AVLPCType { | |||||
| AV_LPC_TYPE_NB , ///< Not part of ABI | AV_LPC_TYPE_NB , ///< Not part of ABI | ||||
| }; | }; | ||||
| enum AVAudioServiceType { | |||||
| AV_AUDIO_SERVICE_TYPE_MAIN = 0, | |||||
| AV_AUDIO_SERVICE_TYPE_EFFECTS = 1, | |||||
| AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2, | |||||
| AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3, | |||||
| AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4, | |||||
| AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5, | |||||
| AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6, | |||||
| AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7, | |||||
| AV_AUDIO_SERVICE_TYPE_KARAOKE = 8, | |||||
| AV_AUDIO_SERVICE_TYPE_NB , ///< Not part of ABI | |||||
| }; | |||||
| typedef struct RcOverride{ | typedef struct RcOverride{ | ||||
| int start_frame; | int start_frame; | ||||
| int end_frame; | int end_frame; | ||||
| @@ -2864,6 +2877,13 @@ typedef struct AVCodecContext { | |||||
| * - decoding: unused. | * - decoding: unused. | ||||
| */ | */ | ||||
| uint64_t vbv_delay; | uint64_t vbv_delay; | ||||
| /** | |||||
| * Type of service that the audio stream conveys. | |||||
| * - encoding: Set by user. | |||||
| * - decoding: Set by libavcodec. | |||||
| */ | |||||
| enum AVAudioServiceType audio_service_type; | |||||
| } AVCodecContext; | } AVCodecContext; | ||||
| /** | /** | ||||
| @@ -436,6 +436,16 @@ static const AVOption options[]={ | |||||
| {"slice", NULL, 0, FF_OPT_TYPE_CONST, FF_THREAD_SLICE, INT_MIN, INT_MAX, V|E|D, "thread_type"}, | {"slice", NULL, 0, FF_OPT_TYPE_CONST, FF_THREAD_SLICE, INT_MIN, INT_MAX, V|E|D, "thread_type"}, | ||||
| {"frame", NULL, 0, FF_OPT_TYPE_CONST, FF_THREAD_FRAME, INT_MIN, INT_MAX, V|E|D, "thread_type"}, | {"frame", NULL, 0, FF_OPT_TYPE_CONST, FF_THREAD_FRAME, INT_MIN, INT_MAX, V|E|D, "thread_type"}, | ||||
| {"vbv_delay", "initial buffer fill time in periods of 27Mhz clock", 0, FF_OPT_TYPE_INT64, 0, 0, INT64_MAX}, | {"vbv_delay", "initial buffer fill time in periods of 27Mhz clock", 0, FF_OPT_TYPE_INT64, 0, 0, INT64_MAX}, | ||||
| {"audio_service_type", "audio service type", OFFSET(audio_service_type), FF_OPT_TYPE_INT, AV_AUDIO_SERVICE_TYPE_MAIN, 0, AV_AUDIO_SERVICE_TYPE_NB-1, A|E, "audio_service_type"}, | |||||
| {"ma", "Main Audio Service", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_MAIN, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"ef", "Effects", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_EFFECTS, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"vi", "Visually Impaired", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"hi", "Hearing Impaired", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"di", "Dialogue", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_DIALOGUE, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"co", "Commentary", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_COMMENTARY, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"em", "Emergency", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_EMERGENCY, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"vo", "Voice Over", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_VOICE_OVER, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {"ka", "Karaoke", 0, FF_OPT_TYPE_CONST, AV_AUDIO_SERVICE_TYPE_KARAOKE, INT_MIN, INT_MAX, A|E, "audio_service_type"}, | |||||
| {NULL}, | {NULL}, | ||||
| }; | }; | ||||
| @@ -21,7 +21,7 @@ | |||||
| #define AVCODEC_VERSION_H | #define AVCODEC_VERSION_H | ||||
| #define LIBAVCODEC_VERSION_MAJOR 52 | #define LIBAVCODEC_VERSION_MAJOR 52 | ||||
| #define LIBAVCODEC_VERSION_MINOR 114 | |||||
| #define LIBAVCODEC_VERSION_MINOR 115 | |||||
| #define LIBAVCODEC_VERSION_MICRO 0 | #define LIBAVCODEC_VERSION_MICRO 0 | ||||
| #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||