当前位置: 首页 > news >正文

新县住房和城乡规划建设网站网站怎么做用户体验

新县住房和城乡规划建设网站,网站怎么做用户体验,淮阴区城乡建设管理局网站,电商怎么做营销推广wAVFilterGraph是对pileline的一个整体描述#xff0c;没看之前以为里面大概是个有向无环图什么的来描述#xff0c;进去一看#xff0c;居然只是用链表来描述 结构体 先看结构体#xff0c;主要关注里面的两个成员变量 AVFilterContext **filters;unsigned nb_filters; …AVFilterGraph是对pileline的一个整体描述没看之前以为里面大概是个有向无环图什么的来描述进去一看居然只是用链表来描述 结构体 先看结构体主要关注里面的两个成员变量 AVFilterContext **filters;unsigned nb_filters; AVFilterLink **sink_links;int sink_links_count;以为avfilter是通过avFilterlink链接起来的所以本质上来说只要有AVFilterLink就能描述清楚所有的链接图了 下面是全部定义 typedef struct AVFilterGraph {const AVClass *av_class;AVFilterContext **filters;unsigned nb_filters;char *scale_sws_opts; /// sws options to use for the auto-inserted scale filters/*** Type of multithreading allowed for filters in this graph. A combination* of AVFILTER_THREAD_* flags.** May be set by the caller at any point, the setting will apply to all* filters initialized after that. The default is allowing everything.** When a filter in this graph is initialized, this field is combined using* bit AND with AVFilterContext.thread_type to get the final mask used for* determining allowed threading types. I.e. a threading type needs to be* set in both to be allowed.*/int thread_type;/*** Maximum number of threads used by filters in this graph. May be set by* the caller before adding any filters to the filtergraph. Zero (the* default) means that the number of threads is determined automatically.*/int nb_threads;/*** Opaque object for libavfilter internal use.*/AVFilterGraphInternal *internal;/*** Opaque user data. May be set by the caller to an arbitrary value, e.g. to* be used from callbacks like ref AVFilterGraph.execute.* Libavfilter will not touch this field in any way.*/void *opaque;/*** This callback may be set by the caller immediately after allocating the* graph and before adding any filters to it, to provide a custom* multithreading implementation.** If set, filters with slice threading capability will call this callback* to execute multiple jobs in parallel.** If this field is left unset, libavfilter will use its internal* implementation, which may or may not be multithreaded depending on the* platform and build options.*/avfilter_execute_func *execute;char *aresample_swr_opts; /// swr options to use for the auto-inserted aresample filters, Access ONLY through AVOptions/*** Private fields** The following fields are for internal use only.* Their type, offset, number and semantic can change without notice.*/AVFilterLink **sink_links;int sink_links_count;unsigned disable_auto_convert; } AVFilterGraph; 函数 /*** Allocate a filter graph.** return the allocated filter graph on success or NULL.*/ AVFilterGraph *avfilter_graph_alloc(void);/*** Create a new filter instance in a filter graph.** param graph graph in which the new filter will be used* param filter the filter to create an instance of* param name Name to give to the new instance (will be copied to* AVFilterContext.name). This may be used by the caller to identify* different filters, libavfilter itself assigns no semantics to* this parameter. May be NULL.** return the context of the newly created filter instance (note that it is* also retrievable directly through AVFilterGraph.filters or with* avfilter_graph_get_filter()) on success or NULL on failure.*/ AVFilterContext *avfilter_graph_alloc_filter(AVFilterGraph *graph,const AVFilter *filter,const char *name);/*** Get a filter instance identified by instance name from graph.** param graph filter graph to search through.* param name filter instance name (should be unique in the graph).* return the pointer to the found filter instance or NULL if it* cannot be found.*/ AVFilterContext *avfilter_graph_get_filter(AVFilterGraph *graph, const char *name);/*** Create and add a filter instance into an existing graph.* The filter instance is created from the filter filt and inited* with the parameter args. opaque is currently ignored.** In case of success put in *filt_ctx the pointer to the created* filter instance, otherwise set *filt_ctx to NULL.** param name the instance name to give to the created filter instance* param graph_ctx the filter graph* return a negative AVERROR error code in case of failure, a non* negative value otherwise*/ int avfilter_graph_create_filter(AVFilterContext **filt_ctx, const AVFilter *filt,const char *name, const char *args, void *opaque,AVFilterGraph *graph_ctx);/*** Enable or disable automatic format conversion inside the graph.** Note that format conversion can still happen inside explicitly inserted* scale and aresample filters.** param flags any of the AVFILTER_AUTO_CONVERT_* constants*/ void avfilter_graph_set_auto_convert(AVFilterGraph *graph, unsigned flags);enum {AVFILTER_AUTO_CONVERT_ALL 0, /** all automatic conversions enabled */AVFILTER_AUTO_CONVERT_NONE -1, /** all automatic conversions disabled */ };/*** Check validity and configure all the links and formats in the graph.** param graphctx the filter graph* param log_ctx context used for logging* return 0 in case of success, a negative AVERROR code otherwise*/ int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx);/*** Free a graph, destroy its links, and set *graph to NULL.* If *graph is NULL, do nothing.*/ void avfilter_graph_free(AVFilterGraph **graph);dump一个图 /*** Dump a graph into a human-readable string representation.** param graph the graph to dump* param options formatting options; currently ignored* return a string, or NULL in case of memory allocation failure;* the string must be freed using av_free*/ char *avfilter_graph_dump(AVFilterGraph *graph, const char *options);解析一个图 图的解析分为三层突然就忘了艹总之就是先解析外边最大的block再解析图内部的filter /*** Add a graph described by a string to a graph.** note The caller must provide the lists of inputs and outputs,* which therefore must be known before calling the function.** note The inputs parameter describes inputs of the already existing* part of the graph; i.e. from the point of view of the newly created* part, they are outputs. Similarly the outputs parameter describes* outputs of the already existing filters, which are provided as* inputs to the parsed filters.** param graph the filter graph where to link the parsed graph context* param filters string to be parsed* param inputs linked list to the inputs of the graph* param outputs linked list to the outputs of the graph* return zero on success, a negative AVERROR code on error*/ int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,AVFilterInOut *inputs, AVFilterInOut *outputs,void *log_ctx);/*** Add a graph described by a string to a graph.** In the graph filters description, if the input label of the first* filter is not specified, in is assumed; if the output label of* the last filter is not specified, out is assumed.** param graph the filter graph where to link the parsed graph context* param filters string to be parsed* param inputs pointer to a linked list to the inputs of the graph, may be NULL.* If non-NULL, *inputs is updated to contain the list of open inputs* after the parsing, should be freed with avfilter_inout_free().* param outputs pointer to a linked list to the outputs of the graph, may be NULL.* If non-NULL, *outputs is updated to contain the list of open outputs* after the parsing, should be freed with avfilter_inout_free().* return non negative on success, a negative AVERROR code on error*/ int avfilter_graph_parse_ptr(AVFilterGraph *graph, const char *filters,AVFilterInOut **inputs, AVFilterInOut **outputs,void *log_ctx);/*** Add a graph described by a string to a graph.** param[in] graph the filter graph where to link the parsed graph context* param[in] filters string to be parsed* param[out] inputs a linked list of all free (unlinked) inputs of the* parsed graph will be returned here. It is to be freed* by the caller using avfilter_inout_free().* param[out] outputs a linked list of all free (unlinked) outputs of the* parsed graph will be returned here. It is to be freed by the* caller using avfilter_inout_free().* return zero on success, a negative AVERROR code on error** note This function returns the inputs and outputs that are left* unlinked after parsing the graph and the caller then deals with* them.* note This function makes no reference whatsoever to already* existing parts of the graph and the inputs parameter will on return* contain inputs of the newly parsed part of the graph. Analogously* the outputs parameter will contain outputs of the newly created* filters.*/ int avfilter_graph_parse2(AVFilterGraph *graph, const char *filters,AVFilterInOut **inputs,AVFilterInOut **outputs);
http://www.zqtcl.cn/news/706688/

