x264_param_t参数注解

typedef struct x264_param_t

{

    CPU 标志位

   unsigned int cpu;

   int        i_threads;       并行编码多帧

   int        b_deterministic; 是否允许非确定性时线程优化

   int        i_sync_lookahead;  线程超前缓冲

    视频属性

   int        i_width;  宽度

   int        i_height;  高度

   int        i_csp;  编码比特流的CSP,仅支持i420,色彩空间设置

   int        i_level_idc;  level值的设置

   int        i_frame_total;  编码帧的总数, 默认 0

Vui参数集视频可用性信息视频标准化选项

   struct

   {

        they will be reduced to be 0 < x <=65535 and prime

       int        i_sar_height;

       int        i_sar_width;  设置长宽比

       int        i_overscan;    0=undef, 1=no overscan, 2=overscan过扫描线,默认"undef"(不设置),可选项:show(观看)/crop(去除)

       见以下的值h264附件E

       Int      i_vidformat; 视频格式,默认"undef",component/pal/ntsc/secam/mac/undef

       int      b_fullrange; Specify full range samplessetting,默认"off",可选项:off/on

       int      i_colorprim;原始色度格式,默认"undef",可选项:undef/bt709/bt470m/bt470bg,smpte170m/smpte240m/film

       int   i_transfer;转换方式,默认"undef",可选项:undef/bt709/bt470m/bt470bg/linear,log100/log316/smpte170m/smpte240m

       int  i_colmatrix;色度矩阵设置,默认"undef",undef/bt709/fcc/bt470bg,smpte170m/smpte240m/GBR/YCgCo

       int        i_chroma_loc;    both top & bottom色度样本指定,范围0~5,默认0

   } vui;

   int        i_fps_num;

   int        i_fps_den;

这两个参数是由fps帧率确定的,赋值的过程见下:

      floatfps;      

 if( sscanf( value, "%d/%d",&p->i_fps_num,&p->i_fps_den ) == 2 )

           ;

       else if( sscanf( value, "%f", &fps ) )

       {

           p->i_fps_num = (int)(fps * 1000 + .5);

           p->i_fps_den = 1000;

       }

       else

           b_error = 1;

   }

Value的值就是fps。

   流参数

   int        i_frame_reference;  参考帧最大数目

   int        i_keyint_max;       在此间隔设置IDR关键帧

   int        i_keyint_min;       场景切换少于次值编码位I, 而不是 IDR.

   int        i_scenecut_threshold; 如何积极地插入额外的I帧// // 画面动态变化限,当超出此值时插入I帧,默认40

   int        i_bframe;  两个相关图像间P帧的数目

   int        i_bframe_adaptive; 自适应B帧判定

   int        i_bframe_bias; 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认0

   int        b_bframe_pyramid;  允许部分B为参考帧

