codekingpro/portable-devtools
114k
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">2<html>3<!-- Created by , GNU Texinfo 7.1.1 -->4 <head>5 <meta charset="utf-8">6 <title>7 FFmpeg Codecs Documentation8 </title>9 <meta name="viewport" content="width=device-width,initial-scale=1.0">10 <link rel="stylesheet" type="text/css" href="bootstrap.min.css">11 <link rel="stylesheet" type="text/css" href="style.min.css">12 </head>13 <body>14 <div class="container">15 <h1>16 FFmpeg Codecs Documentation17 </h1>18 19 20<a name="SEC_Top"></a>21 22<div class="element-contents" id="SEC_Contents">23<h2 class="contents-heading">Table of Contents</h2>24 25<div class="contents">26 27<ul class="toc-numbered-mark">28 <li><a id="toc-Description" href="#Description">1 Description</a></li>29 <li><a id="toc-Codec-Options" href="#Codec-Options">2 Codec Options</a></li>30 <li><a id="toc-Decoders" href="#Decoders">3 Decoders</a></li>31 <li><a id="toc-Video-Decoders" href="#Video-Decoders">4 Video Decoders</a>32 <ul class="toc-numbered-mark">33 <li><a id="toc-av1" href="#av1">4.1 av1</a>34 <ul class="toc-numbered-mark">35 <li><a id="toc-Options" href="#Options">4.1.1 Options</a></li>36 </ul></li>37 <li><a id="toc-hevc" href="#hevc">4.2 hevc</a>38 <ul class="toc-numbered-mark">39 <li><a id="toc-Options-1" href="#Options-1">4.2.1 Options</a></li>40 </ul></li>41 <li><a id="toc-rawvideo" href="#rawvideo">4.3 rawvideo</a>42 <ul class="toc-numbered-mark">43 <li><a id="toc-Options-2" href="#Options-2">4.3.1 Options</a></li>44 </ul></li>45 <li><a id="toc-libdav1d" href="#libdav1d">4.4 libdav1d</a>46 <ul class="toc-numbered-mark">47 <li><a id="toc-Options-3" href="#Options-3">4.4.1 Options</a></li>48 </ul></li>49 <li><a id="toc-libdavs2" href="#libdavs2">4.5 libdavs2</a></li>50 <li><a id="toc-libuavs3d" href="#libuavs3d">4.6 libuavs3d</a>51 <ul class="toc-numbered-mark">52 <li><a id="toc-Options-4" href="#Options-4">4.6.1 Options</a></li>53 </ul></li>54 <li><a id="toc-libxevd" href="#libxevd">4.7 libxevd</a>55 <ul class="toc-numbered-mark">56 <li><a id="toc-Options-5" href="#Options-5">4.7.1 Options</a></li>57 </ul></li>58 <li><a id="toc-QSV-Decoders" href="#QSV-Decoders">4.8 QSV Decoders</a>59 <ul class="toc-numbered-mark">60 <li><a id="toc-Common-Options" href="#Common-Options">4.8.1 Common Options</a></li>61 <li><a id="toc-HEVC-Options" href="#HEVC-Options">4.8.2 HEVC Options</a></li>62 </ul></li>63 <li><a id="toc-v210" href="#v210">4.9 v210</a>64 <ul class="toc-numbered-mark">65 <li><a id="toc-Options-6" href="#Options-6">4.9.1 Options</a></li>66 </ul></li>67 </ul></li>68 <li><a id="toc-Audio-Decoders" href="#Audio-Decoders">5 Audio Decoders</a>69 <ul class="toc-numbered-mark">70 <li><a id="toc-ac3" href="#ac3">5.1 ac3</a>71 <ul class="toc-numbered-mark">72 <li><a id="toc-AC_002d3-Decoder-Options" href="#AC_002d3-Decoder-Options">5.1.1 AC-3 Decoder Options</a></li>73 </ul></li>74 <li><a id="toc-flac-1" href="#flac-1">5.2 flac</a>75 <ul class="toc-numbered-mark">76 <li><a id="toc-FLAC-Decoder-options" href="#FLAC-Decoder-options">5.2.1 FLAC Decoder options</a></li>77 </ul></li>78 <li><a id="toc-ffwavesynth" href="#ffwavesynth">5.3 ffwavesynth</a></li>79 <li><a id="toc-libcelt" href="#libcelt">5.4 libcelt</a></li>80 <li><a id="toc-libgsm" href="#libgsm">5.5 libgsm</a></li>81 <li><a id="toc-libilbc" href="#libilbc">5.6 libilbc</a>82 <ul class="toc-numbered-mark">83 <li><a id="toc-Options-7" href="#Options-7">5.6.1 Options</a></li>84 </ul></li>85 <li><a id="toc-libmpeghdec" href="#libmpeghdec">5.7 libmpeghdec</a></li>86 <li><a id="toc-libopencore_002damrnb" href="#libopencore_002damrnb">5.8 libopencore-amrnb</a></li>87 <li><a id="toc-libopencore_002damrwb" href="#libopencore_002damrwb">5.9 libopencore-amrwb</a></li>88 <li><a id="toc-libopus" href="#libopus">5.10 libopus</a></li>89 </ul></li>90 <li><a id="toc-Subtitles-Decoders" href="#Subtitles-Decoders">6 Subtitles Decoders</a>91 <ul class="toc-numbered-mark">92 <li><a id="toc-libaribb24" href="#libaribb24">6.1 libaribb24</a>93 <ul class="toc-numbered-mark">94 <li><a id="toc-libaribb24-Decoder-Options" href="#libaribb24-Decoder-Options">6.1.1 libaribb24 Decoder Options</a></li>95 </ul></li>96 <li><a id="toc-libaribcaption" href="#libaribcaption">6.2 libaribcaption</a>97 <ul class="toc-numbered-mark">98 <li><a id="toc-libaribcaption-Decoder-Options" href="#libaribcaption-Decoder-Options">6.2.1 libaribcaption Decoder Options</a></li>99 <li><a id="toc-libaribcaption-decoder-usage-examples" href="#libaribcaption-decoder-usage-examples">6.2.2 libaribcaption decoder usage examples</a></li>100 </ul></li>101 <li><a id="toc-dvbsub" href="#dvbsub">6.3 dvbsub</a>102 <ul class="toc-numbered-mark">103 <li><a id="toc-Options-8" href="#Options-8">6.3.1 Options</a></li>104 </ul></li>105 <li><a id="toc-dvdsub" href="#dvdsub">6.4 dvdsub</a>106 <ul class="toc-numbered-mark">107 <li><a id="toc-Options-9" href="#Options-9">6.4.1 Options</a></li>108 </ul></li>109 <li><a id="toc-libzvbi_002dteletext" href="#libzvbi_002dteletext">6.5 libzvbi-teletext</a>110 <ul class="toc-numbered-mark">111 <li><a id="toc-Options-10" href="#Options-10">6.5.1 Options</a></li>112 </ul></li>113 </ul></li>114 <li><a id="toc-Encoders" href="#Encoders">7 Encoders</a></li>115 <li><a id="toc-Audio-Encoders" href="#Audio-Encoders">8 Audio Encoders</a>116 <ul class="toc-numbered-mark">117 <li><a id="toc-aac" href="#aac">8.1 aac</a>118 <ul class="toc-numbered-mark">119 <li><a id="toc-Options-11" href="#Options-11">8.1.1 Options</a></li>120 </ul></li>121 <li><a id="toc-ac3-and-ac3_005ffixed" href="#ac3-and-ac3_005ffixed">8.2 ac3 and ac3_fixed</a>122 <ul class="toc-numbered-mark">123 <li><a id="toc-AC_002d3-Metadata" href="#AC_002d3-Metadata">8.2.1 AC-3 Metadata</a>124 <ul class="toc-numbered-mark">125 <li><a id="toc-Metadata-Control-Options" href="#Metadata-Control-Options">8.2.1.1 Metadata Control Options</a></li>126 <li><a id="toc-Downmix-Levels" href="#Downmix-Levels">8.2.1.2 Downmix Levels</a></li>127 <li><a id="toc-Audio-Production-Information" href="#Audio-Production-Information">8.2.1.3 Audio Production Information</a></li>128 <li><a id="toc-Other-Metadata-Options" href="#Other-Metadata-Options">8.2.1.4 Other Metadata Options</a></li>129 </ul></li>130 <li><a id="toc-Extended-Bitstream-Information" href="#Extended-Bitstream-Information">8.2.2 Extended Bitstream Information</a>131 <ul class="toc-numbered-mark">132 <li><a id="toc-Extended-Bitstream-Information-_002d-Part-1" href="#Extended-Bitstream-Information-_002d-Part-1">8.2.2.1 Extended Bitstream Information - Part 1</a></li>133 <li><a id="toc-Extended-Bitstream-Information-_002d-Part-2" href="#Extended-Bitstream-Information-_002d-Part-2">8.2.2.2 Extended Bitstream Information - Part 2</a></li>134 </ul></li>135 <li><a id="toc-Other-AC_002d3-Encoding-Options" href="#Other-AC_002d3-Encoding-Options">8.2.3 Other AC-3 Encoding Options</a></li>136 <li><a id="toc-Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options" href="#Floating_002dPoint_002dOnly-AC_002d3-Encoding-Options">8.2.4 Floating-Point-Only AC-3 Encoding Options</a></li>137 </ul></li>138 <li><a id="toc-flac-2" href="#flac-2">8.3 flac</a>139 <ul class="toc-numbered-mark">140 <li><a id="toc-Options-12" href="#Options-12">8.3.1 Options</a></li>141 </ul></li>142 <li><a id="toc-opus" href="#opus">8.4 opus</a>143 <ul class="toc-numbered-mark">144 <li><a id="toc-Options-13" href="#Options-13">8.4.1 Options</a></li>145 </ul></li>146 <li><a id="toc-libfdk_005faac" href="#libfdk_005faac">8.5 libfdk_aac</a>147 <ul class="toc-numbered-mark">148 <li><a id="toc-Options-14" href="#Options-14">8.5.1 Options</a></li>149 <li><a id="toc-Examples" href="#Examples">8.5.2 Examples</a></li>150 </ul></li>151 <li><a id="toc-liblc3" href="#liblc3">8.6 liblc3</a>152 <ul class="toc-numbered-mark">153 <li><a id="toc-Options-15" href="#Options-15">8.6.1 Options</a></li>154 </ul></li>155 <li><a id="toc-libmp3lame-1" href="#libmp3lame-1">8.7 libmp3lame</a>156 <ul class="toc-numbered-mark">157 <li><a id="toc-Options-16" href="#Options-16">8.7.1 Options</a></li>158 </ul></li>159 <li><a id="toc-libopencore_002damrnb-1" href="#libopencore_002damrnb-1">8.8 libopencore-amrnb</a>160 <ul class="toc-numbered-mark">161 <li><a id="toc-Options-17" href="#Options-17">8.8.1 Options</a></li>162 </ul></li>163 <li><a id="toc-libopus-1" href="#libopus-1">8.9 libopus</a>164 <ul class="toc-numbered-mark">165 <li><a id="toc-Option-Mapping" href="#Option-Mapping">8.9.1 Option Mapping</a></li>166 </ul></li>167 <li><a id="toc-libshine-1" href="#libshine-1">8.10 libshine</a>168 <ul class="toc-numbered-mark">169 <li><a id="toc-Options-18" href="#Options-18">8.10.1 Options</a></li>170 </ul></li>171 <li><a id="toc-libtwolame" href="#libtwolame">8.11 libtwolame</a>172 <ul class="toc-numbered-mark">173 <li><a id="toc-Options-19" href="#Options-19">8.11.1 Options</a></li>174 </ul></li>175 <li><a id="toc-libvo_002damrwbenc" href="#libvo_002damrwbenc">8.12 libvo-amrwbenc</a>176 <ul class="toc-numbered-mark">177 <li><a id="toc-Options-20" href="#Options-20">8.12.1 Options</a></li>178 </ul></li>179 <li><a id="toc-libvorbis" href="#libvorbis">8.13 libvorbis</a>180 <ul class="toc-numbered-mark">181 <li><a id="toc-Options-21" href="#Options-21">8.13.1 Options</a></li>182 </ul></li>183 <li><a id="toc-mjpeg" href="#mjpeg">8.14 mjpeg</a>184 <ul class="toc-numbered-mark">185 <li><a id="toc-Options-22" href="#Options-22">8.14.1 Options</a></li>186 </ul></li>187 <li><a id="toc-wavpack" href="#wavpack">8.15 wavpack</a>188 <ul class="toc-numbered-mark">189 <li><a id="toc-Options-23" href="#Options-23">8.15.1 Options</a>190 <ul class="toc-numbered-mark">191 <li><a id="toc-Shared-options" href="#Shared-options">8.15.1.1 Shared options</a></li>192 <li><a id="toc-Private-options" href="#Private-options">8.15.1.2 Private options</a></li>193 </ul></li>194 </ul></li>195 </ul></li>196 <li><a id="toc-Video-Encoders" href="#Video-Encoders">9 Video Encoders</a>197 <ul class="toc-numbered-mark">198 <li><a id="toc-a64_005fmulti_002c-a64_005fmulti5" href="#a64_005fmulti_002c-a64_005fmulti5">9.1 a64_multi, a64_multi5</a></li>199 <li><a id="toc-Cinepak" href="#Cinepak">9.2 Cinepak</a>200 <ul class="toc-numbered-mark">201 <li><a id="toc-Options-24" href="#Options-24">9.2.1 Options</a></li>202 </ul></li>203 <li><a id="toc-ffv1-1" href="#ffv1-1">9.3 ffv1</a>204 <ul class="toc-numbered-mark">205 <li><a id="toc-Options-25" href="#Options-25">9.3.1 Options</a></li>206 </ul></li>207 <li><a id="toc-GIF" href="#GIF">9.4 GIF</a>208 <ul class="toc-numbered-mark">209 <li><a id="toc-Options-26" href="#Options-26">9.4.1 Options</a></li>210 </ul></li>211 <li><a id="toc-Hap" href="#Hap">9.5 Hap</a>212 <ul class="toc-numbered-mark">213 <li><a id="toc-Options-27" href="#Options-27">9.5.1 Options</a></li>214 </ul></li>215 <li><a id="toc-jpeg2000" href="#jpeg2000">9.6 jpeg2000</a>216 <ul class="toc-numbered-mark">217 <li><a id="toc-Options-28" href="#Options-28">9.6.1 Options</a></li>218 </ul></li>219 <li><a id="toc-librav1e" href="#librav1e">9.7 librav1e</a>220 <ul class="toc-numbered-mark">221 <li><a id="toc-Options-29" href="#Options-29">9.7.1 Options</a></li>222 </ul></li>223 <li><a id="toc-libaom_002dav1" href="#libaom_002dav1">9.8 libaom-av1</a>224 <ul class="toc-numbered-mark">225 <li><a id="toc-Options-30" href="#Options-30">9.8.1 Options</a></li>226 </ul></li>227 <li><a id="toc-liboapv" href="#liboapv">9.9 liboapv</a>228 <ul class="toc-numbered-mark">229 <li><a id="toc-Options-31" href="#Options-31">9.9.1 Options</a></li>230 </ul></li>231 <li><a id="toc-libsvtav1" href="#libsvtav1">9.10 libsvtav1</a>232 <ul class="toc-numbered-mark">233 <li><a id="toc-Options-32" href="#Options-32">9.10.1 Options</a></li>234 </ul></li>235 <li><a id="toc-libsvtjpegxs" href="#libsvtjpegxs">9.11 libsvtjpegxs</a>236 <ul class="toc-numbered-mark">237 <li><a id="toc-Options-33" href="#Options-33">9.11.1 Options</a></li>238 </ul></li>239 <li><a id="toc-libjxl" href="#libjxl">9.12 libjxl</a>240 <ul class="toc-numbered-mark">241 <li><a id="toc-Options-34" href="#Options-34">9.12.1 Options</a></li>242 </ul></li>243 <li><a id="toc-libkvazaar" href="#libkvazaar">9.13 libkvazaar</a>244 <ul class="toc-numbered-mark">245 <li><a id="toc-Options-35" href="#Options-35">9.13.1 Options</a></li>246 </ul></li>247 <li><a id="toc-libopenh264" href="#libopenh264">9.14 libopenh264</a>248 <ul class="toc-numbered-mark">249 <li><a id="toc-Options-36" href="#Options-36">9.14.1 Options</a></li>250 </ul></li>251 <li><a id="toc-libtheora" href="#libtheora">9.15 libtheora</a>252 <ul class="toc-numbered-mark">253 <li><a id="toc-Options-37" href="#Options-37">9.15.1 Options</a></li>254 <li><a id="toc-Examples-1" href="#Examples-1">9.15.2 Examples</a></li>255 </ul></li>256 <li><a id="toc-libvpx" href="#libvpx">9.16 libvpx</a>257 <ul class="toc-numbered-mark">258 <li><a id="toc-Options-38" href="#Options-38">9.16.1 Options</a></li>259 </ul></li>260 <li><a id="toc-libvvenc" href="#libvvenc">9.17 libvvenc</a>261 <ul class="toc-numbered-mark">262 <li><a id="toc-Supported-Pixel-Formats" href="#Supported-Pixel-Formats">9.17.1 Supported Pixel Formats</a></li>263 <li><a id="toc-Options-39" href="#Options-39">9.17.2 Options</a></li>264 </ul></li>265 <li><a id="toc-libwebp" href="#libwebp">9.18 libwebp</a>266 <ul class="toc-numbered-mark">267 <li><a id="toc-Pixel-Format" href="#Pixel-Format">9.18.1 Pixel Format</a></li>268 <li><a id="toc-Options-40" href="#Options-40">9.18.2 Options</a></li>269 </ul></li>270 <li><a id="toc-libx264_002c-libx264rgb" href="#libx264_002c-libx264rgb">9.19 libx264, libx264rgb</a>271 <ul class="toc-numbered-mark">272 <li><a id="toc-Supported-Pixel-Formats-1" href="#Supported-Pixel-Formats-1">9.19.1 Supported Pixel Formats</a></li>273 <li><a id="toc-Options-41" href="#Options-41">9.19.2 Options</a></li>274 </ul></li>275 <li><a id="toc-libx265" href="#libx265">9.20 libx265</a>276 <ul class="toc-numbered-mark">277 <li><a id="toc-Options-42" href="#Options-42">9.20.1 Options</a></li>278 </ul></li>279 <li><a id="toc-libxavs2" href="#libxavs2">9.21 libxavs2</a>280 <ul class="toc-numbered-mark">281 <li><a id="toc-Options-43" href="#Options-43">9.21.1 Options</a></li>282 </ul></li>283 <li><a id="toc-libxeve" href="#libxeve">9.22 libxeve</a>284 <ul class="toc-numbered-mark">285 <li><a id="toc-Options-44" href="#Options-44">9.22.1 Options</a></li>286 </ul></li>287 <li><a id="toc-libxvid" href="#libxvid">9.23 libxvid</a>288 <ul class="toc-numbered-mark">289 <li><a id="toc-Options-45" href="#Options-45">9.23.1 Options</a></li>290 </ul></li>291 <li><a id="toc-MediaCodec" href="#MediaCodec">9.24 MediaCodec</a></li>292 <li><a id="toc-MediaFoundation" href="#MediaFoundation">9.25 MediaFoundation</a>293 <ul class="toc-numbered-mark">294 <li><a id="toc-Options-46" href="#Options-46">9.25.1 Options</a></li>295 <li><a id="toc-Examples-2" href="#Examples-2">9.25.2 Examples</a></li>296 </ul></li>297 <li><a id="toc-Microsoft-RLE" href="#Microsoft-RLE">9.26 Microsoft RLE</a>298 <ul class="toc-numbered-mark">299 <li><a id="toc-Options-47" href="#Options-47">9.26.1 Options</a></li>300 </ul></li>301 <li><a id="toc-mpeg2" href="#mpeg2">9.27 mpeg2</a>302 <ul class="toc-numbered-mark">303 <li><a id="toc-Options-48" href="#Options-48">9.27.1 Options</a></li>304 </ul></li>305 <li><a id="toc-png" href="#png">9.28 png</a>306 <ul class="toc-numbered-mark">307 <li><a id="toc-Options-49" href="#Options-49">9.28.1 Options</a></li>308 <li><a id="toc-Private-options-1" href="#Private-options-1">9.28.2 Private options</a></li>309 </ul></li>310 <li><a id="toc-ProRes" href="#ProRes">9.29 ProRes</a>311 <ul class="toc-numbered-mark">312 <li><a id="toc-Private-Options-for-prores_002dks" href="#Private-Options-for-prores_002dks">9.29.1 Private Options for prores-ks</a></li>313 <li><a id="toc-Speed-considerations" href="#Speed-considerations">9.29.2 Speed considerations</a></li>314 </ul></li>315 <li><a id="toc-QSV-Encoders" href="#QSV-Encoders">9.30 QSV Encoders</a>316 <ul class="toc-numbered-mark">317 <li><a id="toc-Ratecontrol-Method" href="#Ratecontrol-Method">9.30.1 Ratecontrol Method</a></li>318 <li><a id="toc-Global-Options-_002d_003e-MSDK-Options" href="#Global-Options-_002d_003e-MSDK-Options">9.30.2 Global Options -> MSDK Options</a></li>319 <li><a id="toc-Common-Options-1" href="#Common-Options-1">9.30.3 Common Options</a></li>320 <li><a id="toc-Runtime-Options" href="#Runtime-Options">9.30.4 Runtime Options</a></li>321 <li><a id="toc-H264-options" href="#H264-options">9.30.5 H264 options</a></li>322 <li><a id="toc-HEVC-Options-1" href="#HEVC-Options-1">9.30.6 HEVC Options</a></li>323 <li><a id="toc-MPEG2-Options" href="#MPEG2-Options">9.30.7 MPEG2 Options</a></li>324 <li><a id="toc-VP9-Options" href="#VP9-Options">9.30.8 VP9 Options</a></li>325 <li><a id="toc-AV1-Options" href="#AV1-Options">9.30.9 AV1 Options</a></li>326 </ul></li>327 <li><a id="toc-snow" href="#snow">9.31 snow</a>328 <ul class="toc-numbered-mark">329 <li><a id="toc-Options-50" href="#Options-50">9.31.1 Options</a></li>330 </ul></li>331 <li><a id="toc-VAAPI-encoders" href="#VAAPI-encoders">9.32 VAAPI encoders</a></li>332 <li><a id="toc-vbn" href="#vbn">9.33 vbn</a>333 <ul class="toc-numbered-mark">334 <li><a id="toc-Options-51" href="#Options-51">9.33.1 Options</a></li>335 </ul></li>336 <li><a id="toc-vc2" href="#vc2">9.34 vc2</a>337 <ul class="toc-numbered-mark">338 <li><a id="toc-Options-52" href="#Options-52">9.34.1 Options</a></li>339 </ul></li>340 </ul></li>341 <li><a id="toc-Subtitles-Encoders" href="#Subtitles-Encoders">10 Subtitles Encoders</a>342 <ul class="toc-numbered-mark">343 <li><a id="toc-dvbsub-1" href="#dvbsub-1">10.1 dvbsub</a>344 <ul class="toc-numbered-mark">345 <li><a id="toc-Options-53" href="#Options-53">10.1.1 Options</a></li>346 </ul></li>347 <li><a id="toc-dvdsub-1" href="#dvdsub-1">10.2 dvdsub</a>348 <ul class="toc-numbered-mark">349 <li><a id="toc-Options-54" href="#Options-54">10.2.1 Options</a></li>350 </ul></li>351 <li><a id="toc-lrc" href="#lrc">10.3 lrc</a>352 <ul class="toc-numbered-mark">353 <li><a id="toc-Options-55" href="#Options-55">10.3.1 Options</a></li>354 </ul></li>355 </ul></li>356 <li><a id="toc-See-Also" href="#See-Also">11 See Also</a></li>357 <li><a id="toc-Authors" href="#Authors">12 Authors</a></li>358</ul>359</div>360</div>361 362<a name="Description"></a>363<h2 class="chapter">1 Description<span class="pull-right"><a class="anchor hidden-xs" href="#Description" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Description" aria-hidden="true">TOC</a></span></h2>364 365<p>This document describes the codecs (decoders and encoders) provided by366the libavcodec library.367</p>368 369<a class="anchor" id="codec_002doptions"></a><a name="Codec-Options"></a>370<h2 class="chapter">2 Codec Options<span class="pull-right"><a class="anchor hidden-xs" href="#Codec-Options" aria-hidden="true">#</a> <a class="anchor hidden-xs"href="#toc-Codec-Options" aria-hidden="true">TOC</a></span></h2>371 372<p>libavcodec provides some generic global options, which can be set on373all the encoders and decoders. In addition, each codec may support374so-called private options, which are specific for a given codec.375</p>376<p>Sometimes, a global option may only affect a specific kind of codec,377and may be nonsensical or ignored by another, so you need to be aware378of the meaning of the specified options. Also some options are379meant only for decoding or encoding.380</p>381<p>Options may be set by specifying -<var class="var">option</var> <var class="var">value</var> in the382FFmpeg tools, or by setting the value explicitly in the383<code class="code">AVCodecContext</code> options or using the <samp class="file">libavutil/opt.h</samp> API384for programmatic use.385</p>386<p>The list of supported options follow:387</p>388<dl class="table">389<dt><samp class="option">b <var class="var">integer</var> (<em class="emph">encoding,audio,video</em>)</samp></dt>390<dd><p>Set bitrate in bits/s. Default value is 200K.391</p>392</dd>393<dt><samp class="option">ab <var class="var">integer</var> (<em class="emph">encoding,audio</em>)</samp></dt>394<dd><p>Set audio bitrate (in bits/s). Default value is 128K.395</p>396</dd>397<dt><samp class="option">bt <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>398<dd><p>Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate399tolerance specifies how far ratecontrol is willing to deviate from the400target average bitrate value. This is not related to min/max401bitrate. Lowering tolerance too much has an adverse effect on quality.402</p>403</dd>404<dt><samp class="option">flags <var class="var">flags</var> (<em class="emph">decoding/encoding,audio,video,subtitles</em>)</samp></dt>405<dd><p>Set generic flags.406</p>407<p>Possible values:408</p><dl class="table">409<dt>‘<samp class="samp">mv4</samp>’</dt>410<dd><p>Use four motion vector by macroblock (mpeg4).411</p></dd>412<dt>‘<samp class="samp">qpel</samp>’</dt>413<dd><p>Use 1/4 pel motion compensation.414</p></dd>415<dt>‘<samp class="samp">loop</samp>’</dt>416<dd><p>Use loop filter.417</p></dd>418<dt>‘<samp class="samp">qscale</samp>’</dt>419<dd><p>Use fixed qscale.420</p></dd>421<dt>‘<samp class="samp">pass1</samp>’</dt>422<dd><p>Use internal 2pass ratecontrol in first pass mode.423</p></dd>424<dt>‘<samp class="samp">pass2</samp>’</dt>425<dd><p>Use internal 2pass ratecontrol in second pass mode.426</p></dd>427<dt>‘<samp class="samp">gray</samp>’</dt>428<dd><p>Only decode/encode grayscale.429</p></dd>430<dt>‘<samp class="samp">psnr</samp>’</dt>431<dd><p>Set error[?] variables during encoding.432</p></dd>433<dt>‘<samp class="samp">truncated</samp>’</dt>434<dd><p>Input bitstream might be randomly truncated.435</p></dd>436<dt>‘<samp class="samp">drop_changed</samp>’</dt>437<dd><p>Don’t output frames whose parameters differ from first decoded frame in stream.438Error AVERROR_INPUT_CHANGED is returned when a frame is dropped.439</p>440</dd>441<dt>‘<samp class="samp">ildct</samp>’</dt>442<dd><p>Use interlaced DCT.443</p></dd>444<dt>‘<samp class="samp">low_delay</samp>’</dt>445<dd><p>Force low delay.446</p></dd>447<dt>‘<samp class="samp">global_header</samp>’</dt>448<dd><p>Place global headers in extradata instead of every keyframe.449</p></dd>450<dt>‘<samp class="samp">bitexact</samp>’</dt>451<dd><p>Only write platform-, build- and time-independent data. (except (I)DCT).452This ensures that file and data checksums are reproducible and match between453platforms. Its primary use is for regression testing.454</p></dd>455<dt>‘<samp class="samp">aic</samp>’</dt>456<dd><p>Apply H263 advanced intra coding / mpeg4 ac prediction.457</p></dd>458<dt>‘<samp class="samp">ilme</samp>’</dt>459<dd><p>Apply interlaced motion estimation.460</p></dd>461<dt>‘<samp class="samp">cgop</samp>’</dt>462<dd><p>Use closed gop.463</p></dd>464<dt>‘<samp class="samp">output_corrupt</samp>’</dt>465<dd><p>Output even potentially corrupted frames.466</p></dd>467</dl>468 469</dd>470<dt><samp class="option">time_base <var class="var">rational number</var></samp></dt>471<dd><p>Set codec time base.472</p>473<p>It is the fundamental unit of time (in seconds) in terms of which474frame timestamps are represented. For fixed-fps content, timebase475should be <code class="code">1 / frame_rate</code> and timestamp increments should be476identically 1.477</p>478</dd>479<dt><samp class="option">g <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>480<dd><p>Set the group of picture (GOP) size. Default value is 12.481</p>482</dd>483<dt><samp class="option">ar <var class="var">integer</var> (<em class="emph">decoding/encoding,audio</em>)</samp></dt>484<dd><p>Set audio sampling rate (in Hz).485</p>486</dd>487<dt><samp class="option">ac <var class="var">integer</var> (<em class="emph">decoding/encoding,audio</em>)</samp></dt>488<dd><p>Set number of audio channels.489</p>490</dd>491<dt><samp class="option">cutoff <var class="var">integer</var> (<em class="emph">encoding,audio</em>)</samp></dt>492<dd><p>Set cutoff bandwidth. (Supported only by selected encoders, see493their respective documentation sections.)494</p>495</dd>496<dt><samp class="option">frame_size <var class="var">integer</var> (<em class="emph">encoding,audio</em>)</samp></dt>497<dd><p>Set audio frame size.498</p>499<p>Each submitted frame except the last must contain exactly frame_size500samples per channel. May be 0 when the codec has501CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not502restricted. It is set by some decoders to indicate constant frame503size.504</p>505</dd>506<dt><samp class="option">frame_number <var class="var">integer</var></samp></dt>507<dd><p>Set the frame number.508</p>509</dd>510<dt><samp class="option">delay <var class="var">integer</var></samp></dt>511<dt><samp class="option">qcomp <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>512<dd><p>Set video quantizer scale compression (VBR). It is used as a constant513in the ratecontrol equation. Recommended range for default rc_eq:5140.0-1.0.515</p>516</dd>517<dt><samp class="option">qblur <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>518<dd><p>Set video quantizer scale blur (VBR).519</p>520</dd>521<dt><samp class="option">qmin <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>522<dd><p>Set min video quantizer scale (VBR). Must be included between -1 and52369, default value is 2.524</p>525</dd>526<dt><samp class="option">qmax <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>527<dd><p>Set max video quantizer scale (VBR). Must be included between -1 and5281024, default value is 31.529</p>530</dd>531<dt><samp class="option">qdiff <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>532<dd><p>Set max difference between the quantizer scale (VBR).533</p>534</dd>535<dt><samp class="option">bf <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>536<dd><p>Set max number of B frames between non-B-frames.537</p>538<p>Must be an integer between -1 and 16. 0 means that B-frames are539disabled. If a value of -1 is used, it will choose an automatic value540depending on the encoder.541</p>542<p>Default value is 0.543</p>544</dd>545<dt><samp class="option">b_qfactor <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>546<dd><p>Set qp factor between P and B frames.547</p>548</dd>549<dt><samp class="option">codec_tag <var class="var">integer</var></samp></dt>550<dt><samp class="option">bug <var class="var">flags</var> (<em class="emph">decoding,video</em>)</samp></dt>551<dd><p>Workaround not auto detected encoder bugs.552</p>553<p>Possible values:554</p><dl class="table">555<dt>‘<samp class="samp">autodetect</samp>’</dt>556<dt>‘<samp class="samp">xvid_ilace</samp>’</dt>557<dd><p>Xvid interlacing bug (autodetected if fourcc==XVIX)558</p></dd>559<dt>‘<samp class="samp">ump4</samp>’</dt>560<dd><p>(autodetected if fourcc==UMP4)561</p></dd>562<dt>‘<samp class="samp">no_padding</samp>’</dt>563<dd><p>padding bug (autodetected)564</p></dd>565<dt>‘<samp class="samp">amv</samp>’</dt>566<dt>‘<samp class="samp">qpel_chroma</samp>’</dt>567<dt>‘<samp class="samp">std_qpel</samp>’</dt>568<dd><p>old standard qpel (autodetected per fourcc/version)569</p></dd>570<dt>‘<samp class="samp">qpel_chroma2</samp>’</dt>571<dt>‘<samp class="samp">direct_blocksize</samp>’</dt>572<dd><p>direct-qpel-blocksize bug (autodetected per fourcc/version)573</p></dd>574<dt>‘<samp class="samp">edge</samp>’</dt>575<dd><p>edge padding bug (autodetected per fourcc/version)576</p></dd>577<dt>‘<samp class="samp">hpel_chroma</samp>’</dt>578<dt>‘<samp class="samp">dc_clip</samp>’</dt>579<dt>‘<samp class="samp">ms</samp>’</dt>580<dd><p>Workaround various bugs in microsoft broken decoders.581</p></dd>582<dt>‘<samp class="samp">trunc</samp>’</dt>583<dd><p>trancated frames584</p></dd>585</dl>586 587</dd>588<dt><samp class="option">strict <var class="var">integer</var> (<em class="emph">decoding/encoding,audio,video</em>)</samp></dt>589<dd><p>Specify how strictly to follow the standards.590</p>591<p>Possible values:592</p><dl class="table">593<dt>‘<samp class="samp">very</samp>’</dt>594<dd><p>strictly conform to an older more strict version of the spec or reference software595</p></dd>596<dt>‘<samp class="samp">strict</samp>’</dt>597<dd><p>strictly conform to all the things in the spec no matter what consequences598</p></dd>599<dt>‘<samp class="samp">normal</samp>’</dt>600<dt>‘<samp class="samp">unofficial</samp>’</dt>601<dd><p>allow unofficial extensions602</p></dd>603<dt>‘<samp class="samp">experimental</samp>’</dt>604<dd><p>allow non standardized experimental things, experimental605(unfinished/work in progress/not well tested) decoders and encoders.606Note: experimental decoders can pose a security risk, do not use this for607decoding untrusted input.608</p></dd>609</dl>610 611</dd>612<dt><samp class="option">b_qoffset <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>613<dd><p>Set QP offset between P and B frames.614</p>615</dd>616<dt><samp class="option">err_detect <var class="var">flags</var> (<em class="emph">decoding,audio,video</em>)</samp></dt>617<dd><p>Set error detection flags.618</p>619<p>Possible values:620</p><dl class="table">621<dt>‘<samp class="samp">crccheck</samp>’</dt>622<dd><p>verify embedded CRCs623</p></dd>624<dt>‘<samp class="samp">bitstream</samp>’</dt>625<dd><p>detect bitstream specification deviations626</p></dd>627<dt>‘<samp class="samp">buffer</samp>’</dt>628<dd><p>detect improper bitstream length629</p></dd>630<dt>‘<samp class="samp">explode</samp>’</dt>631<dd><p>abort decoding on minor error detection632</p></dd>633<dt>‘<samp class="samp">ignore_err</samp>’</dt>634<dd><p>ignore decoding errors, and continue decoding.635This is useful if you want to analyze the content of a video and thus want636everything to be decoded no matter what. This option will not result in a video637that is pleasing to watch in case of errors.638</p></dd>639<dt>‘<samp class="samp">careful</samp>’</dt>640<dd><p>consider things that violate the spec and have not been seen in the wild as errors641</p></dd>642<dt>‘<samp class="samp">compliant</samp>’</dt>643<dd><p>consider all spec non compliancies as errors644</p></dd>645<dt>‘<samp class="samp">aggressive</samp>’</dt>646<dd><p>consider things that a sane encoder should not do as an error647</p></dd>648</dl>649 650</dd>651<dt><samp class="option">has_b_frames <var class="var">integer</var></samp></dt>652<dt><samp class="option">block_align <var class="var">integer</var></samp></dt>653<dt><samp class="option">rc_override_count <var class="var">integer</var></samp></dt>654<dt><samp class="option">maxrate <var class="var">integer</var> (<em class="emph">encoding,audio,video</em>)</samp></dt>655<dd><p>Set max bitrate tolerance (in bits/s). Requires bufsize to be set.656</p>657</dd>658<dt><samp class="option">minrate <var class="var">integer</var> (<em class="emph">encoding,audio,video</em>)</samp></dt>659<dd><p>Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR660encode. It is of little use elsewise.661</p>662</dd>663<dt><samp class="option">bufsize <var class="var">integer</var> (<em class="emph">encoding,audio,video</em>)</samp></dt>664<dd><p>Set ratecontrol buffer size (in bits).665</p>666</dd>667<dt><samp class="option">i_qfactor <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>668<dd><p>Set QP factor between P and I frames.669</p>670</dd>671<dt><samp class="option">i_qoffset <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>672<dd><p>Set QP offset between P and I frames.673</p>674</dd>675<dt><samp class="option">dct <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>676<dd><p>Set DCT algorithm.677</p>678<p>Possible values:679</p><dl class="table">680<dt>‘<samp class="samp">auto</samp>’</dt>681<dd><p>autoselect a good one (default)682</p></dd>683<dt>‘<samp class="samp">fastint</samp>’</dt>684<dd><p>fast integer685</p></dd>686<dt>‘<samp class="samp">int</samp>’</dt>687<dd><p>accurate integer688</p></dd>689<dt>‘<samp class="samp">mmx</samp>’</dt>690<dt>‘<samp class="samp">altivec</samp>’</dt>691<dt>‘<samp class="samp">faan</samp>’</dt>692<dd><p>floating point AAN DCT693</p></dd>694</dl>695 696</dd>697<dt><samp class="option">lumi_mask <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>698<dd><p>Compress bright areas stronger than medium ones.699</p>700</dd>701<dt><samp class="option">tcplx_mask <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>702<dd><p>Set temporal complexity masking.703</p>704</dd>705<dt><samp class="option">scplx_mask <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>706<dd><p>Set spatial complexity masking.707</p>708</dd>709<dt><samp class="option">p_mask <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>710<dd><p>Set inter masking.711</p>712</dd>713<dt><samp class="option">dark_mask <var class="var">float</var> (<em class="emph">encoding,video</em>)</samp></dt>714<dd><p>Compress dark areas stronger than medium ones.715</p>716</dd>717<dt><samp class="option">idct <var class="var">integer</var> (<em class="emph">decoding/encoding,video</em>)</samp></dt>718<dd><p>Select IDCT implementation.719</p>720<p>Possible values:721</p><dl class="table">722<dt>‘<samp class="samp">auto</samp>’</dt>723<dt>‘<samp class="samp">int</samp>’</dt>724<dt>‘<samp class="samp">simple</samp>’</dt>725<dt>‘<samp class="samp">simplemmx</samp>’</dt>726<dt>‘<samp class="samp">simpleauto</samp>’</dt>727<dd><p>Automatically pick a IDCT compatible with the simple one728</p>729</dd>730<dt>‘<samp class="samp">arm</samp>’</dt>731<dt>‘<samp class="samp">altivec</samp>’</dt>732<dt>‘<samp class="samp">sh4</samp>’</dt>733<dt>‘<samp class="samp">simplearm</samp>’</dt>734<dt>‘<samp class="samp">simplearmv5te</samp>’</dt>735<dt>‘<samp class="samp">simplearmv6</samp>’</dt>736<dt>‘<samp class="samp">simpleneon</samp>’</dt>737<dt>‘<samp class="samp">xvid</samp>’</dt>738<dt>‘<samp class="samp">faani</samp>’</dt>739<dd><p>floating point AAN IDCT740</p></dd>741</dl>742 743</dd>744<dt><samp class="option">slice_count <var class="var">integer</var></samp></dt>745<dt><samp class="option">ec <var class="var">flags</var> (<em class="emph">decoding,video</em>)</samp></dt>746<dd><p>Set error concealment strategy.747</p>748<p>Possible values:749</p><dl class="table">750<dt>‘<samp class="samp">guess_mvs</samp>’</dt>751<dd><p>iterative motion vector (MV) search (slow)752</p></dd>753<dt>‘<samp class="samp">deblock</samp>’</dt>754<dd><p>use strong deblock filter for damaged MBs755</p></dd>756<dt>‘<samp class="samp">favor_inter</samp>’</dt>757<dd><p>favor predicting from the previous frame instead of the current758</p></dd>759</dl>760 761</dd>762<dt><samp class="option">bits_per_coded_sample <var class="var">integer</var></samp></dt>763<dt><samp class="option">aspect <var class="var">rational number</var> (<em class="emph">encoding,video</em>)</samp></dt>764<dd><p>Set sample aspect ratio.765</p>766</dd>767<dt><samp class="option">sar <var class="var">rational number</var> (<em class="emph">encoding,video</em>)</samp></dt>768<dd><p>Set sample aspect ratio. Alias to <var class="var">aspect</var>.769</p>770</dd>771<dt><samp class="option">debug <var class="var">flags</var> (<em class="emph">decoding/encoding,audio,video,subtitles</em>)</samp></dt>772<dd><p>Print specific debug info.773</p>774<p>Possible values:775</p><dl class="table">776<dt>‘<samp class="samp">pict</samp>’</dt>777<dd><p>picture info778</p></dd>779<dt>‘<samp class="samp">rc</samp>’</dt>780<dd><p>rate control781</p></dd>782<dt>‘<samp class="samp">bitstream</samp>’</dt>783<dt>‘<samp class="samp">mb_type</samp>’</dt>784<dd><p>macroblock (MB) type785</p></dd>786<dt>‘<samp class="samp">qp</samp>’</dt>787<dd><p>per-block quantization parameter (QP)788</p></dd>789<dt>‘<samp class="samp">dct_coeff</samp>’</dt>790<dt>‘<samp class="samp">green_metadata</samp>’</dt>791<dd><p>display complexity metadata for the upcoming frame, GoP or for a given duration.792</p>793</dd>794<dt>‘<samp class="samp">skip</samp>’</dt>795<dt>‘<samp class="samp">startcode</samp>’</dt>796<dt>‘<samp class="samp">er</samp>’</dt>797<dd><p>error recognition798</p></dd>799<dt>‘<samp class="samp">mmco</samp>’</dt>800<dd><p>memory management control operations (H.264)801</p></dd>802<dt>‘<samp class="samp">bugs</samp>’</dt>803<dt>‘<samp class="samp">buffers</samp>’</dt>804<dd><p>picture buffer allocations805</p></dd>806<dt>‘<samp class="samp">thread_ops</samp>’</dt>807<dd><p>threading operations808</p></dd>809<dt>‘<samp class="samp">nomc</samp>’</dt>810<dd><p>skip motion compensation811</p></dd>812</dl>813 814</dd>815<dt><samp class="option">cmp <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>816<dd><p>Set full pel me compare function.817</p>818<p>Possible values:819</p><dl class="table">820<dt>‘<samp class="samp">sad</samp>’</dt>821<dd><p>sum of absolute differences, fast (default)822</p></dd>823<dt>‘<samp class="samp">sse</samp>’</dt>824<dd><p>sum of squared errors825</p></dd>826<dt>‘<samp class="samp">satd</samp>’</dt>827<dd><p>sum of absolute Hadamard transformed differences828</p></dd>829<dt>‘<samp class="samp">dct</samp>’</dt>830<dd><p>sum of absolute DCT transformed differences831</p></dd>832<dt>‘<samp class="samp">psnr</samp>’</dt>833<dd><p>sum of squared quantization errors (avoid, low quality)834</p></dd>835<dt>‘<samp class="samp">bit</samp>’</dt>836<dd><p>number of bits needed for the block837</p></dd>838<dt>‘<samp class="samp">rd</samp>’</dt>839<dd><p>rate distortion optimal, slow840</p></dd>841<dt>‘<samp class="samp">zero</samp>’</dt>842<dd><p>0843</p></dd>844<dt>‘<samp class="samp">vsad</samp>’</dt>845<dd><p>sum of absolute vertical differences846</p></dd>847<dt>‘<samp class="samp">vsse</samp>’</dt>848<dd><p>sum of squared vertical differences849</p></dd>850<dt>‘<samp class="samp">nsse</samp>’</dt>851<dd><p>noise preserving sum of squared differences852</p></dd>853<dt>‘<samp class="samp">w53</samp>’</dt>854<dd><p>5/3 wavelet, only used in snow855</p></dd>856<dt>‘<samp class="samp">w97</samp>’</dt>857<dd><p>9/7 wavelet, only used in snow858</p></dd>859<dt>‘<samp class="samp">dctmax</samp>’</dt>860<dt>‘<samp class="samp">chroma</samp>’</dt>861</dl>862 863</dd>864<dt><samp class="option">subcmp <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>865<dd><p>Set sub pel me compare function.866</p>867<p>Possible values:868</p><dl class="table">869<dt>‘<samp class="samp">sad</samp>’</dt>870<dd><p>sum of absolute differences, fast (default)871</p></dd>872<dt>‘<samp class="samp">sse</samp>’</dt>873<dd><p>sum of squared errors874</p></dd>875<dt>‘<samp class="samp">satd</samp>’</dt>876<dd><p>sum of absolute Hadamard transformed differences877</p></dd>878<dt>‘<samp class="samp">dct</samp>’</dt>879<dd><p>sum of absolute DCT transformed differences880</p></dd>881<dt>‘<samp class="samp">psnr</samp>’</dt>882<dd><p>sum of squared quantization errors (avoid, low quality)883</p></dd>884<dt>‘<samp class="samp">bit</samp>’</dt>885<dd><p>number of bits needed for the block886</p></dd>887<dt>‘<samp class="samp">rd</samp>’</dt>888<dd><p>rate distortion optimal, slow889</p></dd>890<dt>‘<samp class="samp">zero</samp>’</dt>891<dd><p>0892</p></dd>893<dt>‘<samp class="samp">vsad</samp>’</dt>894<dd><p>sum of absolute vertical differences895</p></dd>896<dt>‘<samp class="samp">vsse</samp>’</dt>897<dd><p>sum of squared vertical differences898</p></dd>899<dt>‘<samp class="samp">nsse</samp>’</dt>900<dd><p>noise preserving sum of squared differences901</p></dd>902<dt>‘<samp class="samp">w53</samp>’</dt>903<dd><p>5/3 wavelet, only used in snow904</p></dd>905<dt>‘<samp class="samp">w97</samp>’</dt>906<dd><p>9/7 wavelet, only used in snow907</p></dd>908<dt>‘<samp class="samp">dctmax</samp>’</dt>909<dt>‘<samp class="samp">chroma</samp>’</dt>910</dl>911 912</dd>913<dt><samp class="option">mbcmp <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>914<dd><p>Set macroblock compare function.915</p>916<p>Possible values:917</p><dl class="table">918<dt>‘<samp class="samp">sad</samp>’</dt>919<dd><p>sum of absolute differences, fast (default)920</p></dd>921<dt>‘<samp class="samp">sse</samp>’</dt>922<dd><p>sum of squared errors923</p></dd>924<dt>‘<samp class="samp">satd</samp>’</dt>925<dd><p>sum of absolute Hadamard transformed differences926</p></dd>927<dt>‘<samp class="samp">dct</samp>’</dt>928<dd><p>sum of absolute DCT transformed differences929</p></dd>930<dt>‘<samp class="samp">psnr</samp>’</dt>931<dd><p>sum of squared quantization errors (avoid, low quality)932</p></dd>933<dt>‘<samp class="samp">bit</samp>’</dt>934<dd><p>number of bits needed for the block935</p></dd>936<dt>‘<samp class="samp">rd</samp>’</dt>937<dd><p>rate distortion optimal, slow938</p></dd>939<dt>‘<samp class="samp">zero</samp>’</dt>940<dd><p>0941</p></dd>942<dt>‘<samp class="samp">vsad</samp>’</dt>943<dd><p>sum of absolute vertical differences944</p></dd>945<dt>‘<samp class="samp">vsse</samp>’</dt>946<dd><p>sum of squared vertical differences947</p></dd>948<dt>‘<samp class="samp">nsse</samp>’</dt>949<dd><p>noise preserving sum of squared differences950</p></dd>951<dt>‘<samp class="samp">w53</samp>’</dt>952<dd><p>5/3 wavelet, only used in snow953</p></dd>954<dt>‘<samp class="samp">w97</samp>’</dt>955<dd><p>9/7 wavelet, only used in snow956</p></dd>957<dt>‘<samp class="samp">dctmax</samp>’</dt>958<dt>‘<samp class="samp">chroma</samp>’</dt>959</dl>960 961</dd>962<dt><samp class="option">ildctcmp <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>963<dd><p>Set interlaced dct compare function.964</p>965<p>Possible values:966</p><dl class="table">967<dt>‘<samp class="samp">sad</samp>’</dt>968<dd><p>sum of absolute differences, fast (default)969</p></dd>970<dt>‘<samp class="samp">sse</samp>’</dt>971<dd><p>sum of squared errors972</p></dd>973<dt>‘<samp class="samp">satd</samp>’</dt>974<dd><p>sum of absolute Hadamard transformed differences975</p></dd>976<dt>‘<samp class="samp">dct</samp>’</dt>977<dd><p>sum of absolute DCT transformed differences978</p></dd>979<dt>‘<samp class="samp">psnr</samp>’</dt>980<dd><p>sum of squared quantization errors (avoid, low quality)981</p></dd>982<dt>‘<samp class="samp">bit</samp>’</dt>983<dd><p>number of bits needed for the block984</p></dd>985<dt>‘<samp class="samp">rd</samp>’</dt>986<dd><p>rate distortion optimal, slow987</p></dd>988<dt>‘<samp class="samp">zero</samp>’</dt>989<dd><p>0990</p></dd>991<dt>‘<samp class="samp">vsad</samp>’</dt>992<dd><p>sum of absolute vertical differences993</p></dd>994<dt>‘<samp class="samp">vsse</samp>’</dt>995<dd><p>sum of squared vertical differences996</p></dd>997<dt>‘<samp class="samp">nsse</samp>’</dt>998<dd><p>noise preserving sum of squared differences999</p></dd>1000<dt>‘<samp class="samp">w53</samp>’</dt>1001<dd><p>5/3 wavelet, only used in snow1002</p></dd>1003<dt>‘<samp class="samp">w97</samp>’</dt>1004<dd><p>9/7 wavelet, only used in snow1005</p></dd>1006<dt>‘<samp class="samp">dctmax</samp>’</dt>1007<dt>‘<samp class="samp">chroma</samp>’</dt>1008</dl>1009 1010</dd>1011<dt><samp class="option">dia_size <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1012<dd><p>Set diamond type & size for motion estimation.1013</p><dl class="table">1014<dt>‘<samp class="samp">(1024, INT_MAX)</samp>’</dt>1015<dd><p>full motion estimation(slowest)1016</p></dd>1017<dt>‘<samp class="samp">(768, 1024]</samp>’</dt>1018<dd><p>umh motion estimation1019</p></dd>1020<dt>‘<samp class="samp">(512, 768]</samp>’</dt>1021<dd><p>hex motion estimation1022</p></dd>1023<dt>‘<samp class="samp">(256, 512]</samp>’</dt>1024<dd><p>l2s diamond motion estimation1025</p></dd>1026<dt>‘<samp class="samp">[2,256]</samp>’</dt>1027<dd><p>var diamond motion estimation1028</p></dd>1029<dt>‘<samp class="samp">(-1, 2)</samp>’</dt>1030<dd><p>small diamond motion estimation1031</p></dd>1032<dt>‘<samp class="samp">-1</samp>’</dt>1033<dd><p>funny diamond motion estimation1034</p></dd>1035<dt>‘<samp class="samp">(INT_MIN, -1)</samp>’</dt>1036<dd><p>sab diamond motion estimation1037</p></dd>1038</dl>1039 1040</dd>1041<dt><samp class="option">last_pred <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1042<dd><p>Set amount of motion predictors from the previous frame.1043</p>1044</dd>1045<dt><samp class="option">precmp <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1046<dd><p>Set pre motion estimation compare function.1047</p>1048<p>Possible values:1049</p><dl class="table">1050<dt>‘<samp class="samp">sad</samp>’</dt>1051<dd><p>sum of absolute differences, fast (default)1052</p></dd>1053<dt>‘<samp class="samp">sse</samp>’</dt>1054<dd><p>sum of squared errors1055</p></dd>1056<dt>‘<samp class="samp">satd</samp>’</dt>1057<dd><p>sum of absolute Hadamard transformed differences1058</p></dd>1059<dt>‘<samp class="samp">dct</samp>’</dt>1060<dd><p>sum of absolute DCT transformed differences1061</p></dd>1062<dt>‘<samp class="samp">psnr</samp>’</dt>1063<dd><p>sum of squared quantization errors (avoid, low quality)1064</p></dd>1065<dt>‘<samp class="samp">bit</samp>’</dt>1066<dd><p>number of bits needed for the block1067</p></dd>1068<dt>‘<samp class="samp">rd</samp>’</dt>1069<dd><p>rate distortion optimal, slow1070</p></dd>1071<dt>‘<samp class="samp">zero</samp>’</dt>1072<dd><p>01073</p></dd>1074<dt>‘<samp class="samp">vsad</samp>’</dt>1075<dd><p>sum of absolute vertical differences1076</p></dd>1077<dt>‘<samp class="samp">vsse</samp>’</dt>1078<dd><p>sum of squared vertical differences1079</p></dd>1080<dt>‘<samp class="samp">nsse</samp>’</dt>1081<dd><p>noise preserving sum of squared differences1082</p></dd>1083<dt>‘<samp class="samp">w53</samp>’</dt>1084<dd><p>5/3 wavelet, only used in snow1085</p></dd>1086<dt>‘<samp class="samp">w97</samp>’</dt>1087<dd><p>9/7 wavelet, only used in snow1088</p></dd>1089<dt>‘<samp class="samp">dctmax</samp>’</dt>1090<dt>‘<samp class="samp">chroma</samp>’</dt>1091</dl>1092 1093</dd>1094<dt><samp class="option">pre_dia_size <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1095<dd><p>Set diamond type & size for motion estimation pre-pass.1096</p>1097</dd>1098<dt><samp class="option">subq <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1099<dd><p>Set sub pel motion estimation quality.1100</p>1101</dd>1102<dt><samp class="option">me_range <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1103<dd><p>Set limit motion vectors range (1023 for DivX player).1104</p>1105</dd>1106<dt><samp class="option">global_quality <var class="var">integer</var> (<em class="emph">encoding,audio,video</em>)</samp></dt>1107<dt><samp class="option">slice_flags <var class="var">integer</var></samp></dt>1108<dt><samp class="option">mbd <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1109<dd><p>Set macroblock decision algorithm (high quality mode).1110</p>1111<p>Possible values:1112</p><dl class="table">1113<dt>‘<samp class="samp">simple</samp>’</dt>1114<dd><p>use mbcmp (default)1115</p></dd>1116<dt>‘<samp class="samp">bits</samp>’</dt>1117<dd><p>use fewest bits1118</p></dd>1119<dt>‘<samp class="samp">rd</samp>’</dt>1120<dd><p>use best rate distortion1121</p></dd>1122</dl>1123 1124</dd>1125<dt><samp class="option">rc_init_occupancy <var class="var">integer</var> (<em class="emph">encoding,video</em>)</samp></dt>1126<dd><p>Set number of bits which should be loaded into the rc buffer before1127decoding starts.1128</p>1129</dd>1130<dt><samp class="option">flags2 <var class="var">flags</var> (<em class="emph">decoding/encoding,audio,video,subtitles</em>)</samp></dt>1131<dd>1132<p>Possible values:1133</p><dl class="table">1134<dt>‘<samp class="samp">fast</samp>’</dt>1135<dd><p>Allow non spec compliant speedup tricks.1136</p></dd>1137<dt>‘<samp class="samp">noout</samp>’</dt>1138<dd><p>Skip bitstream encoding.1139</p></dd>1140<dt>‘<samp class="samp">ignorecrop</samp>’</dt>1141<dd><p>Ignore cropping information from sps.1142</p></dd>1143<dt>‘<samp class="samp">local_header</samp>’</dt>1144<dd><p>Place global headers at every keyframe instead of in extradata.1145</p></dd>1146<dt>‘<samp class="samp">chunks</samp>’</dt>1147<dd><p>Frame data might be split into multiple chunks.1148</p></dd>1149<dt>‘<samp class="samp">showall</samp>’</dt>1150<dd><p>Show all frames before the first keyframe.1151</p></dd>1152<dt>‘<samp class="samp">export_mvs</samp>’</dt>1153<dd><p>Export motion vectors into frame side-data (see <code class="code">AV_FRAME_DATA_MOTION_VECTORS</code>)1154for codecs that support it. See also <samp class="file">doc/examples/export_mvs.c</samp>.1155</p></dd>1156<dt>‘<samp class="samp">skip_manual</samp>’</dt>1157<dd><p>Do not skip samples and export skip information as frame side data.1158</p></dd>1159<dt>‘<samp class="samp">ass_ro_flush_noop</samp>’</dt>1160<dd><p>Do not reset ASS ReadOrder field on flush.1161</p></dd>1162<dt>‘<samp class="samp">icc_profiles</samp>’</dt>1163<dd><p>Generate/parse embedded ICC profiles from/to colorimetry tags.1164</p></dd>1165</dl>1166 1167</dd>1168<dt><samp class="option">export_side_data <var class="var">flags</var> (<em class="emph">decoding/encoding,audio,video,subtitles</em>)</samp></dt>1169<dd>1170<p>Possible values:1171</p><dl class="table">1172<dt>‘<samp class="samp">mvs</samp>’</dt>1173<dd><p>Export motion vectors into frame side-data (see <code class="code">AV_FRAME_DATA_MOTION_VECTORS</code>)1174for codecs that support it. See also <samp class="file">doc/examples/export_mvs.c</samp>.1175</p></dd>1176<dt>‘<samp class="samp">prft</samp>’</dt>1177<dd><p>Export encoder Producer Reference Time into packet side-data (see <code class="code">AV_PKT_DATA_PRFT</code>)1178for codecs that support it.1179</p></dd>1180<dt>‘<samp class="samp">venc_params</samp>’</dt>1181<dd><p>Export video encoding parameters through frame side data (see <code class="code">AV_FRAME_DATA_VIDEO_ENC_PARAMS</code>)1182for codecs that support it. At present, those are H.264 and VP9.1183</p></dd>1184<dt>‘<samp class="samp">film_grain</samp>’</dt>1185<dd><p>Export film grain parameters through frame side data (see <code class="code">AV_FRAME_DATA_FILM_GRAIN_PARAMS</code>).1186Supported at present by AV1 decoders.1187</p></dd>1188<dt>‘<samp class="samp">enhancements</samp>’</dt>1189<dd><p>Export picture enhancement metadata through frame side data, e.g. LCEVC (see <code class="code">AV_FRAME_DATA_LCEVC</code>).1190</p></dd>1191</dl>1192 1193</dd>1194<dt><samp class="option">threads <var class="var">integer</var> (<em class="emph">decoding/encoding,video</em>)</samp></dt>1195<dd><p>Set the number of threads to be used, in case the selected codec1196implementation supports multi-threading.1197</p>1198<p>Possible values:1199</p><dl class="table">1200<dt>‘<samp class="samp">auto, 0</samp>’</dt>