饰品的英文译语怎么说-maroon5好听的歌


2023年4月2日发(作者:化妆师培训)

AVFormatContext

/**

*格式化I/O上下⽂。

*新的字段可以添加到⼩版本颠簸的末尾。

*删除、重新排序和更改现有字段需要⼀个主要的

*版本凹凸。

*sizeof(AVFormatContext)不能在libav*之外使⽤,使⽤

*avformat_alloc_context()创建⼀个AVFormatContext。

*

*字段可以通过AVOptions(av_opt*)访问,

*使⽤的名李清照的诗句 称字符串匹配相关的命令⾏参数名称和

*可以在libavformat/options_table.h中找到。

*AVOption/命令⾏参数名称在某些情况下与C不同

*出于历史原因或简洁起见,结构字段名称。

*/

typedefstructAVFormatContext{

/**

*⽤于⽇志记录和@refavoptions的类。由avformat_alloc_context()设置。

*导出(de)muxer私有选项(如果存在)。

*/

constAVClass*av_class;

/**

*输⼊容器格式。

*

*仅解复⽤,由avformat_open_input()设置。

*/

ff_const59structAVInputFormat*iformat;

/**

*输出容器格式。

*

*仅Muxing,必须由调⽤者在avformat_write_header()之前设置。

*/

ff_const59structAVOutputFormat*oformat;

/**

*格式化私⼈数据。这是⼀个启⽤AVOptions的结构

*当且仅当iformat/_class不为NULL。

*

*-多路复⽤:由avformat_write_header()设置

*-解复⽤:由avformat_open_input()设置

*/

void*priv_data;

/**

*I/O上下⽂。

*

*-解复⽤:要么由⽤户在avformat_open_input()之前设置(然后

*⽤户必须⼿动关闭它)或由avformat_open_input()设置。

*-muxing:由⽤户在avformat_write_header()之前设置。来电者必须

*负责关闭/释放IO上下⽂。

*

*如果设置了AVFMT_NOFILE标志,请不要设置此字段

*iformat/。在这种情况下,(解)复⽤器将处理

*以其他⽅式进⾏I/O,该字段将为NULL。

*/

AVIOContext*pb;

/*流信息*/

/**

*标志信号流属性。AVFMTCTX_*的组合。

*由libavformat设置。

*/

intctx_flags;

/**

*s中的元素数量。

*

*由avformat_new_stream()设置,不得被任何其他代码修改。

*由avformat_new_stream()设置,不得被任何其他代码修改。

*/

unsignedintnb_streams;

/**

*⽂件中所有流的列表。创建新的流

*avformat_new_stream()。

*

*-解复⽤:流由libavformat在avformat_open_input()中创建。

*如果在ctx_flags中设置了AVFMTCTX_NOHEADER,那么新的流也可能

*出现在av_read_frame()中。

*-muxing:流由⽤户在avformat_write_header()之前创建。

*

*由libavformat在avformat_free_context()中释放。

*/

AVStream**streams;

#ifFF_API_FORMAT_FILENAME

/**

*输⼊或输出⽂件名

*

*-解复⽤:由avformat_open_input()设置

*-muxing:可以在avformat_write_header()之前由调⽤者设置

*

*@deprecated改⽤url。

*/

attribute_deprecated

charfilename[1024];

#endif

/**

*输⼊或输出URL。与旧的⽂件名字段不同,该字段没有

*长度限制。

*

*-分离:由avformat_open_input()设置,初始化为空

*字符串,如果avformat_open_input()中的u鸡冠的拼音 rl参数为NULL。

*-muxing:可以在调⽤avformat_write_header()之前由调⽤者设置

*(或avformat_init_output()如果⾸先调⽤)到字符串

*可以通过av_free()释放。如果它设置为空字符串

*在avformat_init_output()中为NULL。

*

*由libavformat在avf山中古诗 ormat_free_context()中释放。

*/

char*url;

/**

*组件第⼀帧的位置,在

*AV_TIME_BASE⼩数秒。切勿直接设置此值:

*它是从AVStream值推导出来的。

*

*仅解复⽤,由libavformat设置。

*/

int64_tstart_time;

/**

*流的持续时间,以AV_TIME_BASE⼩数表⽰

*秒。仅当您不知道单个流时才设置此值

*持续时间,也不要设置它们中的任何⼀个。这是从

*如果未设置,则为AVStream值。

*

*仅解复⽤,由libavformat设置。

*/

int64_tduration;

/**

*以⽐特/秒为单位的总流⽐特率,如果不是则为0

*可⽤的。如果file_size和

*持续时间被称为FFmpeg可以⾃动计算。

*/

int64_tbit_rate;

unsignedintpacket_size;

intmax_delay;

/**

*修改(去)复⽤器⾏为的标志。AVFMT_FLAG_*的组合。

*由⽤户在avformat_open_input()/avformat_write_header()之前设置。

*/

intflags;

#defineAVFMT_FLAG_GENPTS0x0001///<即使需要解析未来的帧,也会⽣成丢失的pts。

#defineAVFMT_FLAG_IGNIDX0x0002///<忽略索引。

#defineAVFMT_FLAG_NONBLOCK0x0004///<从输⼊读取数据包时不要阻塞。

#defineAVFMT_FLAG_IGNDTS0x0008///<忽略包含DTS和PTS的帧上的DTS

#defineAVFMT_FLAG_NOFILLIN0x0010///<不要从其他值推断任何值,只返回存储在容器中的内容

#defineAVFMT_FLAG_NOPARSE0x0020///<不要使⽤AVParsers,您还必须设置AVFMT_FLAG_NOFILLIN,因为填充代码适⽤于帧并且没有解析->

没有帧。如果已禁⽤解析以查找帧边界,则查找帧也将⽆法⼯作

#defineAVFMT_FLAG_NOBUFFER0x0040///<尽可能不要缓冲帧

#defineAVFMT_FLAG_CUSTOM_IO0x0080///<调⽤者提供了⼀个⾃定义的AVIOContext,不要avio_close()它。

#defineAVFMT_FLAG_DISCARD_CORRUPT0x0100///<丢弃标记为损坏的帧

#defineAVFMT_FLAG_FLUSH_PACKETS0x0200///<刷新AVIOContext每个数据包。

/**

*混合时,尽量避免将任何随机/易失性数据写⼊输出。

*这包括任何随机ID、实时时间戳/⽇期、多路复⽤器版本等。

*

*此标志主要⽤于测试。

*/

#defineAVFMT_FLAG_BITEXACT0x0黄河入海流 400

#ifFF_API_LAVF_MP4A_LATM

#defineAVFMT_FLAG_MP4A_LATM0x8000///<已弃⽤,什么都不做。

#endif

#defineAVFMT_FLAG_SORT_DTS0x10000///<尝试通过dts交错输出数据包(使⽤此标志可以减慢解复⽤速度)

#defineAVFMT_FLAG_PRIV_OPT0x20000///<通过延迟编解码器打开启⽤私有选项(⼀旦所有代码都被转换,这可以设为默认值)

#ifFF_API_LAVF_KEEPSIDE_FLAG

#defineAVFMT_FLAG_KEEP_SIDE_DATA0x40000///<已弃⽤,什么都不做。

#endif

#defineAVFMT_FLAG_FAST_SEEK0x80000///<启⽤快速但不准确的搜索某些格式

#defineAVFMT_FLAG_SHORTEST0x100000///

#defineAVFMT_FLAG_AUTO_BSF0x200000///<根据多路复⽤器的要求添加⽐特流过滤器

/**

*从输⼊读取的数据的最⼤⼤⼩以确定

*输⼊容器格式。

*仅解复⽤,由调⽤者在avformat_open_input()之前设置。

*/

int64_tprobesize;

/**

*读取数据的最⼤持续时间(以AV_TIME_BASE为单位)

*来⾃avformat_find_stream_info()的输⼊。

*仅解复⽤,由调⽤者在avformat_find_stream_info()之前设置。

*可以设置为0以让avformat使⽤启发式进⾏选择。

*/

int64_tmax_analyze_duration;

constuint8_t*key;

intkeylen;

unsignedintnb_programs;

AVProgram**programs;

/**

*强制视频codec_id。

*解复⽤:由⽤户设置。

*/

enumAVCodecIDvideo_codec_id;

/**

*强制⾳频codec_id。

*解复⽤:由⽤户设置。

*/

enumAVCodecIDaudio_codec_id;

/**

/**

*强制字幕codec_id。

*解复⽤:由⽤户设置。

*/

enumAVCodecIDsubtitle_codec_id;

/**

*⽤于每个流的索引的最⼤内存量(以字节为单位)。

*如果索引超过此⼤⼩,条⽬将被丢弃为

*需要保持较⼩的尺⼨。这可能会导致更慢或更少

*准确搜索(取决于多路分配器)。

*强制使⽤完整内存索引的解复⽤器将忽略

*这个。

*-多路复⽤:未使⽤

*-解复⽤:由⽤户设置

*/

unsignedintmax_index_size;

/**

*⽤于缓冲帧的最⼤内存量(以字节为单位)

*从实时捕获设备获得。

*/

unsignedintmax_picture_buffer;

/**

*AVChapter数组中的章节数。

*muxing时,章节⼀般写在⽂件头中,

*所以nb_chapters通常应该在write_header之前初管鲍之交的故事100字 始化

*叫做。⼀些多路复⽤器(例如mov和mkv)也可以编写章节

*在预告⽚中。要在预告⽚中写章节,nb_chapters

*调⽤write_header时必须为零,调⽤时必须为⾮零

*write_trailer被调⽤。

*-复⽤:由⽤户设置

*-解复⽤:由libavformat设置

*/

unsignedintnb_chapters;

AVChapter**chapters;

/**

*适⽤于整个⽂件的元数据。

*

*-解复⽤:由libavformat在avformat_open_input()中设置

*-muxing:可以在avformat_write_header()之前由调⽤者设置

*

*由libavformat在avformat_free_context()中释放。

*/

AVDictionary*metadata;

/**

*真实世界时间中流的开始时间,以微秒为单位

*⾃Unix时代(1970年1⽉1⽇00:00)以来。也就是说,pts=0在

*流是在这个现实世界时间捕获的。

*-muxing:由调⽤者在avformat_write_header()之前设置。如果设置为

*0或AV_NOPTS_VALUE,则当前挂墙时间将

*使⽤。

*-分离:由libavformat设置。AV_NOPTS_VALUE如果未知。注意

*该值可能会在⼀定数量的帧后为⼈所知

*已收到。

*/

int64_tstart_time_realtime;

/**

*⽤于确定帧率的帧数

*avformat_find_stream_info()。

*仅解复⽤,由调⽤者在avformat_find_stream_info()之前设置。

*/

intfps_probe_size;

/**

*错误识别;较⾼的春思皇甫冉拼音版 值会检测到更多的错误,但可能

*将⼀些或多或少的有效部分误检测为错误。

*仅解复⽤,由调⽤者在avformat_open_input()之前设置。

*/

interror_recognition;

interror_recognition;

/**

*I/O层的⾃定义中断回调。

*

*demuxing:由⽤户在avformat_open_input()之前设置。

*muxing:由⽤户在avformat_write_header()之前设置

*(主要⽤于AVFMT_NOFILE格式)。回调

*也应该传递给avio_open2()如果它⽤于

*打开⽂件。

*/

AVIOInterruptCBinterrupt_callback;

/**

*启⽤调试的标志。

*/

intdebug;

#defineFF_FDEBUG_TS0x0001

/**

*交错的最⼤缓冲持续时间。

*

*为确保所有流正确交错,

*av_interleaved_write_frame()将等待,直到它⾄少有⼀个数据包

*在实际将任何数据包写⼊输出⽂件之前,针对每个流。

*当⼀些流是“稀疏的”(即之间有很⼤的差距

*连续数据包),这可能会导致过度缓冲。

*

*该字段指定时间戳之间的最⼤差异

*混合队列中的第⼀个和最后⼀个数据包,在其上⽅libavformat

*将输出⼀个数据包,不管它是否已经为所有⼈排队了⼀个数据包

*流。

*

*仅混合,由调⽤者在avformat_write_header()之前设置。

*/

int64_tmax_interleave_delta;

/**

*允许⾮标准和实验性扩展

*@见_std_compliance

*/

intstrict_std_compliance;

/**

*⽤于⽤户检测⽂件上发⽣的事件的标志。标志必须

*事件处理完毕后由⽤户清除。

*AVFMT_EVENT_FLAG_*的组合。

*/

intevent_flags;

#defineAVFMT_EVENT_FLAG_METADATA_UPDATED0x0001///

/**

*等待第⼀个时间戳时要读取的最⼤数据包数。

*仅解码。

*/

intmax_ts_probe;

/**

*在多路复⽤期间避免负时间戳。

*AVFMT_AVOID_NEG_TS_*常量的任何值。

*注意,这仅在使⽤av_interleaved_write_frame时有效。(interleave_packet_per_dts正在使⽤中)

*-复⽤:由⽤户设置

*-解复⽤:未使⽤

*/

intavoid_negative_ts;

#defineAVFMT_AVOID_NEG_TS_AUTO-1///<⽬标格式需要时启⽤

#defineAVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE1///<移动时间戳,使它们⾮负

#defineAVFMT_AVOID_NEG_TS_MAKE_ZERO2///<移动时间戳,使它们从0开始

/**

*传输流ID。

*这将被移到demuxer私有选项中。因此没有API/ABI兼容性

*这将被移到demuxer私有选项中。因此没有API/ABI兼容性

*/

intts_id;

/**

*以微秒为单位的⾳频预加载。

*请注意,并⾮所有格式都⽀持此功能,如果在不⽀持的情况下使⽤它,可能会发⽣不可预测的事情。

*-编码:由⽤户设置

*-解码:未使⽤

*/

intaudio_preload;

/**

*以微秒为单位的最⼤块时间。

*请注意,并⾮所有格式都⽀持此功能,如果在不⽀持的情况下使⽤它,可能会发⽣不可预测的事情。

*-编码:由⽤户设置

*-解码:未使⽤

*/

intmax_chunk_duration;

/**

*最⼤块⼤⼩(以字节为单位)

*请注意,并⾮所有格式都⽀持此功能,如果在不⽀持的情况下使⽤它,可能会发⽣不可预测的事情。

*-编码:由⽤户设置

*-解码:未使⽤

*/

intmax_chunk_size;

/**

*强制使⽤挂钟时间戳作为数据包的pts/dts

*这在存在B帧的情况下具有未定义的结果。

*-编码:未使⽤

*-解码:由⽤户设置

*/

intuse_wallclock_as_timestamps;

/**

*avio标志,⽤于强制AVIO_FLAG_DIRECT。

*-编码:未使⽤

*-解码:由⽤户设置

*/

intavio_flags;

/**

*持续时间字段可以通过多种⽅式估算,可以使⽤该字段

*了解持续时间是如何估计的。

*-编码:未使⽤

*-解码:由⽤户读取

*/

enumAVDurationEstimationMethodduration_estimation_method;

/**

*打开流时跳过初始字节

*-编码:未使⽤

*-解码:由⽤户设置

*/

int64_tskip_initial_bytes;

/**

*纠正单个时间戳溢出

*-编码:未使⽤

*-解码:由⽤户设置

*/

unsignedintcorrect_ts_overflow;

/**

*强制寻找任何(也是⾮关键)帧。

*-编码:未使⽤

*-解码:由⽤户设置

*/

intseek2any;

/**

*在每个数据包之后刷新I/O上下⽂。

*-编码:由⽤户设置

*-解码:未使⽤

*/

intflush_packets;

/**

*格式探测分数。

*最⼤得分为AVPROBE_SCORE_MAX,它在demuxer探测时设置

*格式。

*-编码:未使⽤

*-解码:由avformat设置,由⽤户读取

*/

intprobe_score;

/**

*最⼤读取字节数以识别格式。

*-编码:未使⽤

*-解码:由⽤户设置

*/

intformat_probesize;

/**

*\',\'分隔的允许解码器列表。

*如果为NULL则允许所有

*-编码:未使⽤

*-解码:由⽤户设置

*/

char*codec_whitelist;

/**

*\',\'分隔的允许分路器列表。

*如果为NULL则允许所有

*-编码:未使⽤

*-解码:由⽤户设置

*/

char*format_whitelist;

/**

*libavformat内部使⽤的不透明字段。

*呼叫者不得以任何⽅式访问。

*/

AVFormatInternal*internal;

/**

*IO重新定位标志。

*这是在底层IO上下⽂读取指针时由avformat设置的

*被重新定位,例如在进⾏基于字节的查找时。

*分路器可以使⽤该标志来检测此类更改。

*/

intio_repositioned;

/**

*强制视频编解码器。

*这允许强制特定的解码器,即使有多个

*相同的codec_id。

*解复⽤:由⽤户设置

*/

AVCodec*video_codec;

/**

*强制⾳频编解码器。

*这允许强制特定的解码器,即使有多个

*相同的codec_id。

*解复⽤:由⽤户设置

*/

AVCodec*audio_codec;

/**

*强制字幕编解码器。

*强制字幕编解码器。

*这允许强制特定的解码器,即使有多个

*相同的codec_id。

*解复⽤:由⽤户设置

*/

AVCodec*subtitle_codec;

/**

*强制数据编解码器。

*这允许强制特定的解码器,即使有多个

*相同的codec_id。

*解复⽤:由⽤户设置

*/

AVCodec*data_codec;

/**

*在元数据头中作为填充写⼊的字节数。

*解复⽤:未使⽤。

*Muxing:由⽤户通过av_format_set_metadata_header_padding设置。

*/

intmetadata_header_padding;

/**

*⽤户数据。

*这是⽤户的⼀些私⼈数据的地⽅。

*/

void*opaque;

/**

*设备⽤于与应⽤程序通信的回调。

*/

av_format_control_messagecontrol_message_cb;

/**

*输出时间戳偏移,以微秒为单位。

*Muxing:由⽤户设置

*/

int64_toutput_ts_offset;

/**

*转储格式分隔符。

*可以是\",\"或\"n\"或其他任何东西

*-多路复⽤:由⽤户设置。

*-分离:由⽤户设置。

*/

uint8_t*dump_separator;

/**

*强制数据codec_id。

*解复⽤:由⽤户设置。

*/

enumAVCodecIDdata_codec_id;

#ifFF_API_OLD_OPEN_CALLBACKS

/**

*在需要进⾏多路复⽤时调⽤以打开更多IO上下⽂。

*

*这可以由⽤户应⽤程序设置来执⾏安全检查

*打开它们之前的URL。

*该函数的⾏为应该类似于avio_open2(),提供了AVFormatContext

*作为上下⽂信息并到达。

*

*如果为NULL,则⼀些简单的检查与avio_open2()⼀起使⽤。

*

*不得直接从avformat外部访问。

*@见av_format_set_open_cb()

*

*解复⽤:由⽤户设置。

*

*@deprecated使⽤io_open和io_close。

*/

attribute_deprecated

int(*open_cb)(structAVFormatContext*s,AVIOContext**p,constchar*url,intflags,constAVIOInterruptCB*int_cb,AVDictionary**options);

int(*open_cb)(structAVFormatContext*s,AVIOContext**p,constchar*url,intflags,constAVIOInterruptCB*int_cb,AVDictionary**options);

#endif

/**

*\',\'分隔的允许协议列表。

*-编码:未使⽤

*-解码:由⽤户设置

*/

char*protocol_whitelist;

/**

*⽤于打开新IO流的回调。

*

*每当复⽤器或解复⽤器需要打开IO流(通常来⾃

*avformat_open_input()⽤于分路器,但对于某些格式可能发⽣在

*其他时候也是),它将调⽤此回调来获取IO上下⽂。

*

*@params格式上下⽂

*@parampb成功时,这⾥应该返回新打开的IO上下⽂

*@paramurl要打开的url

*@param标记AVIO_FLAG_*的组合

*@paramoptions附加选项的字典,与

*avio_open2()中的语义

*@return成功时返回0,失败时返回负的AVERROR代码

*

*@note某些muxers和demuxers会嵌套,即它们打开⼀个或多个

*额外的内部格式上下⽂。因此AVFormatContext指针

*传递给此回调的可能与⾯向调⽤者的回调不同。

*但是,它将具有相同的“不透明”字段。

*/

int(*io_open)(structAVFormatContext*s,AVIOContext**pb,constchar*url,

intflags,AVDictionary**options);

/**

*关闭使⽤_open()打开的流的回调。

*/

void(*io_close)(structAVFormatContext*s,AVIOContext*pb);

/**

*\',\'分隔的禁⽌协议列表。

*-编码:未使⽤

*-解码:由⽤户设置

*/

char*protocol_blacklist;

/**

*最⼤流数。

*-编码:未使⽤

*-解码:由⽤户设置

*/

intmax_streams;

/**

*在estimating_timings_from_pts中跳过持续时间计算。*-编码:未使⽤*-解码:由⽤户设置

*/

intskip_estimate_duration_from_pts;

}AVFormatContext;

更多推荐

Avio是什么意思o在线翻译读音例句