去块滤波器需要的参数

   int        b_deblocking_filter;去块效应相关

   int        i_deblocking_filter_alphac0;    [-6, 6] -6 light filter, 6 strong

   int        i_deblocking_filter_beta;       [-6, 6]  idem

   熵编码

   int        b_cabac;

   int        i_cabac_init_idc;

   int        b_interlaced;  隔行扫描

   量化

   int        i_cqm_preset;        自定义量化矩阵(CQM),初始化量化模式为flat

   char       *psz_cqm_file;      JM format读取JM格式的外部量化矩阵文件,自动忽略其他—cqm 选项

   uint8_t    cqm_4iy[16];        used only if i_cqm_preset == X264_CQM_CUSTOM

   uint8_t    cqm_4ic[16];

   uint8_t    cqm_4py[16];

   uint8_t    cqm_4pc[16];

   uint8_t    cqm_8iy[64];

   uint8_t    cqm_8py[64];

    日志

   void       (*pf_log)( void *, int i_level, const char *psz, va_list );

   void       *p_log_private;

   int        i_log_level;

   int        b_visualize;

   char       *psz_dump_yuv;  重建帧的名字

    编码分析参数

   struct

   {

       unsigned intintra;     帧间分区

       unsigned intinter;     帧内分区

       int         b_transform_8x8;  帧间分区

       int         b_weighted_bipred; 为b帧隐式加权

       int         i_direct_mv_pred; 时间空间队运动预测

       int         i_chroma_qp_offset; 色度量化步长偏移量

       int         i_me_method;  运动估计算法 (X264_ME_*)

       int         i_me_range;  整像素运动估计搜索范围 (from predictedmv)

       int         i_mv_range;  运动矢量最大长度(in pixels). -1 =auto, based on level

       int         i_mv_range_thread;  线程之间的最小空间. -1 = auto,based on number of threads.

       int         i_subpel_refine;  亚像素运动估计质量

       int         b_chroma_me;  亚像素色度运动估计和P帧的模式选择

       int         b_mixed_references; 允许每个宏块的分区在P帧有它自己的参考号

       int         i_trellis;  Trellis量化,对每个8x8的块寻找合适的量化值,需要CABAC,默认0 0:关闭1:只在最后编码时使用2:一直使用

       int         b_fast_pskip; 快速P帧跳过检测

       int         b_dct_decimate; 在P-frames转换参数域

       int         i_noise_reduction; 自适应伪盲区

       float       f_psy_rd;  Psy RD strength

       float       f_psy_trellis;  Psy trellis strength

       int         b_psy;  Toggle all psy optimizations

       亮度量化中使用的无效区大小

       int         i_luma_deadzone[2];  {帧间, 帧内}

       int         b_psnr;    计算和打印PSNR信息

       int         b_ssim;   计算和打印SSIM信息

   } analyse;

    码率控制参数

   struct

   {

       int        i_rc_method;    X264_RC_*

       int        i_qp_constant;  0-51

       int        i_qp_min;      允许的最小量化值

       int        i_qp_max;      允许的最大量化值

       int        i_qp_step;     帧间最大量化步长

       int        i_bitrate;  设置平均码率

       float      f_rf_constant;  1pass VBR, nominal QP

       float      f_rate_tolerance;

       int        i_vbv_max_bitrate; 平均码率模式下,最大瞬时码率,默认0(与-B设置相同)

       int        i_vbv_buffer_size; 码率控制缓冲区的大小,单位kbit,默认0

       float      f_vbv_buffer_init;  <=1:fraction of buffer_size. >1:kbit码率控制缓冲区数据保留的最大数据量与缓冲区大小之比,范围0~1.0,默认0.9

       float      f_ip_factor;

       float      f_pb_factor;

       int        i_aq_mode;      psy adaptive QP. (X264_AQ_*)

       float      f_aq_strength;

       int        b_mb_tree;      Macroblock-tree ratecontrol.

       int        i_lookahead;

        2pass 多次压缩码率控制

       int        b_stat_write;  Enable stat writing in psz_stat_out

       char       *psz_stat_out;

       int        b_stat_read;    Read stat from psz_stat_in and use it

       char       *psz_stat_in;

        2pass params (same as ffmpeg ones)

       float      f_qcompress;    0.0 => cbr, 1.0 => constant qp

       float      f_qblur;       时间上模糊量化

       float      f_complexity_blur;  时间上模糊复杂性

       x264_zone_t*zones;         码率控制覆盖

       int        i_zones;        number of zone_t's

       char       *psz_zones;    指定区的另一种方法

   } rc;

    Muxing parameters

   intb_aud;                 生成访问单元分隔符

   intb_repeat_headers;       在每个关键帧前放置SPS/PPS

   inti_sps_id;               SPS 和 PPS id 号

   切片(像条)参数

   inti_slice_max_size;    每片字节的最大数,包括预计的NAL开销.

   inti_slice_max_mbs;     每片宏块的最大数,重写 i_slice_count

   inti_slice_count;       每帧的像条数目: 设置矩形像条.

    Optional callback for freeing this x264_param_t when it is donebeing used.

     Only used when the x264_param_t sits in memory for an indefiniteperiod of time,

     i.e. when an x264_param_t is passed to x264_t in an x264_picture_tor in zones.

     Not used when x264_encoder_reconfig is called directly.

   void (*param_free)( void* );

} x264_param_t;

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254768.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gen_circle_contour_xld创建圆或圆弧的XLD轮廓

目录gen_circle_contour_xld&#xff08;算子&#xff09;描述参数gen_circle_contour_xld&#xff08;算子&#xff09; gen_circle_contour_xld - 创建圆或圆弧的XLD轮廓。 gen_circle_contour_xld&#xff08;&#xff1a;ContCircle&#xff1a;Row&#xff0c;Column&am…

一、Java语言基础(4)_方法和数组——数组

2018-04-25 不悔梦归处&#xff0c;只恨未尽心 数组 一、一维数组 数组的含义&#xff1a;具有相同类型的多个变量按有序形式组织起来的数据形式。&#xff08;数组是用来存储固定大小的同类型元素。&#xff09;数组的定义&#xff1a;方式1&#xff08;推荐使用&#xff09;&…

http header 具体解释

HTTP&#xff08;HyperTextTransferProtocol&#xff09;即超文本传输协议&#xff0c;眼下网页传输的的通用协议。HTTP协议採用了请求/响应模型&#xff0c;浏览器或其它client发出请求&#xff0c;server给与响应。就整个网络资源传输而言&#xff0c;包含message-header和me…

研究生开题报告需要注意的几点

&#xfeff;&#xfeff;1 毕业论文选题的原则 毕业论文选题一般要求满足以下原则&#xff1a; ①开拓性:前人没有专门研究过或虽已研究但尚无理想的结果&#xff0c;有待进一步的探讨和研究&#xff0c;或是学术界有分歧&#xff0c;有必要深入研究探讨的问题&#xff1b;…

create_metrology_model创建测量几何形状所需的数据结构(原理)

目录create_metrology_model&#xff08;算子&#xff09;描述二维计量的基本原理创建计量模型数据结构提供近似值修改模型参数修改对象参数对齐计量模型应用测量访问结果清理记忆注意参数create_metrology_model&#xff08;算子&#xff09; create_metrology_model - 创建测…

