Unified · Split
| @@ -1370,6 +1370,115 @@ makes it possible to store non-rgb pix_fmts. · 1369 unmodified lines | |||
| 1370 | 1370 | ||
| 1371 | @end table | 1371 | @end table |
| 1372 | 1372 | ||
| 1373 | @section libaom-av1 | ||
| 1374 | |||
| 1375 | libaom AV1 encoder wrapper. | ||
| 1376 | |||
| 1377 | Requires the presence of the libaom headers and library during | ||
| 1378 | configuration. You need to explicitly configure the build with | ||
| 1379 | @code{--enable-libaom}. | ||
| 1380 | |||
| 1381 | @subsection Options | ||
| 1382 | |||
| 1383 | The wrapper supports the following standard libavcodec options: | ||
| 1384 | |||
| 1385 | @table @option | ||
| 1386 | |||
| 1387 | @item b | ||
| 1388 | Set bitrate target in bits/second. By default this will use | ||
| 1389 | variable-bitrate mode. If @option{maxrate} and @option{minrate} are | ||
| 1390 | also set to the same value then it will use constant-bitrate mode, | ||
| 1391 | otherwise if @option{crf} is set as well then it will use | ||
| 1392 | constrained-quality mode. | ||
| 1393 | |||
| 1394 | @item g keyint_min | ||
| 1395 | Set key frame placement. The GOP size sets the maximum distance between | ||
| 1396 | key frames; if zero the output stream will be intra-only. The minimum | ||
| 1397 | distance is ignored unless it is the same as the GOP size, in which case | ||
| 1398 | key frames will always appear at a fixed interval. Not set by default, | ||
| 1399 | so without this option the library has completely free choice about | ||
| 1400 | where to place key frames. | ||
| 1401 | |||
| 1402 | @item qmin qmax | ||
| 1403 | Set minimum/maximum quantisation values. Valid range is from 0 to 63 | ||
| 1404 | (warning: this does not match the quantiser values actually used by AV1 | ||
| 1405 | - divide by four to map real quantiser values to this range). Defaults | ||
| 1406 | to min/max (no constraint). | ||
| 1407 | |||
| 1408 | @item minrate maxrate bufsize rc_init_occupancy | ||
| 1409 | Set rate control buffering parameters. Not used if not set - defaults | ||
| 1410 | to unconstrained variable bitrate. | ||
| 1411 | |||
| 1412 | @item threads | ||
| 1413 | Set the number of threads to use while encoding. This may require the | ||
| 1414 | @option{tiles} option to also be set to actually use the specified | ||
| 1415 | number of threads fully. Defaults to the number of hardware threads | ||
| 1416 | supported by the host machine. | ||
| 1417 | |||
| 1418 | @item profile | ||
| 1419 | Set the encoding profile. Defaults to using the profile which matches | ||
| 1420 | the bit depth and chroma subsampling of the input. | ||
| 1421 | |||
| 1422 | @end table | ||
| 1423 | |||
| 1424 | The wrapper also has some specific options: | ||
| 1425 | |||
| 1426 | @table @option | ||
| 1427 | |||
| 1428 | @item cpu-used | ||
| 1429 | Set the quality/encoding speed tradeoff. Valid range is from 0 to 8, | ||
| 1430 | higher numbers indicating greater speed and lower quality. The default | ||
| 1431 | value is 1, which will be slow and high quality. | ||
| 1432 | |||
| 1433 | @item auto-alt-ref | ||
| 1434 | Enable use of alternate reference frames. Defaults to the internal | ||
| 1435 | default of the library. | ||
| 1436 | |||
| 1437 | @item lag-in-frames | ||
| 1438 | Set the maximum number of frames which the encoder may keep in flight | ||
| 1439 | at any one time for lookahead purposes. Defaults to the internal | ||
| 1440 | default of the library. | ||
| 1441 | |||
| 1442 | @item error-resilience | ||
| 1443 | Enable error resilience features: | ||
| 1444 | @table @option | ||
| 1445 | @item default | ||
| 1446 | Improve resilience against losses of whole frames. | ||
| 1447 | @end table | ||
| 1448 | Not enabled by default. | ||
| 1449 | |||
| 1450 | @item crf | ||
| 1451 | Set the quality/size tradeoff for constant-quality (no bitrate target) | ||
| 1452 | and constrained-quality (with maximum bitrate target) modes. Valid | ||
| 1453 | range is 0 to 63, higher numbers indicating lower quality and smaller | ||
| 1454 | output size. Only used if set; by default only the bitrate target is | ||
| 1455 | used. | ||
| 1456 | |||
| 1457 | @item static-thresh | ||
| 1458 | Set a change threshold on blocks below which they will be skipped by | ||
| 1459 | the encoder. Defined in arbitrary units as a nonnegative integer, | ||
| 1460 | defaulting to zero (no blocks are skipped). | ||
| 1461 | |||
| 1462 | @item drop-threshold | ||
| 1463 | Set a threshold for dropping frames when close to rate control bounds. | ||
| 1464 | Defined as a percentage of the target buffer - when the rate control | ||
| 1465 | buffer falls below this percentage, frames will be dropped until it | ||
| 1466 | has refilled above the threshold. Defaults to zero (no frames are | ||
| 1467 | dropped). | ||
| 1468 | |||
| 1469 | @item tiles | ||
| 1470 | Set the number of tiles to encode the input video with, as colums x | ||
| 1471 | rows. Larger numbers allow greater parallelism in both encoding and | ||
| 1472 | decoding, but may decrease coding efficiency. Defaults to the minimum | ||
| 1473 | number of tiles required by the size of the input video (this is 1x1 | ||
| 1474 | (that is, a single tile) for sizes up to and including 4K). | ||
| 1475 | |||
| 1476 | @item tile-columns tile-rows | ||
| 1477 | Set the number of tiles as log2 of the number of tile rows and columns. | ||
| 1478 | Provided for compatibility with libvpx/VP9. | ||
| 1479 | |||
| 1480 | @end table | ||
| 1481 | |||
| 1373 | @section libkvazaar | 1482 | @section libkvazaar |
| 1374 | 1483 | ||
| 1375 | Kvazaar H.265/HEVC encoder. | 1484 | Kvazaar H.265/HEVC encoder. |