Crate libavif_sys[][src]

Structs

avifCleanApertureBox

‘clap’ from ISO/IEC 14496-12:2015 12.1.4.3

avifCodecSpecificOptions
avifDecoder
avifDecoderData
avifEncoder
avifEncoderData
avifExtent
avifIO
avifIOStats
avifImage
avifImageMirror

‘imir’ from ISO/IEC 23008-12:2017 6.5.12

avifImageRotation

‘irot’ from ISO/IEC 23008-12:2017 6.5.10

avifImageTiming
avifPixelAspectRatioBox

‘pasp’ from ISO/IEC 14496-12:2015 12.1.4.3

avifPixelFormatInfo
avifRGBImage
avifROData
avifRWData

Constants

AVIF_ADD_IMAGE_FLAG_FORCE_KEYFRAME

Force this frame to be a keyframe (sync frame).

AVIF_ADD_IMAGE_FLAG_NONE
AVIF_ADD_IMAGE_FLAG_SINGLE

Use this flag when encoding a single image. Signals “still_picture” to AV1 encoders, which tweaks various compression rules. This is enabled automatically when using the avifEncoderWrite() single-image encode path.

AVIF_CHAN_B
AVIF_CHAN_G
AVIF_CHAN_R
AVIF_CHAN_U
AVIF_CHAN_V
AVIF_CHAN_Y
AVIF_CHROMA_SAMPLE_POSITION_COLOCATED
AVIF_CHROMA_SAMPLE_POSITION_UNKNOWN
AVIF_CHROMA_SAMPLE_POSITION_VERTICAL
AVIF_CHROMA_UPSAMPLING_AUTOMATIC
AVIF_CHROMA_UPSAMPLING_BEST_QUALITY
AVIF_CHROMA_UPSAMPLING_BILINEAR
AVIF_CHROMA_UPSAMPLING_FASTEST
AVIF_CHROMA_UPSAMPLING_NEAREST
AVIF_CODEC_CHOICE_AOM
AVIF_CODEC_CHOICE_AUTO
AVIF_CODEC_CHOICE_DAV1D
AVIF_CODEC_CHOICE_RAV1E
AVIF_COLOR_PRIMARIES_BT470BG
AVIF_COLOR_PRIMARIES_BT470M
AVIF_COLOR_PRIMARIES_BT601
AVIF_COLOR_PRIMARIES_BT709
AVIF_COLOR_PRIMARIES_BT2020
AVIF_COLOR_PRIMARIES_EBU3213
AVIF_COLOR_PRIMARIES_GENERIC_FILM
AVIF_COLOR_PRIMARIES_IEC61966_2_4
AVIF_COLOR_PRIMARIES_SMPTE240
AVIF_COLOR_PRIMARIES_SMPTE431
AVIF_COLOR_PRIMARIES_SMPTE432
AVIF_COLOR_PRIMARIES_UNKNOWN
AVIF_COLOR_PRIMARIES_UNSPECIFIED
AVIF_COLOR_PRIMARIES_XYZ
AVIF_DECODER_SOURCE_AUTO

If a moov box is present in the .avif(s), use the tracks in it, otherwise decode the primary item.

AVIF_DECODER_SOURCE_PRIMARY_ITEM

Use the primary item and the aux (alpha) item in the avif(s). This is where single-image avifs store their image.

AVIF_DECODER_SOURCE_TRACKS

Use the chunks inside primary/aux tracks in the moov block. This is where avifs image sequences store their images.

