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

网站推广计划方案免费咨询造成损害

网站推广计划方案,免费咨询造成损害,网站地图开发,镇江网站建设机构XVID#xff0c;X264等是MPEG4、H264标准的开源编码器#xff0c;其中X264只有编码部分#xff0c;解码部分需要FFMPEG完成#xff1b;XVID有编解码部分#xff0c;其中解码亦可以利用FFMPEG中的MPEG4完成解码。视频压缩算法的计算复杂度#xff0c;都是比较高的。其中具…XVIDX264等是MPEG4、H264标准的开源编码器其中X264只有编码部分解码部分需要FFMPEG完成XVID有编解码部分其中解码亦可以利用FFMPEG中的MPEG4完成解码。视频压缩算法的计算复杂度都是比较高的。其中具有最大计算复杂度有三部分宏块搜素运动补偿部分、码率控制部分、滤波算法部分这三部分占据了算法复杂度的绝大部分资源。XVID参数解释参数的设置集中在FFMPEG中的libxvidff.C中的 ff_xvid_encode_init函数里面主要是对编码上下文进行初始化赋值操作此函数中的宏定义在XVID.H之中ff_xvid_encode_init(AVCodecContext *avctx)  {int xerr, i;int xvid_flags avctx-flags;xvid_context_t *x avctx-priv_data;uint16_t *intra, *inter;int fd;xvid_plugin_single_t single;xvid_ff_pass1_t rc2pass1;xvid_plugin_2pass2_t rc2pass2;xvid_gbl_init_t xvid_gbl_init;xvid_enc_create_t xvid_enc_create;xvid_enc_plugin_t plugins[7];/* Bring in VOP flags from ffmpeg command-line */x-vop_flags XVID_VOP_HALFPEL; /* Bare minimum quality */ 半像素运动插值if( xvid_flags CODEC_FLAG_4MV )x-vop_flags | XVID_VOP_INTER4V; /* Level 3 */每个宏块分配四个运动矢量if( xvid_flags CODEC_FLAG_TRELLIS_QUANT)x-vop_flags | XVID_VOP_TRELLISQUANT; /* Level 5 */if( xvid_flags CODEC_FLAG_AC_PRED )x-vop_flags | XVID_VOP_HQACPRED; /* Level 6 * /高质量的AC预测if( xvid_flags CODEC_FLAG_GRAY )x-vop_flags | XVID_VOP_GREYSCALE;/* Decide which ME quality setting to use */x-me_flags 0;switch( avctx-me_method ) { //宏块搜索区域搜索算法case ME_FULL:   /* Quality 6 */x-me_flags |  XVID_ME_EXTSEARCH16/* extend PMV by more searches */|   XVID_ME_EXTSEARCH8;/* use diamond/square for extended 8x8 search */case ME_EPZS:   /* Quality 4 */x-me_flags |  XVID_ME_ADVANCEDDIAMOND8/* use advdiamond for XVID_ME_EXTSEARCH8 */|   XVID_ME_HALFPELREFINE8|   XVID_ME_CHROMA_PVOP/* also use chroma for P_VOP/S_VOP ME */|   XVID_ME_CHROMA_BVOP;/* also use chroma for B_VOP ME */case ME_LOG:    /* Quality 2 */case ME_PHODS:case ME_X1:x-me_flags |  XVID_ME_ADVANCEDDIAMOND16/* use advdiamonds instead of diamonds as search pattern */|   XVID_ME_HALFPELREFINE16;case ME_ZERO:   /* Quality 0 */default:break;}/* Decide how we should decide blocks */switch( avctx-mb_decision ) { //是否选择码率控制方式 avctx-mb_decision1时编码一帧时间迅速增加case 2:x-vop_flags | XVID_VOP_MODEDECISION_RD;x-me_flags |  XVID_ME_HALFPELREFINE8_RD|   XVID_ME_QUARTERPELREFINE8_RD|   XVID_ME_EXTSEARCH_RD|   XVID_ME_CHECKPREDICTION_RD;case 1:if( !(x-vop_flags XVID_VOP_MODEDECISION_RD) )x-vop_flags | XVID_VOP_FAST_MODEDECISION_RD;x-me_flags |  XVID_ME_HALFPELREFINE16_RD|   XVID_ME_QUARTERPELREFINE16_RD;default:break;}/* Bring in VOL flags from ffmpeg command-line */x-vol_flags 0;if( xvid_flags CODEC_FLAG_GMC ) {x-vol_flags | XVID_VOL_GMC;x-me_flags | XVID_ME_GME_REFINE;}if( xvid_flags CODEC_FLAG_QPEL ) { //是否允许1/4像素x-vol_flags | XVID_VOL_QUARTERPEL;x-me_flags | XVID_ME_QUARTERPELREFINE16;if( x-vop_flags XVID_VOP_INTER4V )x-me_flags | XVID_ME_QUARTERPELREFINE8;}memset(xvid_gbl_init, 0, sizeof(xvid_gbl_init));xvid_gbl_init.version XVID_VERSION;xvid_gbl_init.debug 0;#ifdef ARCH_POWERPC/* XviDs PPC support is borked, use libavcodec to detect */#if HAVE_ALTIVEC1if( has_altivec() ) {xvid_gbl_init.cpu_flags XVID_CPU_FORCE | XVID_CPU_ALTIVEC;} else#endifxvid_gbl_init.cpu_flags XVID_CPU_FORCE;#else/* XviD can detect on x86 */xvid_gbl_init.cpu_flags 0;#endif/* Initialize */xvid_global(NULL, XVID_GBL_INIT, xvid_gbl_init, NULL);/* Create the encoder reference */memset(xvid_enc_create, 0, sizeof(xvid_enc_create));xvid_enc_create.version XVID_VERSION;/* Store the desired frame size */xvid_enc_create.width x-xsize avctx-width; //图像宽度xvid_enc_create.height x-ysize avctx-height; //图像高度/* XviD can determine the proper profile to use */xvid_enc_create.profile XVID_PROFILE_S_L3; //  编码设定档次和级别 //压缩级别MPEG4-ASP最高压缩级别/* We dont use zones or threads */xvid_enc_create.zones NULL;xvid_enc_create.num_zones 0;xvid_enc_create.num_threads 0;xvid_enc_create.plugins plugins;xvid_enc_create.num_plugins 0;/* Initialize Buffers */x-twopassbuffer NULL;x-old_twopassbuffer NULL;x-twopassfile NULL;if( xvid_flags CODEC_FLAG_PASS1 ) {}x-twopassbuffer[0] x-old_twopassbuffer[0] 0;plugins[xvid_enc_create.num_plugins].func xvid_ff_2pass;plugins[xvid_enc_create.num_plugins].param rc2pass1;xvid_enc_create.num_plugins;} else if( xvid_flags CODEC_FLAG_PASS2 ) {//第二次编码需要第一次编码生成的文件才可以完成第二次编码不适用实时编码memset(rc2pass2, 0, sizeof(xvid_plugin_2pass2_t));rc2pass2.version XVID_VERSION;rc2pass2.bitrate avctx-bit_rate;close(fd);rc2pass2.filename x-twopassfile;plugins[xvid_enc_create.num_plugins].func xvid_plugin_2pass2;plugins[xvid_enc_create.num_plugins].param rc2pass2;xvid_enc_create.num_plugins;} else if( !(xvid_flags CODEC_FLAG_QSCALE) ) {/* Single Pass Bitrate Control! */memset(single, 0, sizeof(xvid_plugin_single_t));single.version XVID_VERSION;single.bitrate avctx-bit_rate;plugins[xvid_enc_create.num_plugins].func xvid_plugin_single;plugins[xvid_enc_create.num_plugins].param single;xvid_enc_create.num_plugins;}/* Luminance Masking */if( 0.0 ! avctx-lumi_masking ) {plugins[xvid_enc_create.num_plugins].func xvid_plugin_lumimasking;plugins[xvid_enc_create.num_plugins].param NULL;xvid_enc_create.num_plugins;}/* Frame Rate and Key Frames */xvid_correct_framerate(avctx);xvid_enc_create.fincr avctx-time_base.num;xvid_enc_create.fbase avctx-time_base.den;if( avctx-gop_size 0 )xvid_enc_create.max_key_interval avctx-gop_size; //图像组的长度设定elsexvid_enc_create.max_key_interval 240; /* XviDs best default *//* Quants */if( xvid_flags CODEC_FLAG_QSCALE ) x-qscale 1; ///encodes[i]-codec.vcc-flags|CODEC_FLAG_QSCALE; 选择常量化/ //质量控制量化参数1~31数值越小质量越高else x-qscale 0; xvid_enc_create.min_quant[0] avctx-qmin;xvid_enc_create.min_quant[1] avctx-qmin;xvid_enc_create.min_quant[2] avctx-qmin;xvid_enc_create.max_quant[0] avctx-qmax;xvid_enc_create.max_quant[1] avctx-qmax;xvid_enc_create.max_quant[2] avctx-qmax;/* Quant Matrices */x-intra_matrix x-inter_matrix NULL;if( avctx-mpeg_quant ) //允许MPEG量化 量化矩阵x-vol_flags | XVID_VOL_MPEGQUANT;if( (avctx-intra_matrix || avctx-inter_matrix) ) { //可以自己设定量化矩阵avctx-intra_matrixavctx-inter_matrixx-vol_flags | XVID_VOL_MPEGQUANT;if( avctx-intra_matrix ) {intra avctx-intra_matrix;x-intra_matrix av_malloc(sizeof(unsigned char) * 64);} elseintra NULL;if( avctx-inter_matrix ) {inter avctx-inter_matrix;x-inter_matrix av_malloc(sizeof(unsigned char) * 64);} elseinter NULL;for( i 0; i 64; i ) {if( intra )x-intra_matrix[i] (unsigned char)intra[i];if( inter )x-inter_matrix[i] (unsigned char)inter[i];}}/* Misc Settings */xvid_enc_create.frame_drop_ratio 0; //丢帧率0~100xvid_enc_create.global 0;if( xvid_flags CODEC_FLAG_CLOSED_GOP )xvid_enc_create.global | XVID_GLOBAL_CLOSED_GOP;/* Determines which codec mode we are operating in */avctx-extradata NULL;avctx-extradata_size 0;if( xvid_flags CODEC_FLAG_GLOBAL_HEADER ) {/* In this case, we are claiming to be MPEG4 */x-quicktime_format 1;avctx-codec_id CODEC_ID_MPEG4;} else {/* We are claiming to be XviD */x-quicktime_format 0;if(!avctx-codec_tag)avctx-codec_tag ff_get_fourcc(xvid);}/* Bframes */xvid_enc_create.max_bframes avctx-max_b_frames;xvid_enc_create.bquant_offset 100 * avctx-b_quant_offset;xvid_enc_create.bquant_ratio 100 * avctx-b_quant_factor;if( avctx-max_b_frames 0  !x-quicktime_format ) xvid_enc_create.global | XVID_GLOBAL_PACKED;/* Create encoder context */xerr xvid_encore(NULL, XVID_ENC_CREATE, xvid_enc_create, NULL); //建立编码上下文if( xerr ) {av_log(avctx, AV_LOG_ERROR, XviD: Could not create encoder reference\n);return -1;}x-encoder_handle xvid_enc_create.handle;avctx-coded_frame x-encoded_picture;return 0;}int ff_xvid_encode_frame(AVCodecContext *avctx,unsigned char *frame, int buf_size, void *data) { 开始编码一帧 xerr xvid_encore(x-encoder_handle, XVID_ENC_ENCODE,         xvid_enc_frame, xvid_enc_stats); //开始编码一帧 XVID的量化可以有三种方式常量化用户自己设定量化矩阵调用默认的量化矩阵
http://www.yutouwan.com/news/408488/

