AVS3配置文件解读

编码器配置文件的内容

我们以下面的encode_RA.cfg配置文件为例

#Note: keep at least two spaces between the command line key word and ":"; otherwise, the cmd parser cannot read the value after ":"
#======== File I/O =====================
input                   : BQSquare_416x240_60.yuv      # file name of input video
output                  : str.bin                          # file name of output bitstream
#recon                   : rec.yuv                          # file name of reconstructed video
width                   : 416                              # pixel width of input video
height                  : 240                              # pixel height of input video
frame_rate              : 60                               # frame rate (Hz)
colour_description      : 0                                # Colour description in sequence_display_extension

#=========== split configuration =================
ctu_size                : 128
min_cu_size             : 4
max_part_ratio          : 8
max_split_times         : 6
min_qt_size             : 8
max_bt_size             : 128
max_eqt_size            : 64
max_dt_size             : 64

#======== Coding Structure =============
i_period                : 64                               # I-picture period
max_b_frames            : 31                               # Number of maximum B frames (1,3,7,15)
frames                  : 9                                # maximum number of frames to be encoded
disable_hgop            : 0                                # disable hierarchical GOP. if not set, hierarchical GOP is used
skip_frames             : 0                                # number of skipped frames before encoding. default 0

#=========== Misc. ============
profile                 : 50                               # profile id (default: 0x32, phase-2: 0x32 for 10bit or 0x30 for 8bit, phase-1: 0x22 for 10bit or 0x20 for 8bit)
level                   : 106                               # level id (default: 0x6a)
signature               : 0                                # embed picture signature (HASH) for conformance checking in decoding
verbose                 : 1                                # verbose level
input_bit_depth         : 8                                # input_bit_depth
internal_bit_depth      : 10                               # internal bit depth (8, 10)(default: same as input bitdpeth)
TemporalSubsampleRatio  : 1                                # temporal subsampling ratio

#======= Quantization =============
op_qp                   : 37                               # QP value (-16~63 for 10-bit internal encoding precision, 0~63 for 8-bit internal encoding precision)
qp_add_frm              : 0                                # one more qp are added after this number of frames, disable:0 (default)
qp_offset_cb            : 0                                # qp offset for cb, disable:0 (default)
qp_offset_cr            : 0                                # qp offset for cr, disable:0 (default)
qp_offset_adp           : 1                                # frame-level adpative qp offset for cb and cr, (on: 1, off: 0, default: 1)
hdr_chroma_qp_offset    : 0                                # frame level adaptive Chroma QP offset for HDR content (on: 1, off: 0, default: 0)
lcu_delta_qp            : 0                                # delta qp for lcu (on: 1, off: 0, default: 0)
cu_delta_qp             : 0                                # delta qp for cu (on: 1, off: 0, default: 0. Note: only be effective when lcu_delta_qp = 1)
cu_qp_group_size        : 16                               # qp group size (can be 8, 16, 32, 64, default: 16)

#=========== Filter ============
deblock                 : 1                                # deblock on/off flag (on: 1, off: 0, default: 1)
sao                     : 1                                # sao on/off flag (on: 1, off: 0, default: 1)
alf                     : 1                                # alf on/off flag (on: 1, off: 0, default: 1)