AVIF_MATRIX_COEFFICIENTS_BT470BG
AVIF_MATRIX_COEFFICIENTS_BT601
AVIF_MATRIX_COEFFICIENTS_BT709
AVIF_MATRIX_COEFFICIENTS_BT2020_CL
AVIF_MATRIX_COEFFICIENTS_BT2020_NCL
AVIF_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL
AVIF_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL
AVIF_MATRIX_COEFFICIENTS_FCC
AVIF_MATRIX_COEFFICIENTS_ICTCP
AVIF_MATRIX_COEFFICIENTS_IDENTITY
AVIF_MATRIX_COEFFICIENTS_SMPTE240
AVIF_MATRIX_COEFFICIENTS_SMPTE2085
AVIF_MATRIX_COEFFICIENTS_UNSPECIFIED
AVIF_MATRIX_COEFFICIENTS_YCGCO
AVIF_PIXEL_FORMAT_NONE
AVIF_PIXEL_FORMAT_YUV400
AVIF_PIXEL_FORMAT_YUV420
AVIF_PIXEL_FORMAT_YUV422
AVIF_PIXEL_FORMAT_YUV444
AVIF_PLANES_A
AVIF_PLANES_ALL
AVIF_PLANES_YUV
AVIF_PLANE_COUNT_YUV
AVIF_QUANTIZER_BEST_QUALITY
AVIF_QUANTIZER_LOSSLESS
AVIF_QUANTIZER_WORST_QUALITY
AVIF_RANGE_FULL
AVIF_RANGE_LIMITED
AVIF_RESULT_BMFF_PARSE_FAILED
AVIF_RESULT_COLOR_ALPHA_SIZE_MISMATCH
AVIF_RESULT_DECODE_ALPHA_FAILED
AVIF_RESULT_DECODE_COLOR_FAILED
AVIF_RESULT_ENCODE_ALPHA_FAILED
AVIF_RESULT_ENCODE_COLOR_FAILED
AVIF_RESULT_INVALID_ARGUMENT

an argument passed into this function is invalid

AVIF_RESULT_INVALID_CODEC_SPECIFIC_OPTION
AVIF_RESULT_INVALID_EXIF_PAYLOAD
AVIF_RESULT_INVALID_FTYP
AVIF_RESULT_INVALID_IMAGE_GRID
AVIF_RESULT_IO_ERROR
AVIF_RESULT_IO_NOT_SET

the avifIO field of avifDecoder is not set

AVIF_RESULT_ISPE_SIZE_MISMATCH
AVIF_RESULT_NOT_IMPLEMENTED

a requested code path is not (yet) implemented

AVIF_RESULT_NO_AV1_ITEMS_FOUND
AVIF_RESULT_NO_CODEC_AVAILABLE
AVIF_RESULT_NO_CONTENT
AVIF_RESULT_NO_IMAGES_REMAINING
AVIF_RESULT_NO_YUV_FORMAT_SELECTED
AVIF_RESULT_OK
AVIF_RESULT_REFORMAT_FAILED
AVIF_RESULT_TRUNCATED_DATA
AVIF_RESULT_UNKNOWN_ERROR
AVIF_RESULT_UNSUPPORTED_DEPTH
AVIF_RESULT_WAITING_ON_IO

similar to EAGAIN/EWOULDBLOCK, this means the avifIO doesn’t have necessary data available yet