X264码率控制流程分析

码率控制的理论知识&#xff1a;码率控制的目的和意义&#xff1a;图像通信中码率控制的目的&#xff1a;通过调节编码参数&#xff0c;控制单位时间内的编码视频流的数据量&#xff0c;以使产生的比特流符合各种应用的需求。视频压缩的效率和视频内容有很大的关系&#xff0c;…

STL-list

#include "stdafx.h"#include<iostream>#include<string>#include<vector>//vector向量容器#include<deque>#include<list>#include<algorithm>using namespace std;/* list介绍 list容器实现了双向链表的数据结构&#xff0c;数…

Java微信二次开发(九)

多媒体文件上传与下载 第一步&#xff1a;找到包com.wtz.vo&#xff0c;新建类WeixinMedia.java 1 package com.wtz.vo;2 3 /**4 * author wangtianze QQ:8646200125 * date 2017年4月25日 上午11:10:316 * <p>version:1.0</p>7 * <p>descri…

add_metrology_object_generic将测量对象添加到计量模型中

目录add_metrology_object_generic&#xff08;算子&#xff09;描述可能的形状测量区域的定义通用参数参数add_metrology_object_generic&#xff08;算子&#xff09; add_metrology_object_generic - 将计量对象添加到计量模型中。 add_metrology_object_generic&#xff…

关于发那科机器人的FSSB

&#xfeff;&#xfeff;FSSB是指fanuc Serial Servo Bus&#xff0c;即发那科串行伺服总线&#xff08;光缆&#xff09;&#xff0c;连接CNC与伺服放大器。HSSB是指High-Speed Serial Bus&#xff0c;即高速串行总线&#xff08;光缆&#xff09;&#xff0c;连接CNC与外部P…

H264规定了三种主要档次

H264规定了三种主要档次&#xff0c;每个档次支持一组特定的编码功能&#xff0c;并支持一类特定的应用。 1、基本档次&#xff08;Baseline Profile&#xff09;&#xff1a;利用I片和P片支持帧内和帧间编码&#xff0c;支持利用基于上下文的自适应的变长编码进行的熵编码&…

get_metrology_object_result 获取计量模型的测量结果

目录get_metrology_object_result&#xff08;算子&#xff09;描述result_type&#xff1a;获取所有参数&#xff1a;获取特定参数&#xff1a;获得分数&#xff1a;used_edges&#xff1a;行&#xff1a;列&#xff1a;振幅&#xff1a;angle_direction&#xff1a;参数get_m…

iOS开发UI篇—字典转模型

一、能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 1 //2 // LFViewController.m3 // 03-应用管理4 //5 // Created by apple on 14-5-22.6 // Copyright (c) 2014年 heima. All rights reserved.7 //8 9 #import "LFViewController.h" 10 11 i…

Codechef:Path Triples On Tree

Path Triples On Tree 题意是求树上都不相交或者都相交的路径三元组数量。 发现blog里没什么树形dp题&#xff0c;也没有cc题&#xff0c;所以来丢一道cc上的树形dp题。 比较暴力&#xff0c;比较恶心 #include<cstdio> #include<algorithm> #define MN 300001 #de…

grbl

第一次发帖...之前上论坛都是查资料的&#xff0c;发现gcode这一块资料比较少先说一下Gcode:Gcode在工业控制上用的很多&#xff0c;是一种通用的控制指令&#xff0c;数控机床上经常用&#xff0c;在我diy雕刻机&#xff08;打印机之类的&#xff09;的时候要用到&#xff0c;…

mybitis实现增,删,改,查,模糊查询的两种方式:(2)

方式二&#xff1a;mapper代理接口方式 这种方式只需要xml接口&#xff08;不用写实体类&#xff09;但是需要符合三个规范 使用mapper代理接口方式在同一目录下&#xff08;可以创建一个源文件夹&#xff0c;达到类文件和xml文件分类的作用&#xff09;xml中namespace&#xf…

C语言中的静态函数的作用

转载 在C语言中为什么要用静态函数(static function)&#xff1f;如果不用这个static关键字&#xff0c;好象没有关系。那么&#xff0c;用了static以后&#xff0c;有什么作用呢&#xff1f;我们知道&#xff0c;用了static的变量&#xff0c;叫做静态变量&#xff0c;其意义是…

[转] sql server 跨数据库调用存储过程

A库存储过程&#xff1a; create PROCEDURE [dbo].[spAAAForTest] ( UserName nvarchar(20) null ,LoginPwd nvarchar(60) null ) AS BEGINselect NA AS a, NB AS B, NC AS C;END 同一台服务器实例&#xff0c;A&#xff0c;B两个数据库&#xff0c;…

get_metrology_object_result_contour查询计量对象的结果轮廓

目录get_metrology_object_result_contour&#xff08;算子&#xff09;描述参数get_metrology_object_result_contour&#xff08;算子&#xff09; get_metrology_object_result_contour - 查询计量对象的结果轮廓。 get_metrology_object_result_contour&#xff08;&…