#=========== Coding Tools =================
ipf                     : 1                                # intra prediction filter
tscpm                   : 1                                # two-step cross component prediction
dt_intra                : 1                                # dt intra on/off flag
pbt                     : 0                                # pbt on/off flag
amvr                    : 1                                # amvr on/off flag
hmvp                    : 8                                # number of hmvp skip candidates (default: 8, disable: 0)
emvr                    : 1                                # extend amvr on/off flag
umve                    : 1                                # ultra motion vector expression scheme
affine                  : 1                                # affine on/off flag
smvd                    : 1                                # smvd on/off flag
libpic                  : 0                                # libpic on/off flag
#------phase-2 tools--------
eipm                    : 1                                # extended intra prediction mode on/off flag
enhance_tscpm           : 1                                # enhanced TSCPM on/off flag
srcc                    : 1                                # srcc on/off flag
ist                     : 1                                # ist on/off flag
sbt                     : 1                                # sbt on/off flag
dmvr                    : 1                                # dmvr on/off flag
bio                     : 1                                # bio on/off flag
interpf                 : 1                                # inter prediction filter on/off flag
mvap                    : 1                                # mvap on/off flag
affine_umve             : 1                                # affine_umve on/off flag
mipf                    : 1                                # multiple intra prediction filter
awp                     : 1                                # angular weighted prediction(AWP off: 0, AWP on: 1, AWP SCC refinement adaptive on/off: 2, AWP SCC refinement on: 3)
awp_mvr                 : 1                                # angular weighted prediction with motion vectore refinement
etmvp                   : 1                                # etmvp on/off flag
sbtmvp                  : 1                                # sbtmvp on/off flag
pmc                     : 1                                # pediction from multiple cross-components
mcabac                  : 1                                # counter-based multi-CABAC on/off flag
est                     : 1                                # est on/off flag
st_chroma               : 1                                # st_chroma on/off flag
umve_enh                : 1                                # umve enhancement
obmc                    : 1                                # overlapped block motion compensation
esao                    : 1                                # esao on/off flag (on: 1, off:0)
dbr                     : 1                                # dbr on/off flag (on: 1, off:0)
bgc                     : 1                                # bgc on/off flag (on: 1, off:0)
ipf_chroma              : 1                                # chroma intrapf on/off flag
alf_enhance             : 1                                # ALF enhancement on/off flag (on: 1, off:0)
fast_ld                 : 0                                # fast lowdelay me method (on: 1, off:0) off for RA case
ccsao                   : 1                                # ccsao on/off flag (on: 1, off:0)
asp                     : 1                                # affine secondary prediction on/off flag (on: 1, off:0)
iip                     : 1                                # improved intra prediction on/off flag (on:1, off:0)
deblock_type            : 1                                # adaptive control of deblock type on/off flag
sawp                    : 1                                # spatial angular weighted prediction
ipc                     : 1                                # inter predictor correction on/off flag (on:1, off:0)
alo_enable_type         : 0                                # adaptive lambda optimization for lcu (on:1, off:0)
#-------scc coding tools----
ibc                     : 0                                # intra block copy on/off flag (IBC on: 1, IBC off: 0, IBC adaptive on/off: 2)
abvr                    : 1                                # abvr on/off flag
fimc                    : 0                                # frequency-based intra mode coding on/off flag (for SCC coding)
ists                    : 0                                # ists on/off flag
ts_inter                : 0                                # ts_inter on/off flag
sp                      : 0                                # string prediction on/off flag
evs_ubvs                : 0                                # evs_ubvs on/off flag

#================= library picture ===============
#skip_frames_when_extract_libpic   : 0                     #number of skipped frames before extract libpic. default: the same as the number of skipped frames before encoding
#frames_when_extract_libpic        : 100                   #maximum number of frames when extract libpic. default: the same as the nmaximum number of frames to be encoded

#=========== patch =================
patch_stable            : 1                                # stable_patch_flag (0: all the pic as the same patch size; 1: each pic as the different patch size)
cross_patch_loopfilter  : 1                                # loop_filter_across_patch_flag (1: cross; 0: non cross)
patch_ref_colocated     : 0                                # indicate whether the MV out of the patch boundary
patch_uniform           : 1                                # 0: all the patch are in the same size; 1: each patch in the different size
patch_width_in_lcu      : 0                                # the width of patch in LCU
patch_height_in_lcu     : 0                                # the height of patch in LCU

