Parsex264_param_default x264_param_parse x264_param_apply_fastfirstpass x264_param_apply_profile select_output select_input x264_reduce_fraction.

Slides:



Advertisements
Similar presentations
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Advertisements

: A-Sequence 星級 : ★★☆☆☆ 題組: Online-judge.uva.es PROBLEM SET Volume CIX 題號: Problem D : A-Sequence 解題者:薛祖淵 解題日期: 2006 年 2 月 21 日 題意:一開始先輸入一個.
1 Q10276: Hanoi Tower Troubles Again! 星級 : ★★★ 題組: Online-judge.uva.es PROBLEM SET Volume CII 題號: Q10276: Hanoi Tower Troubles Again! 解題者:薛祖淵 解題日期: 2006.
Section 1.2 Describing Distributions with Numbers 用數字描述分配.
3Com Switch 4500 切VLAN教學.
Reference, primitive, call by XXX 必也正名乎 誌謝 : 部份文字取於前輩 TAHO 的文章.
期末專題 - 吊人頭遊戲 第 35 組 組員 : 電機系 49841XXXX XXX 電機系 49841OOOO OOO.
指導教授:陳淑媛 學生:李宗叡 李卿輔.  利用下列三種方法 (Edge Detection 、 Local Binary Pattern 、 Structured Local Edge Pattern) 來判斷是否為場景變換,以方便使用者來 找出所要的片段。
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 參 實驗法.
Lecture 1 The role of Algorithms in Computing. Introduction2 1.1 Algorithms Algorithm: 對一個 computational problem 而言,將 輸入轉換為輸出的一連串計算過程,稱為 Algorithm 。 例如,給你一堆數字<
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
STAT0_sampling Random Sampling  母體: Finite population & Infinity population  由一大小為 N 的有限母體中抽出一樣本數為 n 的樣 本,若每一樣本被抽出的機率是一樣的,這樣本稱 為隨機樣本 (random sample)
: Matrix Decompressing ★★★★☆ 題組: Contest Volumes with Online Judge 題號: 11082: Matrix Decompressing 解題者:蔡權昱、劉洙愷 解題日期: 2008 年 4 月 18 日 題意:假設有一矩陣 R*C,
1 政大公企中心產業人才投資課程 -- 企業決策分析方法 -- 黃智聰 政大公企中心產業人才投資課程 課程名稱:企業決策分析方法 授課老師:黃智聰 授課內容:利用分公司之追蹤資料進行企業決策分析 參考書目: Hill, C. R., W. E. Griffiths, and G. G. Judge,
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
1 政治大學東亞所選修 -- 計量分析與中國大陸研究黃智聰 政治大學東亞所選修 課程名稱:計量分析與中國大陸研究 (量化分析) 授課老師:黃智聰 授課內容:時間序列與橫斷面資料的共用 參考書目: Hill, C. R., W. E. Griffiths, and G. G. Judge, (2001),
10215: The Largest/Smallest Box... ★ 題組: Problem Set Archive with Online Judge 題號: 10215: The Largest/Smallest Box... 解題者:張維珊 解題日期: 2006 年 4 月 17 日 題意:
2009fallStat_samplec.i.1 Chap10 Sampling distribution (review) 樣本必須是隨機樣本 (random sample) ,才能代表母體 Sample mean 是一隨機變數,隨著每一次抽出來的 樣本值不同,它的值也不同,但會有規律性 為了要知道估計的精確性,必需要知道樣本平均數.
具備人臉追蹤與辨識功能的一個 智慧型數位監視系統 系統架構 在巡邏模式中 ,攝影機會左右來回巡視,並 利用動態膚色偵測得知是否有移動膚色物體, 若有移動的膚色物體則進入到追蹤模式,反之 則繼續巡視。
© The McGraw-Hill Companies, Inc., 2008 第 6 章 製造流程的選擇與設計.
Introduction to Java Programming Lecture 15 Objects and Classes.
Wireless Protocol Bluetooth
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
Matlab Assignment Due Assignment 兩個 matlab 程式 : Eigenface : Eigenvector 和 eigenvalue 的應用. Fractal : Affine transform( rotation, translation,
錄音筆,MP3 撥放器, 隨身碟 之原理及規格. 定義 錄音筆 – 以錄音為首要功能 MP3 撥放器 – 以播放音樂為首要功能 隨身碟 – 以行動碟為功能.
: War on Weather ★★☆☆☆ 題組: Contest Volumes Archive with Online Judge 題號: 10915: War on Weather 解題者:陳明凱 題意:題目總共會給你 k 個點座標代表殺手衛星的位置, 距離地球表面最少 50 公里以上,並且會給你.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
選舉制度、政府結構與政 黨體系 Cox (1997) Electoral institutions, cleavage strucuters, and the number of parties.
: Problem A : MiniMice ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11411: Problem A : MiniMice 解題者:李重儀 解題日期: 2008 年 9 月 3 日 題意:簡單的說,題目中每一隻老鼠有一個編號.
: Ahoy, Pirates! ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11402: Ahoy, Pirates! 解題者:李重儀 解題日期: 2008 年 8 月 26 日 題意:有一個海盜島有 N 個海盜,他們的編號 (id)
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
1-6 動畫的文件屬性 舞台是動畫實際播放的畫面, 所以舞台的大 小與長寬比例對將來動畫的呈現有很大的 影響。 Flash 預設的舞台尺寸是 550 Pixels × 400 Pixels, 背景為白色, 如果要更改舞台大小與 背景色, 請執行『修改 / 文件』命令, 開啟文 件屬性 (Document.
資料結構實習-一 參數傳遞.
政治大學公企中心必修課-- 社會科學研究方法(量化分析)--黃智聰
: Problem G e-Coins ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10306: Problem G e-Coins 解題者:陳瀅文 解題日期: 2006 年 5 月 2 日 題意:給定一個正整數 S (0
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
資料結構實習-二.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
Density and control Reproduction curve 劉耀仁. Density :濃度、密度 ► 1 號區是 High-Density 區、 2 號是 Middle-density 區、 3 號區是 Low- Density 區。 ► 計算反射率( R )或透射率( T )
逆向選擇和市場失調. 定義  資料不對稱 在交易其中,其中一方較對方有多些資料。  逆向選擇 出現在這個情況下,就是當買賣雙方隨意在 市場上交易,與比較主動交易者作交易為佳 。
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
介紹不同坐標系之間的轉換 以LS平差方式求解坐標轉換參數
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
: Function Overloading ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11032:Function Overloading 解題者:許智祺 解題日期: 2007 年 5 月 8 日 題意:判對輸入之數字是否為.
JAVA 程式設計與資料結構 第十六章 Hash Tables. Introduction Hash Tables 結構為一個 Array ,稱之為 Bucket array 。 如果想要新增一個物件,要根據這個物件的特性 將其加入 Hash Table 內。 Bucket Array 用 A 來代替,其.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
數位暗房 講師:阿魯米. 常用軟體 1. 光影魔術手:簡單、方便、輕巧好用 2.Lightroom :管理照片方便容易 3.Photoshop :進階修圖技巧 示範軟體:光影魔術手.
冷凍空調自動控制 - 系統性能分析 李達生. Focusing here … 概論 自動控制理論發展 自控系統設計實例 Laplace Transform 冷凍空調自動控制 控制系統範例 控制元件作動原理 控制系統除錯 自動控制理論 系統穩定度分析 系統性能分析 PID Controller 自動控制實務.
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 壹 企業研究導論.
: Searching for Nessy ★☆☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 11044: Searching for Nessy 解題者:王嘉偉 解題日期: 2007 年 5 月 22 日 題意: 給定 case 數量.
資料結構實習-六.
Regression 相關 –Cross table –Bivariate –Contingency Cofficient –Rank Correlation 簡單迴歸 多元迴歸.
牽涉兩個變數的 Data Table 汪群超 11/1/98. Z=-X 2 +4X-Y 2 +6Y-7 觀察 Z 值變化的 X 範圍 觀察 Z 值變化的 Y 範圍.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
幼兒行為觀察與記錄 第八章 事件取樣法.
Chapter 12 Estimation 統計估計. Inferential statistics Parametric statistics 母數統計 ( 母體為常態或 大樣本 ) 假設檢定 hypothesis testing  對有關母體參數的假設,利用樣本資料,決定接受或 不接受該假設的方法.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
質數 (Prime) 相關問題 Introducer: Hsing-Yen Ann Date: 2009/05/13.
ROBUST VIDEO STABILIZATION BASED ON PARTICLE FILTER TRACKING OF PROJECTED CAMERA MOTION IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY,
ADO.NET. ADO.NET 精靈化設計 精靈化設計 程式化設計 程式化設計 SQL 指令 SQL 指令 DataGrid, DataList DataGrid, DataList DataBind DataBind.
1 Adaptive Variable Block-Size Early Motion Estimation Termination Algorithm for H.264/AVC Video Coding Standard Mohammed Golam Sarwer and Q. M. Jonathan.
Group 1_Block 張書瑜.  x264_encoder_open  X264_sps_init  x264_pps_init  X264_validate_levels  X264_cqm_init  X264_rdo_init.
Presentation transcript:

Parsex264_param_default x264_param_parse x264_param_apply_fastfirstpass x264_param_apply_profile select_output select_input x264_reduce_fraction

Purposefill x264_param_t with default values and do CPU detection Inputparam is parameter of x264 Output none Callerx264.c=> Parse checkasm.c=> check_dct check_quan Calleecpu.c=> x264_cpu_detect

Clear all the parameter Detect cpu Set parameter Video property Encoder Rate control Analyse log x264_param_t

param->i_csp = X264_CSP_I420;// 設置 video property 色彩空間設置 param->i_width = 0; // 設定長度 param->i_height = 0; // 設定寬度 param->vui.i_sar_width = 0; // VUI:video usability information 寬度 param->vui.i_sar_height= 0; // 設定長度 param->vui.i_overscan = 0; /* undef( 不設置 ) 0=undef, 1=no overscan, 2=overscan 過掃描線 可選擇: show( 觀看 )/crop( 去除 )*/ param->vui.i_vidformat = 5; /* 視頻格式 undef */ param->vui.b_fullrange = 0; /* Specify full range samples setting 默認為 off */ param->vui.i_colorprim = 2; /* 原始色度格式 undef */ param->vui.i_transfer = 2; /* 轉換方式 undef */ param->vui.i_colmatrix = 2; /* 色度矩陣設置 undef */ param->vui.i_chroma_loc= 0; /* 色度樣本指定 left center */ param->i_fps_num = 25; // frame per second param->i_fps_den = 1; // 用兩個整數的比值,來表示 frame 率 param->i_level_idc = -1; //leve 值 param->i_slice_max_size = 0; //slice 的最大數 param->i_slice_max_mbs = 0; //slice 的最多 block 數 param->i_slice_count = 0; // 每 frame 的最大 slice 數

Clear all the parameter Detect cpu Set parameter Video property Encoder Rate control Analyse log x264_param_t

param->i_frame_reference = 3;// 參考 frame 的最大個數 param->i_keyint_max = 250;// 兩個 IDR 的最大間隔 param->i_keyint_min = 25;// 兩個 IDR 的最小間隔 param->i_bframe = 3;//IP frame 間 可插入 b frame 的最大值 param->i_scenecut_threshold = 40;// 多少 frame 強制插入一個 IDR frame param->i_bframe_adaptive = X264_B_ADAPT_FAST;//adaptive B frame 用哪一 種 param->i_bframe_bias = 0;// 範圍 -100~100 越高越容易插入 b frame param->i_bframe_pyramid = X264_B_PYRAMID_NORMAL; // 允許其他 frame 當參考 B frame param->b_interlaced = 0;// 隔行掃描 param->b_constrained_intra = 0;//Enable constrained intra prediction, param->b_deblocking_filter = 1;// 要不要做 de blocking filter param->i_deblocking_filter_alphac0 = 0;// 設定 deblock filter 的參數 alpha 為 deblocking strength beta 為 deblocking threshold param->i_deblocking_filter_beta = 0;// 值越大 deblocking 效果越好 畫面越 乾淨 但是會損失一些細節 param->b_cabac = 1;// 要不要用 CABAC param->i_cabac_init_idc = 0;// 決定 entropy 編碼初始化的表格

Clear all the parameter Detect cpu Set parameter Video property Encoder Rate control Analyse log x264_param_t

param->rc.i_rc_method = X264_RC_CRF;// 設置 bitrate 控制 param->rc.i_bitrate = 0;// 指定 bitrate 的值 param->rc.f_rate_tolerance = 1.0;// 允許的誤差 param->rc.i_vbv_max_bitrate = 0;//VBV(video buffering verifier) 模式的 最大 bitrate param->rc.i_vbv_buffer_size = 0;//VBV buff 的最大尺寸 一般由硬體設 備決定 param->rc.f_vbv_buffer_init = 0.9;//VBV buff 的初始尺寸 param->rc.i_qp_constant = 23;//qp 初始值 param->rc.f_rf_constant = 23;/* 1pass VBR Quality-based VBR (0- 51, 0=lossless)*/ param->rc.i_qp_min = 10;// 最小 qp 值 param->rc.i_qp_max = 51;// 最大 qp 值 param->rc.i_qp_step = 4;//Qpstep param->rc.f_ip_factor = 1.4;//I frame 和 P frame 的 qp factor param->rc.f_pb_factor = 1.3;//P frame 和 B frame 的 qp factor

Clear all the parameter Detect cpu Set parameter Video property Encoder Rate control Analyse log x264_param_t

param->analyse.intra = X264_ANALYSE_I4x4 | X264_ANALYSE_I8x8; //intra 分析的方法 param->analyse.inter = X264_ANALYSE_I4x4 | X264_ANALYSE_I8x8 | X264_ANALYSE_PSUB16x16 | X264_ANALYSE_BSUB16x16; //inter 分析的方法 param->analyse.i_direct_mv_pred = X264_DIRECT_PRED_SPATIAL; //direct 預測方法 : 空間預測模式 param->analyse.i_me_method = X264_ME_HEX;//motion estimation 的方法 param->analyse.f_psy_rd = 1.0;//Strength of psychovisual rate distortion param->analyse.b_psy = 1;/* Toggle all psy optimizations */ param->analyse.f_psy_trellis = 0;/* Psy trellis strength */ param->analyse.i_me_range = 16;// 最大動態像量範圍 (Maximum motion vector search range) 值越大編碼速度越慢 param->analyse.i_subpel_refine = 7;//sub ME 子動態預測 值越大效果越 param->analyse.b_mixed_references = 1;// 對每個 block 進行 reference 判斷 param->analyse.b_chroma_me = 1;// 在動態預測中 忽略 chroma param->analyse.i_mv_range = -1; // 最大 motion vector 長度

Purposemodify the encoder settings to disable options generally not useful on the first pass. Inputparam is basic parameter of x264 Output none Callerx264.c=> Parse Calleenone

param->rc.b_stat_write && !param->rc.b_stat_read yes param->i_frame_reference = 1; param->analyse.b_transform_8x8 = 0; param->analyse.inter = 0; param->analyse.i_me_method = X264_ME_DIA; param->analyse.i_subpel_refine = X264_MIN( 2, param->analyse.i_subpel_refine ); param->analyse.i_trellis = 0;

Purposeset one parameter by name. returns 0 on success, or returns one of the following errors. Inputp:the basic parameter in x264 name:the parameter's name value: the name's value (string) Output b_error (0:success ERROR) Caller ratecontrol.c=> parse_zone x264.c=> Parse Calleecommon.c=> parse_enum common.c=> parse_cqm

char *name_buf = NULL; int b_error = 0; int name_was_bool; int value_was_null = !value; int I; if( !name ) return X264_PARAM_BAD_NAME; if( !value ) value = "true"; if( value[0] == '=' ) value++; value[0]== ‘=’ return

if( strchr( name, '_' ) { char *p; name_buf = strdup(name); while( (p = strchr( name_buf, '_' )) ) *p = '-'; name = name_buf; } if( (!strncmp( name, "no-", 3 ) && (i = 3)) || (!strncmp( name, "no", 2 ) && (i = 2)) ) { name += i; value = atobool(value) ? "false" : "true"; } 判斷 name 前面有沒有 no or no- strchr( name, '_' )

slicesvideoformat 、 、 、、 、 、 cqm8p atoi(value) atobool(value) atof(value) #define OPT(STR) else if( !strcmp( name, STR ) ) STR= “slices” or “videoformat” or “cqm8p”…

slicesvideoformat 、 、 、、 、 、 cqm8p atoi(value) atobool(value) atof(value) #define OPT(STR) else if( !strcmp( name, STR ) ) STR= “slices” or “videoformat” or “cqm8p”… OPT("slices")// 每 frame 的最大 slice 數 p->i_slice_count = atoi(value);

slicesvideoformat 、 、 、、 、 、 cqm8p atoi(value) atobool(value) atof(value) #define OPT(STR) else if( !strcmp( name, STR ) ) STR= “slices” or “videoformat” or “cqm8p”…

slicesvideoformat 、 、 、、 、 、 parse_cqm atoi(value) atobool(value) atof(value) static int parse_enum( const char *arg, const char * const *names, int *dst ) { int i; for( i = 0; names[i]; i++ ) if( !strcmp( arg, names[i] ) ) { *dst = i; return 0; } return -1; } #define OPT(STR) else if( !strcmp( name, STR ) ) STR= “slices” or “videoformat” or “cqm8p”… OPT("videoformat") b_error |= parse_enum( value, x264_vidformat_names, &p->vui.i_vidformat );

slicesvideoformat 、 、 、、 、 、 cqm8p atoi(value) atobool(value) atof(value) #define OPT(STR) else if( !strcmp( name, STR ) ) STR= “slices” or “videoformat” or “cqm8p”…

slicesvideoformat 、 、 、、 、 、 cqm8p atoi(value) atobool(value) atof(value) static int parse_cqm( const char *str, uint8_t *cqm, int length ) { int i = 0; do { int coef; if( !sscanf( str, "%d", &coef ) || coef 255 ) return -1; cqm[i++] = coef; } while( i < length && (str = strchr( str, ',' )) && str++ ); return (i == length) ? 0 : -1; } #define OPT(STR) else if( !strcmp( name, STR ) ) STR= “slices” or “videoformat” or “cqm8p”…