相关文章:

  • 南宁世尊商贸网站建设如何查看一个网站是否备案
  • h5手机网站怎么做搜索引擎关键词怎么选
  • 弱电网站源码工程造价建设信息网站
  • 村级网站模板做公司永久免费网站什么好
  • 厦门做网站培训安康市电梯公司
  • 江苏水利建设网站排行榜百度
  • 营销导向的企业网站优化wordpress制作企业
  • 株洲网站建设公司wordpress资讯类主题破解版
  • 网站导航栏设计要求wordpress直达按钮
  • 网站建设寻找可以途径网站制作的目的
  • 私募基金网站建设wordpress快讯插件
  • 无锡网站搜索引擎优化校园二级网站建设
  • 用vps刷网站流量要怎么做云主机开网站教程
  • 个体户经营异常如何网上解除深圳seo云哥
  • 网站建设科研申报书沧州网站建设定制价格
  • 家纺营销型网站wordpress演示数据
  • 中卫建设厅网站中国纪检监察报
  • 网站建设费如何核算如何给网站做权重
  • 东莞营销型高端网站建设网页专题设计
  • 神兵网站建设互联网个人用户网站
  • 类似视频教程网站的wordpress主题网页设计用什么尺寸的画布好
  • 仿模板电影网站线上销售的方法和技巧
  • 漳州建设银行网站首页速成建站
  • 网站建立的链接不安全怎么解决学校网站怎样建设
  • 信阳市工程建设信息网站wordpress段子
  • 网站建设和网络搭建是一回事吗长沙网站搭建优化
  • 基础网站怎么做石景山公司
  • 吉他谱网站如何建设wordpress主题字体用隶书
  • 做一个宣传网站的策划书自己怎样推广呢
  • 网站建设布局利于优化火狐搜索引擎