#=========== weight quant =================
wq_enable               : 0                                # Frequency Weighting Quantization (0=disable,1=enable)
seq_wq_mode             : 0                                # (0:default, 1:user define)
seq_wq_user             : [64,64,64,68,64,64,68,72,64,68,76,80,72,76,84,96,64,64,64,64,68,68,72,76,64,64,64,68,72,76,84,92,64,64,68,72,76,80,88,100,64,68,72,80,84,92,100,112,68,72,80,84,92,104,112,128,76,80,84,92,104,116,132,152,96,100,104,116,124,140,164,188,104,108,116,128,152,172,192,216]

pic_wq_data_idx         : 1                                # Picture level WQ data index (0:refer to seq_header,  1:derived by WQ parameter,  2:load from pic_header)
pic_wq_user             : [64,64,64,68,64,64,68,72,64,68,76,80,72,76,84,96,64,64,64,64,68,68,72,76,64,64,64,68,72,76,84,92,64,64,68,72,76,80,88,100,64,68,72,80,84,92,100,112,68,72,80,84,92,104,112,128,76,80,84,92,104,116,132,152,96,100,104,116,124,140,164,188,104,108,116,128,152,172,192,216]

wq_param                : 0                                # Weighting Quantization Parameter(0=Default, 1=UnDetailed, 2=Detailed) 
wq_model                : 1                                # Frequency Weighting Quantization Model (0-2)
wq_param_detailed       : [64,49,53,58,58,64]              # User defined Parameters-Detailed
wq_param_undetailed     : [67,71,71,80,80,106]             # User defined Parameters-UnDetailed

#=========== preprocess =============
temporal_filter             : 1
temporal_filter_lookahead   : 1
temporal_filter_period_0    : 8
temporal_filter_strength_0  : 95
temporal_filter_period_1    : 16
temporal_filter_strength_1  : 150

#=========== reference picture management =================
#|Type POC temporal_id #ref_pics_active  reference pictures
RPL0_0  : B|32|0|2|32|48|64|9999|32|31|33
RPL0_1  : B|16|1|2|16|32|9999|33|32
RPL0_2  : B|8|2|2|8|24|9999|34|33
RPL0_3  : B|4|3|2|4|20|9999|35|34
RPL0_4  : B|2|4|2|2|18|9999|36|35
RPL0_5  : B|1|5|2|1|-1|9999|6|1
RPL0_6  : B|3|5|2|1|3|9999|2|7
RPL0_7  : B|6|4|2|2|6|9999|4|8
RPL0_8  : B|5|5|2|1|5|9999|5|9
RPL0_9  : B|7|5|2|1|3|7|9999|2|6|10
RPL0_10  : B|12|3|2|4|12|9999|8|11
RPL0_11  : B|10|4|2|2|10|9999|9|12
RPL0_12  : B|9|5|2|1|9|9999|10|13
RPL0_13  : B|11|5|2|1|3|11|9999|2|11|14
RPL0_14  : B|14|4|2|2|6|14|9999|4|12|15
RPL0_15  : B|13|5|2|1|5|13|9999|5|13|16
RPL0_16  : B|15|5|2|1|3|7|15|9999|2|6|14|17
RPL0_17  : B|24|2|2|8|24|9999|16|18
RPL0_18  : B|20|3|2|4|20|9999|17|19
RPL0_19  : B|18|4|2|2|18|9999|18|20
RPL0_20  : B|17|5|2|1|17|9999|19|21
RPL0_21  : B|19|5|2|1|3|19|9999|2|20|22
RPL0_22  : B|22|4|2|2|6|22|9999|4|21|23
RPL0_23  : B|21|5|2|1|5|21|9999|5|22|24
RPL0_24  : B|23|5|2|1|3|7|23|9999|2|6|23|25
RPL0_25  : B|28|3|2|4|12|28|9999|8|24|26
RPL0_26  : B|26|4|2|2|10|26|9999|9|25|27
RPL0_27  : B|25|5|2|1|9|25|9999|10|26|28
RPL0_28  : B|27|5|2|1|3|11|27|9999|2|11|27|29
RPL0_29  : B|30|4|2|2|14|30|9999|4|28|30
RPL0_30  : B|29|5|2|1|13|29|9999|5|29|31
RPL0_31  : B|31|5|2|1|3|15|31|9999|2|6|30|32
RPL0_32  : B|32|0|1|32|9999|1
RPL0_33  : B|16|1|2|16|-16|9999|2|1
RPL0_34  : B|8|2|2|8|-8|9999|3|1
RPL0_35  : B|4|3|2|4|-4|9999|4|1
RPL0_36  : B|2|4|2|2|-2|9999|5|1