相关文章:

  • 电子商务网站平台建设方案建设网站账号密码不区分大小写
  • 公司手机网站开发直播app开发价格
  • 自己在本地建的网站 别人怎么访问教程网站建设行情
  • 百度四川建设厅网站hishop多用户商城源码
  • 常州微信网站建设方案wordpress主题不见了
  • 做网站用的书衡水网站建设最新报价
  • 站长工具在线免费观看分销系统网站
  • 查询网站内页关键词排名网站前端 设计
  • 90设计网站是不是没有视频模板网站建设要达到什么水平
  • 做博客网站怎么赚钱关于房产的网站有哪些
  • 外国做的福利小视频在线观看网站一个网站的建设流程有哪些资料
  • 网站标题第一个词潍坊网站制作公司
  • .net 网站开发流程建大网络
  • 哪些网站可以做平面设计挣钱网站开发开题报告范文
  • 如何刷网站流量九牛科技网站开发微信营销
  • 汽车 营销 网站建设朔州网站建设公司
  • 世界上做的最后的网站win7如何做网站
  • 网站流量在哪设置开发公司项目管理制度
  • 建站费用参考昭阳区建设局网站
  • xml网站模板360浏览器主页
  • 长沙营销型网站建设费用网站建设中药尽量使用图片
  • 广东网站建设公司哪家好公司网站开发用什么软件
  • 织梦做有网站有后台 能下载备份所有代码文件么网络促销策略有哪五种
  • 网站批量修改做平台网站一般有php还是js
  • php网站建设实训引言北京网站定制价格表
  • 单页的网站怎么做的重要的网站建设
  • 天蓝色美容网站wordpress 注册不了
  • 网站工商备案查询wordpress获取tag名称
  • 珠海斗门网站建设北京网站设计公司哪个好
  • ppt模板网站排行榜wordpress首页显示文章数量