我想通过FFMPEG C ++ SDK设置x264编码设置, 我怎么设置它?
现在,我使用av_opt_set
函数,但似乎不起作用。
(例如av_opt_set(c->priv_data, "cabac", "0", 0);
)
我想在下面设置设置。
cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 G...fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=1 keyint_minG...=1 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
有人知道吗?
答案 0 :(得分:3)
You're making the exact same mistake as this guy。我在这里的回答和那里一样:
不要将c->priv_data
传递给av_opt_set
。传递上下文。如:
av_opt_set(c, "cabac", "0", 0);
在内部,av_opt_set
will cast the object to an AVClass*
即what holds all the options。
但你不必担心这些。您只需要使用上下文调用av_opt_set
,它将为您处理所有脏信息。同样,为了清楚起见,您应该只是致电av_opt_set(c, "cabac", "0", 0);
。