RPL1_0  : B|32|0|2|32|48|9999|32|31
RPL1_1  : B|16|1|2|-16|16|9999|1|33
RPL1_2  : B|8|2|2|-8|-24|9999|1|2
RPL1_3  : B|4|3|2|-4|-12|-28|9999|1|2|3
RPL1_4  : B|2|4|2|-2|-6|-14|-30|9999|1|2|3|4
RPL1_5  : B|1|5|2|-1|-3|-7|-15|-31|9999|1|2|3|4|5
RPL1_6  : B|3|5|2|-1|-5|-13|-29|9999|3|4|5|6
RPL1_7  : B|6|4|2|-2|-10|-26|9999|5|6|7
RPL1_8  : B|5|5|2|-1|-3|-11|-27|9999|1|6|7|8
RPL1_9  : B|7|5|2|-1|-9|-25|9999|7|8|9
RPL1_10  : B|12|3|2|-4|-20|9999|9|10
RPL1_11  : B|10|4|2|-2|-6|-22|9999|1|10|11
RPL1_12  : B|9|5|2|-1|-3|-7|-23|9999|1|2|11|12
RPL1_13  : B|11|5|2|-1|-5|-21|9999|3|12|13
RPL1_14  : B|14|4|2|-2|-18|9999|13|14
RPL1_15  : B|13|5|2|-1|-3|-19|9999|1|14|15
RPL1_16  : B|15|5|2|-1|-17|9999|15|16
RPL1_17  : B|24|2|2|-8|8|9999|17|16
RPL1_18  : B|20|3|2|-4|-12|9999|1|18
RPL1_19  : B|18|4|2|-2|-6|-14|9999|1|2|19
RPL1_20  : B|17|5|2|-1|-3|-7|-15|9999|1|2|3|20
RPL1_21  : B|19|5|2|-1|-5|-13|9999|3|4|21
RPL1_22  : B|22|4|2|-2|-10|9999|5|22
RPL1_23  : B|21|5|2|-1|-3|-11|9999|1|6|23
RPL1_24  : B|23|5|2|-1|-9|9999|7|24
RPL1_25  : B|28|3|2|-4|4|9999|25|8
RPL1_26  : B|26|4|2|-2|-6|9999|1|26
RPL1_27  : B|25|5|2|-1|-3|-7|9999|1|2|27
RPL1_28  : B|27|5|2|-1|-5|9999|3|28
RPL1_29  : B|30|4|2|-2|2|9999|29|4
RPL1_30  : B|29|5|2|-1|-3|9999|1|30
RPL1_31  : B|31|5|2|-1|1|9999|31|2
RPL1_32  : B|32|0|1|32|9999|1
RPL1_33  : B|16|1|2|-16|16|9999|1|2
RPL1_34  : B|8|2|2|-8|-24|9999|1|2
RPL1_35  : B|4|3|2|-4|-12|-28|9999|1|2|3
RPL1_36  : B|2|4|2|-2|-6|-14|-30|9999|1|2|3|4

编码器配置文件各个参数解读

input

表示编码器输入的原始视频的文件名
支持相对路径,如果使用的是相对路径,那么其基本路径就是当前的工作目录。

output

表示编码器输出码流(.bin)的文件名

recon

表示编码器重建视频的文件名

width

表示输入视频中每一帧的宽度

height

表示输入视频中每一帧的高度

frame_rate

表示输入视频的帧率, i.e. 每秒多少帧

colour_description