AVIF_RGB_FORMAT_ABGR
AVIF_RGB_FORMAT_ARGB
AVIF_RGB_FORMAT_BGR
AVIF_RGB_FORMAT_BGRA
AVIF_RGB_FORMAT_RGB
AVIF_RGB_FORMAT_RGBA
AVIF_SPEED_DEFAULT
AVIF_SPEED_FASTEST
AVIF_SPEED_SLOWEST
AVIF_TRANSFER_CHARACTERISTICS_BT470BG
AVIF_TRANSFER_CHARACTERISTICS_BT470M
AVIF_TRANSFER_CHARACTERISTICS_BT601
AVIF_TRANSFER_CHARACTERISTICS_BT709
AVIF_TRANSFER_CHARACTERISTICS_BT1361
AVIF_TRANSFER_CHARACTERISTICS_BT2020_10BIT
AVIF_TRANSFER_CHARACTERISTICS_BT2020_12BIT
AVIF_TRANSFER_CHARACTERISTICS_HLG
AVIF_TRANSFER_CHARACTERISTICS_IEC61966
AVIF_TRANSFER_CHARACTERISTICS_LINEAR
AVIF_TRANSFER_CHARACTERISTICS_LOG100
AVIF_TRANSFER_CHARACTERISTICS_LOG100_SQRT10
AVIF_TRANSFER_CHARACTERISTICS_SMPTE240
AVIF_TRANSFER_CHARACTERISTICS_SMPTE428
AVIF_TRANSFER_CHARACTERISTICS_SMPTE2084
AVIF_TRANSFER_CHARACTERISTICS_SRGB
AVIF_TRANSFER_CHARACTERISTICS_UNKNOWN
AVIF_TRANSFER_CHARACTERISTICS_UNSPECIFIED
AVIF_TRANSFORM_CLAP
AVIF_TRANSFORM_IMIR
AVIF_TRANSFORM_IROT
AVIF_TRANSFORM_NONE
AVIF_TRANSFORM_PASP

Functions

avifCodecVersions
avifColorPrimariesFind
avifColorPrimariesGetValues
avifDecoderCreate
avifDecoderDestroy
avifDecoderIsKeyframe
avifDecoderNearestKeyframe
avifDecoderNextImage
avifDecoderNthImage
avifDecoderNthImageMaxExtent
avifDecoderNthImageTiming
avifDecoderParse
avifDecoderRead

call avifDecoderSetIO*() first

avifDecoderReadFile
avifDecoderReadMemory
avifDecoderReset
avifDecoderSetIO
avifDecoderSetIOFile
avifDecoderSetIOMemory
avifDecoderSetSource
avifEncoderAddImage
avifEncoderAddImageGrid
avifEncoderCreate
avifEncoderDestroy
avifEncoderFinish
avifEncoderSetCodecSpecificOption

Codec-specific, optional “advanced” tuning settings, in the form of string key/value pairs. These should be set as early as possible, preferably just after creating avifEncoder but before performing any other actions. key must be non-NULL, but passing a NULL value will delete that key, if it exists. Setting an incorrect or unknown option for the current codec will cause errors of type AVIF_RESULT_INVALID_CODEC_SPECIFIC_OPTION from avifEncoderWrite() or avifEncoderAddImage().

avifEncoderWrite
avifFullToLimitedUV
avifFullToLimitedY
avifGetPixelFormatInfo
avifIOCreateFileReader
avifIOCreateMemoryReader
avifIODestroy
avifImageAllocatePlanes
avifImageCopy

deep copy

avifImageCreate
avifImageCreateEmpty
avifImageDestroy
avifImageFreePlanes
avifImageRGBToYUV
avifImageSetMetadataExif
avifImageSetMetadataXMP
avifImageSetProfileICC
avifImageUsesU16
avifImageYUVToRGB
avifLimitedToFullUV
avifLimitedToFullY
avifPeekCompatibleFileType

Returns AVIF_TRUE if input begins with a valid FileTypeBox (ftyp) that supports either the brand ‘avif’ or ‘avis’ (or both), without performing any allocations.

avifRGBFormatChannelCount
avifRGBFormatHasAlpha
avifRGBImageAllocatePixels
avifRGBImageFreePixels
avifRGBImagePixelSize
avifRGBImagePremultiplyAlpha
avifRGBImageSetDefaults
avifRGBImageUnpremultiplyAlpha
avifRWDataFree
avifResultToString
avifVersion

Type Definitions

__enum
avifAddImageFlags
avifBool
avifChannelIndex
avifChromaSamplePosition
avifChromaUpsampling
avifCodecChoice
avifColorPrimaries
avifDecoderSource
avifMatrixCoefficients
avifPixelFormat
avifPlanesFlags
avifRGBFormat
avifRange
avifResult
avifTransferCharacteristics
avifTransformationFlags