视频的色彩类型,默认为0,表示YUV(4:2:0)类型

===split configuration===

用来指示CU如何进行划分,暂时没有进行细致的了解

i_period

表示I帧的周期,i.e. 输入视频每间隔多少帧就要有1个I帧

max_b_frames

表示两个非B帧之间允许出现的最多B帧的数目
要求/限制: i_period 是(max_b_frames+1)的倍数

frames

表示编码器要编码输入视频中前多少帧

disable_hgop

表示是否允许使用分层GOP技术
disable_hgop=0,表示允许使用分层GOP;disable_hgop=1,表示不允许使用分层GOP

profile

profile 表示“配置”,i.e. 编码时采用的特定工具集和技术规范
默认一般使用50(0x32), 此时既可以编码8bit视频,也可以编码10bit视频

signature

是否要计算哈希值来检验编解码匹配。
如果signature=1, 就表示要计算哈希值,MD5。
对于视频中的每一帧f,编码器在编码完之后得到码流b, 对f进行重建,得到重建帧f’, 然后根据f’去计算一个哈希值s. 编码器将码流b和哈希值s都写入到码流中,传送给解码器。
解码器在接收到码流后,从中解码得到帧f的码流b和其哈希值s,使用码流b进行解码,得到重建帧f’‘, 然后根据f’‘去计算解码端的哈希值s’,检查s’是否等于s:

  • 如果s’=s, 就表明帧f的编解码匹配
  • 如果s’!=s, 就表明帧f的编解码不匹配,存在问题,需要排查错误。

input_bit_depth

输入视频的比特深度, i.e. 输入视频的一个像素的比特深度

internal_bit_depth

编码器内部的比特深度,默认我们一般是用10bit.
这个参数用于表示我们在编码器进行编码(内部计算)的过程中,使用几位来表示一个像素值

TemporalSubsampleRatio

时序下采样率,i.e. 每隔几帧采样一个帧,默认值为1
这个参数取值为k的时候,编码器会依次对第0帧,第k帧,第2k帧,第3k帧…进行编码, 直接忽略其余的帧。

libpic

是否要使用知识图像技术来进行编码
取值为0,表示不使用知识图像技术; 取值为1,表示要使用知识图像技术

op_qp

量化参数qp的值
一般来说,对于一个编码器A和一个视频序列V, 我们要分别测试qp值为27,32,38,45上的性能,然后去计算BD-rate

temporal_filter

时域滤波技术
temporal_filter=0,表示不启用时域滤波技术;temporal_filter=1,表示要启用时域滤波技术

reference picture management部分

这一部分,是用于参考帧管理的.

#=========== reference picture management =================
#|Type POC temporal_id #ref_pics_active  reference pictures
RPL0_0  : B|32|0|2|32|48|64|9999|32|31|33
RPL0_1  : B|16|1|2|16|32|9999|33|32
RPL0_2  : B|8|2|2|8|24|9999|34|33
RPL0_3  : B|4|3|2|4|20|9999|35|34
RPL0_4  : B|2|4|2|2|18|9999|36|35
RPL0_5  : B|1|5|2|1|-1|9999|6|1
RPL0_6  : B|3|5|2|1|3|9999|2|7
RPL0_7  : B|6|4|2|2|6|9999|4|8
RPL0_8  : B|5|5|2|1|5|9999|5|9
RPL0_9  : B|7|5|2|1|3|7|9999|2|6|10
RPL0_10  : B|12|3|2|4|12|9999|8|11
RPL0_11  : B|10|4|2|2|10|9999|9|12
RPL0_12  : B|9|5|2|1|9|9999|10|13
RPL0_13  : B|11|5|2|1|3|11|9999|2|11|14
RPL0_14  : B|14|4|2|2|6|14|9999|4|12|15
RPL0_15  : B|13|5|2|1|5|13|9999|5|13|16
RPL0_16  : B|15|5|2|1|3|7|15|9999|2|6|14|17
RPL0_17  : B|24|2|2|8|24|9999|16|18
RPL0_18  : B|20|3|2|4|20|9999|17|19
RPL0_19  : B|18|4|2|2|18|9999|18|20
RPL0_20  : B|17|5|2|1|17|9999|19|21
RPL0_21  : B|19|5|2|1|3|19|9999|2|20|22
RPL0_22  : B|22|4|2|2|6|22|9999|4|21|23
RPL0_23  : B|21|5|2|1|5|21|9999|5|22|24
RPL0_24  : B|23|5|2|1|3|7|23|9999|2|6|23|25
RPL0_25  : B|28|3|2|4|12|28|9999|8|24|26
RPL0_26  : B|26|4|2|2|10|26|9999|9|25|27
RPL0_27  : B|25|5|2|1|9|25|9999|10|26|28
RPL0_28  : B|27|5|2|1|3|11|27|9999|2|11|27|29
RPL0_29  : B|30|4|2|2|14|30|9999|4|28|30
RPL0_30  : B|29|5|2|1|13|29|9999|5|29|31
RPL0_31  : B|31|5|2|1|3|15|31|9999|2|6|30|32
RPL0_32  : B|32|0|1|32|9999|1
RPL0_33  : B|16|1|2|16|-16|9999|2|1
RPL0_34  : B|8|2|2|8|-8|9999|3|1
RPL0_35  : B|4|3|2|4|-4|9999|4|1
RPL0_36  : B|2|4|2|2|-2|9999|5|1

RPL1_0  : B|32|0|2|32|48|9999|32|31
RPL1_1  : B|16|1|2|-16|16|9999|1|33
RPL1_2  : B|8|2|2|-8|-24|9999|1|2
RPL1_3  : B|4|3|2|-4|-12|-28|9999|1|2|3
RPL1_4  : B|2|4|2|-2|-6|-14|-30|9999|1|2|3|4
RPL1_5  : B|1|5|2|-1|-3|-7|-15|-31|9999|1|2|3|4|5
RPL1_6  : B|3|5|2|-1|-5|-13|-29|9999|3|4|5|6
RPL1_7  : B|6|4|2|-2|-10|-26|9999|5|6|7
RPL1_8  : B|5|5|2|-1|-3|-11|-27|9999|1|6|7|8
RPL1_9  : B|7|5|2|-1|-9|-25|9999|7|8|9
RPL1_10  : B|12|3|2|-4|-20|9999|9|10
RPL1_11  : B|10|4|2|-2|-6|-22|9999|1|10|11
RPL1_12  : B|9|5|2|-1|-3|-7|-23|9999|1|2|11|12
RPL1_13  : B|11|5|2|-1|-5|-21|9999|3|12|13
RPL1_14  : B|14|4|2|-2|-18|9999|13|14
RPL1_15  : B|13|5|2|-1|-3|-19|9999|1|14|15
RPL1_16  : B|15|5|2|-1|-17|9999|15|16
RPL1_17  : B|24|2|2|-8|8|9999|17|16
RPL1_18  : B|20|3|2|-4|-12|9999|1|18
RPL1_19  : B|18|4|2|-2|-6|-14|9999|1|2|19
RPL1_20  : B|17|5|2|-1|-3|-7|-15|9999|1|2|3|20
RPL1_21  : B|19|5|2|-1|-5|-13|9999|3|4|21
RPL1_22  : B|22|4|2|-2|-10|9999|5|22
RPL1_23  : B|21|5|2|-1|-3|-11|9999|1|6|23
RPL1_24  : B|23|5|2|-1|-9|9999|7|24
RPL1_25  : B|28|3|2|-4|4|9999|25|8
RPL1_26  : B|26|4|2|-2|-6|9999|1|26
RPL1_27  : B|25|5|2|-1|-3|-7|9999|1|2|27
RPL1_28  : B|27|5|2|-1|-5|9999|3|28
RPL1_29  : B|30|4|2|-2|2|9999|29|4
RPL1_30  : B|29|5|2|-1|-3|9999|1|30
RPL1_31  : B|31|5|2|-1|1|9999|31|2
RPL1_32  : B|32|0|1|32|9999|1
RPL1_33  : B|16|1|2|-16|16|9999|1|2
RPL1_34  : B|8|2|2|-8|-24|9999|1|2
RPL1_35  : B|4|3|2|-4|-12|-28|9999|1|2|3
RPL1_36  : B|2|4|2|-2|-6|-14|-30|9999|1|2|3|4

我们来具体举例说明其含义,

#=========== reference picture management =================
#|Type POC temporal_id #ref_pics_active  reference pictures
RPL0_0  : B|32|0|2|32|48|64|9999|32|31|33
RPL0_1  : B|16|1|2|16|32|9999|33|32
RPL0_2  : B|8|2|2|8|24|9999|34|33
RPL0_3  : B|4|3|2|4|20|9999|35|34

根据结构体的定义以及代码中给出的解析过程,可以知道:
"B|32|0|2|32|48|64|9999|32|31|33"这个字符串被赋值给op_rpl0[0]这个字符串了
RPL0_0 : B|32|0|2|32|48|64|9999|32|31|33
表示0号参考帧列表中的第0个帧(简称为当前帧f )的slice_type为B帧(双向参考),f的POC(显示顺序)为32,temporal_id为0,ref_pic_active_num(f有效的参考帧的数目)为2.
当前帧f的所有参考帧的索引(ref_pics)分别为32,48,64.
9999为一个分隔符。
当前帧f的所有参考帧的ddoi值(ref_pics_ddoi)分别为32,31,33.
理解

假设f的第j个参考帧为h,且其对应的ddoi值为x,就表明f和h的doi的差值为x

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 FFmpeg 进行 AVS3 编码,需要先编译 FFmpeg 并启用 AVS3 的支持。下面是一个简单的编译和配置过程: 1. 下载 FFmpeg 源代码 首先,你需要从 FFmpeg 官网下载最新的源代码。 2. 安装 AVS3 相关依赖 FFmpeg 需要依赖以下软件包来支持 AVS3 编码: - AVS3-P2 reference software - xavs3 库 你可以从 AVS3 官方网站上下载这些软件包,并按照它们的指导进行安装。 3. 配置 FFmpeg 在配置 FFmpeg 时,你需要启用 AVS3 的支持。你可以使用以下命令进行配置: ``` ./configure --enable-libxavs3 --enable-version3 --enable-shared --enable-hardcoded-tables --enable-gpl --enable-nonfree ``` 其中,`--enable-libxavs3` 表示启用 xavs3 库的支持,`--enable-version3` 表示使用最新的库版本,`--enable-shared` 表示编译动态链接库,`--enable-hardcoded-tables` 表示启用硬编码的表格,`--enable-gpl` 表示启用 GPL 许可证,`--enable-nonfree` 表示启用非自由许可证。 4. 编译 FFmpeg 在配置完成后,你可以使用以下命令编译 FFmpeg: ``` make ``` 5. 安装 FFmpeg 编译完成后,你可以使用以下命令将 FFmpeg 安装到系统中: ``` make install ``` 6. 使用 FFmpeg 进行 AVS3 编码 现在,你可以使用 FFmpeg 进行 AVS3 编码了。例如,如果你要将一个视频文件编码为 AVS3 格式,你可以使用以下命令: ``` ffmpeg -i input.mp4 -c:v libxavs3 output.avs ``` 其中,`-i` 表示输入文件,`-c:v libxavs3` 表示使用 libxavs3 库进行视频编码,`output.avs` 表示输出文件的名称。 注意:AVS3 是中国提出的一种新型视频编码标准,目前尚未得到广泛的应用和支持。因此,在使用 FFmpeg 进行 AVS3 编码时,你需要先确认你的播放器或设备是否支持 AVS3 格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值