*: upgrade to 3.2

Fix errors when built with https://github.com/meh/rust-ffmpeg-sys/pull/35.
This commit is contained in:
Tae-il Lim 2016-11-27 16:29:58 +09:00 committed by meh
parent 8aabd018f5
commit 2ed824aaac
9 changed files with 260 additions and 222 deletions

View File

@ -95,5 +95,5 @@ version = "0.4"
optional = true optional = true
[dependencies.ffmpeg-sys] [dependencies.ffmpeg-sys]
version = "2.8" version = "3.2"
default-features = false default-features = false

View File

@ -6,14 +6,12 @@ bitflags! {
const DRAW_HORIZ_BAND = AV_CODEC_CAP_DRAW_HORIZ_BAND, const DRAW_HORIZ_BAND = AV_CODEC_CAP_DRAW_HORIZ_BAND,
const DR1 = AV_CODEC_CAP_DR1, const DR1 = AV_CODEC_CAP_DR1,
const TRUNCATED = AV_CODEC_CAP_TRUNCATED, const TRUNCATED = AV_CODEC_CAP_TRUNCATED,
const HWACCEL = AV_CODEC_CAP_HWACCEL,
const DELAY = AV_CODEC_CAP_DELAY, const DELAY = AV_CODEC_CAP_DELAY,
const SMALL_LAST_FRAME = AV_CODEC_CAP_SMALL_LAST_FRAME, const SMALL_LAST_FRAME = AV_CODEC_CAP_SMALL_LAST_FRAME,
const HWACCEL_VDPAU = AV_CODEC_CAP_HWACCEL_VDPAU, const HWACCEL_VDPAU = AV_CODEC_CAP_HWACCEL_VDPAU,
const SUBFRAMES = AV_CODEC_CAP_SUBFRAMES, const SUBFRAMES = AV_CODEC_CAP_SUBFRAMES,
const EXPERIMENTAL = AV_CODEC_CAP_EXPERIMENTAL, const EXPERIMENTAL = AV_CODEC_CAP_EXPERIMENTAL,
const CHANNEL_CONF = AV_CODEC_CAP_CHANNEL_CONF, const CHANNEL_CONF = AV_CODEC_CAP_CHANNEL_CONF,
const NEG_LINESIZES = AV_CODEC_CAP_NEG_LINESIZES,
const FRAME_THREADS = AV_CODEC_CAP_FRAME_THREADS, const FRAME_THREADS = AV_CODEC_CAP_FRAME_THREADS,
const SLICE_THREADS = AV_CODEC_CAP_SLICE_THREADS, const SLICE_THREADS = AV_CODEC_CAP_SLICE_THREADS,
const PARAM_CHANGE = AV_CODEC_CAP_PARAM_CHANGE, const PARAM_CHANGE = AV_CODEC_CAP_PARAM_CHANGE,

View File

@ -1,6 +1,6 @@
use std::ops::{Deref, DerefMut}; use std::ops::{Deref, DerefMut};
use libc::c_int; use libc::{c_int, int64_t};
use codec::Context; use codec::Context;
use ::{Error, Rational, media}; use ::{Error, Rational, media};
use super::{video, audio, subtitle}; use super::{video, audio, subtitle};
@ -70,13 +70,13 @@ impl Encoder {
pub fn set_bit_rate(&mut self, value: usize) { pub fn set_bit_rate(&mut self, value: usize) {
unsafe { unsafe {
(*self.as_mut_ptr()).bit_rate = value as c_int; (*self.as_mut_ptr()).bit_rate = value as int64_t;
} }
} }
pub fn set_max_bit_rate(&mut self, value: usize) { pub fn set_max_bit_rate(&mut self, value: usize) {
unsafe { unsafe {
(*self.as_mut_ptr()).rc_max_rate = value as c_int; (*self.as_mut_ptr()).rc_max_rate = value as int64_t;
} }
} }

View File

@ -8,16 +8,11 @@ bitflags! {
const _4MV = AV_CODEC_FLAG_4MV, const _4MV = AV_CODEC_FLAG_4MV,
const OUTPUT_CORRUPT = AV_CODEC_FLAG_OUTPUT_CORRUPT, const OUTPUT_CORRUPT = AV_CODEC_FLAG_OUTPUT_CORRUPT,
const QPEL = AV_CODEC_FLAG_QPEL, const QPEL = AV_CODEC_FLAG_QPEL,
const GMC = AV_CODEC_FLAG_GMC,
const MV0 = AV_CODEC_FLAG_MV0,
const INPUT_PRESERVED = AV_CODEC_FLAG_INPUT_PRESERVED,
const PASS1 = AV_CODEC_FLAG_PASS1, const PASS1 = AV_CODEC_FLAG_PASS1,
const PASS2 = AV_CODEC_FLAG_PASS2, const PASS2 = AV_CODEC_FLAG_PASS2,
const GRAY = AV_CODEC_FLAG_GRAY, const GRAY = AV_CODEC_FLAG_GRAY,
const EMU_EDGE = AV_CODEC_FLAG_EMU_EDGE,
const PSNR = AV_CODEC_FLAG_PSNR, const PSNR = AV_CODEC_FLAG_PSNR,
const TRUNCATED = AV_CODEC_FLAG_TRUNCATED, const TRUNCATED = AV_CODEC_FLAG_TRUNCATED,
const NORMALIZE_AQP = AV_CODEC_FLAG_NORMALIZE_AQP,
const INTERLACED_DCT = AV_CODEC_FLAG_INTERLACED_DCT, const INTERLACED_DCT = AV_CODEC_FLAG_INTERLACED_DCT,
const LOW_DELAY = AV_CODEC_FLAG_LOW_DELAY, const LOW_DELAY = AV_CODEC_FLAG_LOW_DELAY,
const GLOBAL_HEADER = AV_CODEC_FLAG_GLOBAL_HEADER, const GLOBAL_HEADER = AV_CODEC_FLAG_GLOBAL_HEADER,

View File

@ -181,55 +181,53 @@ pub enum Id {
MSS2, MSS2,
VP9, VP9,
AIC, AIC,
ESCAPE130_DEPRECATED, ESCAPE130,
G2M_DEPRECATED, G2M,
WEBP_DEPRECATED, WEBP,
HNM4_VIDEO, HNM4_VIDEO,
HEVC_DEPRECATED, HEVC,
H265,
FIC, FIC,
ALIAS_PIX, ALIAS_PIX,
BRENDER_PIX_DEPRECATED, BRENDER_PIX,
PAF_VIDEO_DEPRECATED, PAF_VIDEO,
EXR_DEPRECATED, EXR,
VP7_DEPRECATED, VP7,
SANM_DEPRECATED, SANM,
SGIRLE_DEPRECATED, SGIRLE,
MVC1_DEPRECATED, MVC1,
MVC2_DEPRECATED, MVC2,
HQX, HQX,
TDSC, TDSC,
HQ_HQA, HQ_HQA,
HAP, HAP,
DDS, DDS,
DXV,
SCREENPRESSO,
RSCC,
BRENDER_PIX,
Y41P, Y41P,
ESCAPE130,
EXR,
AVRP, AVRP,
V012, V012,
G2M,
AVUI, AVUI,
AYUV, AYUV,
TARGA_Y216, TARGA_Y216,
V308, V308,
V408, V408,
YUV4, YUV4,
SANM,
PAF_VIDEO,
AVRN, AVRN,
CPIA, CPIA,
XFACE, XFACE,
SGIRLE,
MVC1,
MVC2,
SNOW, SNOW,
WEBP,
SMVJPEG, SMVJPEG,
HEVC,
VP7,
APNG, APNG,
DAALA,
CFHD,
TRUEMOTION2RT,
M101,
MAGICYUV,
SHEERVIDEO,
YLC,
// various PCM "codecs" // various PCM "codecs"
PCM_S16LE, PCM_S16LE,
@ -260,13 +258,13 @@ pub enum Id {
PCM_LXF, PCM_LXF,
S302M, S302M,
PCM_S8_PLANAR, PCM_S8_PLANAR,
PCM_S24LE_PLANAR_DEPRECATED,
PCM_S32LE_PLANAR_DEPRECATED,
PCM_S16BE_PLANAR_DEPRECATED,
PCM_S24LE_PLANAR, PCM_S24LE_PLANAR,
PCM_S32LE_PLANAR, PCM_S32LE_PLANAR,
PCM_S16BE_PLANAR, PCM_S16BE_PLANAR,
PCM_S64LE,
PCM_S64BE,
// various ADPCM codecs // various ADPCM codecs
ADPCM_IMA_QT, ADPCM_IMA_QT,
ADPCM_IMA_WAV, ADPCM_IMA_WAV,
@ -298,15 +296,19 @@ pub enum Id {
ADPCM_IMA_ISS, ADPCM_IMA_ISS,
ADPCM_G722, ADPCM_G722,
ADPCM_IMA_APC, ADPCM_IMA_APC,
ADPCM_VIMA_DEPRECATED,
ADPCM_VIMA, ADPCM_VIMA,
VIMA, VIMA,
ADPCM_AFC, ADPCM_AFC,
ADPCM_IMA_OKI, ADPCM_IMA_OKI,
ADPCM_DTK, ADPCM_DTK,
ADPCM_IMA_RAD, ADPCM_IMA_RAD,
ADPCM_G726LE, ADPCM_G726LE,
ADPCM_THP_LE, ADPCM_THP_LE,
ADPCM_PSX,
ADPCM_AICA,
ADPCM_IMA_DAT4,
ADPCM_MTAF,
// AMR // AMR
AMR_NB, AMR_NB,
@ -322,6 +324,8 @@ pub enum Id {
XAN_DPCM, XAN_DPCM,
SOL_DPCM, SOL_DPCM,
SDX2_DPCM,
// audio codecs // audio codecs
MP2, MP2,
MP3, MP3,
@ -385,19 +389,17 @@ pub enum Id {
RALF, RALF,
IAC, IAC,
ILBC, ILBC,
OPUS_DEPRECATED, OPUS,
COMFORT_NOISE, COMFORT_NOISE,
TAK_DEPRECATED, TAK,
METASOUND, METASOUND,
PAF_AUDIO_DEPRECATED, PAF_AUDIO,
ON2AVC, ON2AVC,
DSS_SP, DSS_SP,
FFWAVESYNTH, FFWAVESYNTH,
SONIC, SONIC,
SONIC_LS, SONIC_LS,
PAF_AUDIO,
OPUS,
TAK,
EVRC, EVRC,
SMV, SMV,
DSD_LSBF, DSD_LSBF,
@ -405,6 +407,10 @@ pub enum Id {
DSD_LSBF_PLANAR, DSD_LSBF_PLANAR,
DSD_MSBF_PLANAR, DSD_MSBF_PLANAR,
_4GV, _4GV,
INTERPLAY_ACM,
XMA1,
XMA2,
DST,
// subtitle codecs // subtitle codecs
DVD_SUBTITLE, DVD_SUBTITLE,
@ -416,6 +422,7 @@ pub enum Id {
HDMV_PGS_SUBTITLE, HDMV_PGS_SUBTITLE,
DVB_TELETEXT, DVB_TELETEXT,
SRT, SRT,
MICRODVD, MICRODVD,
EIA_608, EIA_608,
JACOSUB, JACOSUB,
@ -434,6 +441,8 @@ pub enum Id {
// other specific kind of codecs (generally used for attachments) // other specific kind of codecs (generally used for attachments)
TTF, TTF,
SCTE_35,
BINTEXT, BINTEXT,
XBIN, XBIN,
IDF, IDF,
@ -448,6 +457,7 @@ pub enum Id {
MPEG2TS, MPEG2TS,
MPEG4SYSTEMS, MPEG4SYSTEMS,
FFMETADATA, FFMETADATA,
WRAPPED_AVFRAME,
} }
impl Id { impl Id {
@ -608,7 +618,6 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_ANM => Id::ANM, AV_CODEC_ID_ANM => Id::ANM,
AV_CODEC_ID_BINKVIDEO => Id::BINKVIDEO, AV_CODEC_ID_BINKVIDEO => Id::BINKVIDEO,
AV_CODEC_ID_IFF_ILBM => Id::IFF_ILBM, AV_CODEC_ID_IFF_ILBM => Id::IFF_ILBM,
AV_CODEC_ID_IFF_BYTERUN1 => Id::IFF_BYTERUN1,
AV_CODEC_ID_KGV1 => Id::KGV1, AV_CODEC_ID_KGV1 => Id::KGV1,
AV_CODEC_ID_YOP => Id::YOP, AV_CODEC_ID_YOP => Id::YOP,
AV_CODEC_ID_VP8 => Id::VP8, AV_CODEC_ID_VP8 => Id::VP8,
@ -641,55 +650,52 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_MSS2 => Id::MSS2, AV_CODEC_ID_MSS2 => Id::MSS2,
AV_CODEC_ID_VP9 => Id::VP9, AV_CODEC_ID_VP9 => Id::VP9,
AV_CODEC_ID_AIC => Id::AIC, AV_CODEC_ID_AIC => Id::AIC,
AV_CODEC_ID_ESCAPE130_DEPRECATED => Id::ESCAPE130_DEPRECATED, AV_CODEC_ID_ESCAPE130 => Id::ESCAPE130,
AV_CODEC_ID_G2M_DEPRECATED => Id::G2M_DEPRECATED, AV_CODEC_ID_G2M => Id::G2M,
AV_CODEC_ID_WEBP_DEPRECATED => Id::WEBP_DEPRECATED, AV_CODEC_ID_WEBP => Id::WEBP,
AV_CODEC_ID_HNM4_VIDEO => Id::HNM4_VIDEO, AV_CODEC_ID_HNM4_VIDEO => Id::HNM4_VIDEO,
AV_CODEC_ID_HEVC_DEPRECATED => Id::HEVC_DEPRECATED, AV_CODEC_ID_HEVC => Id::HEVC,
AV_CODEC_ID_FIC => Id::FIC, AV_CODEC_ID_FIC => Id::FIC,
AV_CODEC_ID_ALIAS_PIX => Id::ALIAS_PIX, AV_CODEC_ID_ALIAS_PIX => Id::ALIAS_PIX,
AV_CODEC_ID_BRENDER_PIX_DEPRECATED => Id::BRENDER_PIX_DEPRECATED, AV_CODEC_ID_BRENDER_PIX => Id::BRENDER_PIX,
AV_CODEC_ID_PAF_VIDEO_DEPRECATED => Id::PAF_VIDEO_DEPRECATED, AV_CODEC_ID_PAF_VIDEO => Id::PAF_VIDEO,
AV_CODEC_ID_EXR_DEPRECATED => Id::EXR_DEPRECATED, AV_CODEC_ID_EXR => Id::EXR,
AV_CODEC_ID_VP7_DEPRECATED => Id::VP7_DEPRECATED, AV_CODEC_ID_VP7 => Id::VP7,
AV_CODEC_ID_SANM_DEPRECATED => Id::SANM_DEPRECATED, AV_CODEC_ID_SANM => Id::SANM,
AV_CODEC_ID_SGIRLE_DEPRECATED => Id::SGIRLE_DEPRECATED, AV_CODEC_ID_SGIRLE => Id::SGIRLE,
AV_CODEC_ID_MVC1_DEPRECATED => Id::MVC1_DEPRECATED, AV_CODEC_ID_MVC1 => Id::MVC1,
AV_CODEC_ID_MVC2_DEPRECATED => Id::MVC2_DEPRECATED, AV_CODEC_ID_MVC2 => Id::MVC2,
AV_CODEC_ID_HQX => Id::HQX, AV_CODEC_ID_HQX => Id::HQX,
AV_CODEC_ID_TDSC => Id::TDSC, AV_CODEC_ID_TDSC => Id::TDSC,
AV_CODEC_ID_HQ_HQA => Id::HQ_HQA, AV_CODEC_ID_HQ_HQA => Id::HQ_HQA,
AV_CODEC_ID_HAP => Id::HAP, AV_CODEC_ID_HAP => Id::HAP,
AV_CODEC_ID_DDS => Id::DDS, AV_CODEC_ID_DDS => Id::DDS,
AV_CODEC_ID_DXV => Id::DXV,
AV_CODEC_ID_SCREENPRESSO => Id::SCREENPRESSO,
AV_CODEC_ID_RSCC => Id::RSCC,
AV_CODEC_ID_BRENDER_PIX => Id::BRENDER_PIX, AV_CODEC_ID_Y41P => Id::Y41P,
AV_CODEC_ID_Y41P => Id::Y41P, AV_CODEC_ID_AVRP => Id::AVRP,
AV_CODEC_ID_ESCAPE130 => Id::ESCAPE130, AV_CODEC_ID_012V => Id::V012,
AV_CODEC_ID_EXR => Id::EXR, AV_CODEC_ID_AVUI => Id::AVUI,
AV_CODEC_ID_AVRP => Id::AVRP, AV_CODEC_ID_AYUV => Id::AYUV,
AV_CODEC_ID_TARGA_Y216 => Id::TARGA_Y216,
AV_CODEC_ID_012V => Id::V012, AV_CODEC_ID_V308 => Id::V308,
AV_CODEC_ID_G2M => Id::G2M, AV_CODEC_ID_V408 => Id::V408,
AV_CODEC_ID_AVUI => Id::AVUI, AV_CODEC_ID_YUV4 => Id::YUV4,
AV_CODEC_ID_AYUV => Id::AYUV, AV_CODEC_ID_AVRN => Id::AVRN,
AV_CODEC_ID_TARGA_Y216 => Id::TARGA_Y216, AV_CODEC_ID_CPIA => Id::CPIA,
AV_CODEC_ID_V308 => Id::V308, AV_CODEC_ID_XFACE => Id::XFACE,
AV_CODEC_ID_V408 => Id::V408, AV_CODEC_ID_SNOW => Id::SNOW,
AV_CODEC_ID_YUV4 => Id::YUV4, AV_CODEC_ID_SMVJPEG => Id::SMVJPEG,
AV_CODEC_ID_SANM => Id::SANM, AV_CODEC_ID_APNG => Id::APNG,
AV_CODEC_ID_PAF_VIDEO => Id::PAF_VIDEO, AV_CODEC_ID_DAALA => Id::DAALA,
AV_CODEC_ID_AVRN => Id::AVRN, AV_CODEC_ID_CFHD => Id::CFHD,
AV_CODEC_ID_CPIA => Id::CPIA, AV_CODEC_ID_TRUEMOTION2RT => Id::TRUEMOTION2RT,
AV_CODEC_ID_XFACE => Id::XFACE, AV_CODEC_ID_M101 => Id::M101,
AV_CODEC_ID_SGIRLE => Id::SGIRLE, AV_CODEC_ID_MAGICYUV => Id::MAGICYUV,
AV_CODEC_ID_MVC1 => Id::MVC1, AV_CODEC_ID_SHEERVIDEO => Id::SHEERVIDEO,
AV_CODEC_ID_MVC2 => Id::MVC2, AV_CODEC_ID_YLC => Id::YLC,
AV_CODEC_ID_SNOW => Id::SNOW,
AV_CODEC_ID_WEBP => Id::WEBP,
AV_CODEC_ID_SMVJPEG => Id::SMVJPEG,
AV_CODEC_ID_HEVC => Id::HEVC,
AV_CODEC_ID_VP7 => Id::VP7,
AV_CODEC_ID_APNG => Id::APNG,
/* various PCM "codecs" */ /* various PCM "codecs" */
AV_CODEC_ID_PCM_S16LE => Id::PCM_S16LE, AV_CODEC_ID_PCM_S16LE => Id::PCM_S16LE,
@ -720,14 +726,13 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_PCM_LXF => Id::PCM_LXF, AV_CODEC_ID_PCM_LXF => Id::PCM_LXF,
AV_CODEC_ID_S302M => Id::S302M, AV_CODEC_ID_S302M => Id::S302M,
AV_CODEC_ID_PCM_S8_PLANAR => Id::PCM_S8_PLANAR, AV_CODEC_ID_PCM_S8_PLANAR => Id::PCM_S8_PLANAR,
AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED => Id::PCM_S24LE_PLANAR_DEPRECATED,
AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED => Id::PCM_S32LE_PLANAR_DEPRECATED,
AV_CODEC_ID_PCM_S16BE_PLANAR_DEPRECATED => Id::PCM_S16BE_PLANAR_DEPRECATED,
AV_CODEC_ID_PCM_S24LE_PLANAR => Id::PCM_S24LE_PLANAR, AV_CODEC_ID_PCM_S24LE_PLANAR => Id::PCM_S24LE_PLANAR,
AV_CODEC_ID_PCM_S32LE_PLANAR => Id::PCM_S32LE_PLANAR, AV_CODEC_ID_PCM_S32LE_PLANAR => Id::PCM_S32LE_PLANAR,
AV_CODEC_ID_PCM_S16BE_PLANAR => Id::PCM_S16BE_PLANAR, AV_CODEC_ID_PCM_S16BE_PLANAR => Id::PCM_S16BE_PLANAR,
AV_CODEC_ID_PCM_S64LE => Id::PCM_S64LE,
AV_CODEC_ID_PCM_S64BE => Id::PCM_S64BE,
/* various ADPCM codecs */ /* various ADPCM codecs */
AV_CODEC_ID_ADPCM_IMA_QT => Id::ADPCM_IMA_QT, AV_CODEC_ID_ADPCM_IMA_QT => Id::ADPCM_IMA_QT,
AV_CODEC_ID_ADPCM_IMA_WAV => Id::ADPCM_IMA_WAV, AV_CODEC_ID_ADPCM_IMA_WAV => Id::ADPCM_IMA_WAV,
@ -759,14 +764,18 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_ADPCM_IMA_ISS => Id::ADPCM_IMA_ISS, AV_CODEC_ID_ADPCM_IMA_ISS => Id::ADPCM_IMA_ISS,
AV_CODEC_ID_ADPCM_G722 => Id::ADPCM_G722, AV_CODEC_ID_ADPCM_G722 => Id::ADPCM_G722,
AV_CODEC_ID_ADPCM_IMA_APC => Id::ADPCM_IMA_APC, AV_CODEC_ID_ADPCM_IMA_APC => Id::ADPCM_IMA_APC,
AV_CODEC_ID_ADPCM_VIMA_DEPRECATED => Id::ADPCM_VIMA_DEPRECATED,
AV_CODEC_ID_ADPCM_VIMA => Id::ADPCM_VIMA, AV_CODEC_ID_ADPCM_VIMA => Id::ADPCM_VIMA,
AV_CODEC_ID_ADPCM_AFC => Id::ADPCM_AFC, AV_CODEC_ID_ADPCM_AFC => Id::ADPCM_AFC,
AV_CODEC_ID_ADPCM_IMA_OKI => Id::ADPCM_IMA_OKI, AV_CODEC_ID_ADPCM_IMA_OKI => Id::ADPCM_IMA_OKI,
AV_CODEC_ID_ADPCM_DTK => Id::ADPCM_DTK, AV_CODEC_ID_ADPCM_DTK => Id::ADPCM_DTK,
AV_CODEC_ID_ADPCM_IMA_RAD => Id::ADPCM_IMA_RAD, AV_CODEC_ID_ADPCM_IMA_RAD => Id::ADPCM_IMA_RAD,
AV_CODEC_ID_ADPCM_G726LE => Id::ADPCM_G726LE, AV_CODEC_ID_ADPCM_G726LE => Id::ADPCM_G726LE,
AV_CODEC_ID_ADPCM_THP_LE => Id::ADPCM_THP_LE, AV_CODEC_ID_ADPCM_THP_LE => Id::ADPCM_THP_LE,
AV_CODEC_ID_ADPCM_PSX => Id::ADPCM_PSX,
AV_CODEC_ID_ADPCM_AICA => Id::ADPCM_AICA,
AV_CODEC_ID_ADPCM_IMA_DAT4 => Id::ADPCM_IMA_DAT4,
AV_CODEC_ID_ADPCM_MTAF => Id::ADPCM_MTAF,
/* AMR */ /* AMR */
AV_CODEC_ID_AMR_NB => Id::AMR_NB, AV_CODEC_ID_AMR_NB => Id::AMR_NB,
@ -782,6 +791,8 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_XAN_DPCM => Id::XAN_DPCM, AV_CODEC_ID_XAN_DPCM => Id::XAN_DPCM,
AV_CODEC_ID_SOL_DPCM => Id::SOL_DPCM, AV_CODEC_ID_SOL_DPCM => Id::SOL_DPCM,
AV_CODEC_ID_SDX2_DPCM => Id::SDX2_DPCM,
/* audio codecs */ /* audio codecs */
AV_CODEC_ID_MP2 => Id::MP2, AV_CODEC_ID_MP2 => Id::MP2,
AV_CODEC_ID_MP3 => Id::MP3, AV_CODEC_ID_MP3 => Id::MP3,
@ -845,19 +856,17 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_RALF => Id::RALF, AV_CODEC_ID_RALF => Id::RALF,
AV_CODEC_ID_IAC => Id::IAC, AV_CODEC_ID_IAC => Id::IAC,
AV_CODEC_ID_ILBC => Id::ILBC, AV_CODEC_ID_ILBC => Id::ILBC,
AV_CODEC_ID_OPUS_DEPRECATED => Id::OPUS_DEPRECATED, AV_CODEC_ID_OPUS => Id::OPUS,
AV_CODEC_ID_COMFORT_NOISE => Id::COMFORT_NOISE, AV_CODEC_ID_COMFORT_NOISE => Id::COMFORT_NOISE,
AV_CODEC_ID_TAK_DEPRECATED => Id::TAK_DEPRECATED, AV_CODEC_ID_TAK => Id::TAK,
AV_CODEC_ID_METASOUND => Id::METASOUND, AV_CODEC_ID_METASOUND => Id::METASOUND,
AV_CODEC_ID_PAF_AUDIO_DEPRECATED => Id::PAF_AUDIO_DEPRECATED, AV_CODEC_ID_PAF_AUDIO => Id::PAF_AUDIO,
AV_CODEC_ID_ON2AVC => Id::ON2AVC, AV_CODEC_ID_ON2AVC => Id::ON2AVC,
AV_CODEC_ID_DSS_SP => Id::DSS_SP, AV_CODEC_ID_DSS_SP => Id::DSS_SP,
AV_CODEC_ID_FFWAVESYNTH => Id::FFWAVESYNTH, AV_CODEC_ID_FFWAVESYNTH => Id::FFWAVESYNTH,
AV_CODEC_ID_SONIC => Id::SONIC, AV_CODEC_ID_SONIC => Id::SONIC,
AV_CODEC_ID_SONIC_LS => Id::SONIC_LS, AV_CODEC_ID_SONIC_LS => Id::SONIC_LS,
AV_CODEC_ID_PAF_AUDIO => Id::PAF_AUDIO,
AV_CODEC_ID_OPUS => Id::OPUS,
AV_CODEC_ID_TAK => Id::TAK,
AV_CODEC_ID_EVRC => Id::EVRC, AV_CODEC_ID_EVRC => Id::EVRC,
AV_CODEC_ID_SMV => Id::SMV, AV_CODEC_ID_SMV => Id::SMV,
AV_CODEC_ID_DSD_LSBF => Id::DSD_LSBF, AV_CODEC_ID_DSD_LSBF => Id::DSD_LSBF,
@ -865,6 +874,10 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_DSD_LSBF_PLANAR => Id::DSD_LSBF_PLANAR, AV_CODEC_ID_DSD_LSBF_PLANAR => Id::DSD_LSBF_PLANAR,
AV_CODEC_ID_DSD_MSBF_PLANAR => Id::DSD_MSBF_PLANAR, AV_CODEC_ID_DSD_MSBF_PLANAR => Id::DSD_MSBF_PLANAR,
AV_CODEC_ID_4GV => Id::_4GV, AV_CODEC_ID_4GV => Id::_4GV,
AV_CODEC_ID_INTERPLAY_ACM => Id::INTERPLAY_ACM,
AV_CODEC_ID_XMA1 => Id::XMA1,
AV_CODEC_ID_XMA2 => Id::XMA2,
AV_CODEC_ID_DST => Id::DST,
/* subtitle codecs */ /* subtitle codecs */
AV_CODEC_ID_DVD_SUBTITLE => Id::DVD_SUBTITLE, AV_CODEC_ID_DVD_SUBTITLE => Id::DVD_SUBTITLE,
@ -876,6 +889,7 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_HDMV_PGS_SUBTITLE => Id::HDMV_PGS_SUBTITLE, AV_CODEC_ID_HDMV_PGS_SUBTITLE => Id::HDMV_PGS_SUBTITLE,
AV_CODEC_ID_DVB_TELETEXT => Id::DVB_TELETEXT, AV_CODEC_ID_DVB_TELETEXT => Id::DVB_TELETEXT,
AV_CODEC_ID_SRT => Id::SRT, AV_CODEC_ID_SRT => Id::SRT,
AV_CODEC_ID_MICRODVD => Id::MICRODVD, AV_CODEC_ID_MICRODVD => Id::MICRODVD,
AV_CODEC_ID_EIA_608 => Id::EIA_608, AV_CODEC_ID_EIA_608 => Id::EIA_608,
AV_CODEC_ID_JACOSUB => Id::JACOSUB, AV_CODEC_ID_JACOSUB => Id::JACOSUB,
@ -894,6 +908,8 @@ impl From<AVCodecID> for Id {
/* other specific kind of codecs (generally used for attachments) */ /* other specific kind of codecs (generally used for attachments) */
AV_CODEC_ID_TTF => Id::TTF, AV_CODEC_ID_TTF => Id::TTF,
AV_CODEC_ID_SCTE_35 => Id::SCTE_35,
AV_CODEC_ID_BINTEXT => Id::BINTEXT, AV_CODEC_ID_BINTEXT => Id::BINTEXT,
AV_CODEC_ID_XBIN => Id::XBIN, AV_CODEC_ID_XBIN => Id::XBIN,
AV_CODEC_ID_IDF => Id::IDF, AV_CODEC_ID_IDF => Id::IDF,
@ -905,9 +921,10 @@ impl From<AVCodecID> for Id {
AV_CODEC_ID_PROBE => Id::PROBE, AV_CODEC_ID_PROBE => Id::PROBE,
AV_CODEC_ID_MPEG2TS => Id::MPEG2TS, AV_CODEC_ID_MPEG2TS => Id::MPEG2TS,
AV_CODEC_ID_MPEG4SYSTEMS => Id::MPEG4SYSTEMS, AV_CODEC_ID_MPEG4SYSTEMS => Id::MPEG4SYSTEMS,
AV_CODEC_ID_FFMETADATA => Id::FFMETADATA AV_CODEC_ID_FFMETADATA => Id::FFMETADATA,
AV_CODEC_ID_WRAPPED_AVFRAME => Id::WRAPPED_AVFRAME,
} }
} }
} }
@ -1089,55 +1106,53 @@ impl Into<AVCodecID> for Id {
Id::MSS2 => AV_CODEC_ID_MSS2, Id::MSS2 => AV_CODEC_ID_MSS2,
Id::VP9 => AV_CODEC_ID_VP9, Id::VP9 => AV_CODEC_ID_VP9,
Id::AIC => AV_CODEC_ID_AIC, Id::AIC => AV_CODEC_ID_AIC,
Id::ESCAPE130_DEPRECATED => AV_CODEC_ID_ESCAPE130_DEPRECATED, Id::ESCAPE130 => AV_CODEC_ID_ESCAPE130,
Id::G2M_DEPRECATED => AV_CODEC_ID_G2M_DEPRECATED, Id::G2M => AV_CODEC_ID_G2M,
Id::WEBP_DEPRECATED => AV_CODEC_ID_WEBP_DEPRECATED, Id::WEBP => AV_CODEC_ID_WEBP,
Id::HNM4_VIDEO => AV_CODEC_ID_HNM4_VIDEO, Id::HNM4_VIDEO => AV_CODEC_ID_HNM4_VIDEO,
Id::HEVC_DEPRECATED => AV_CODEC_ID_HEVC_DEPRECATED, Id::HEVC => AV_CODEC_ID_HEVC,
Id::H265 => AV_CODEC_ID_H265,
Id::FIC => AV_CODEC_ID_FIC, Id::FIC => AV_CODEC_ID_FIC,
Id::ALIAS_PIX => AV_CODEC_ID_ALIAS_PIX, Id::ALIAS_PIX => AV_CODEC_ID_ALIAS_PIX,
Id::BRENDER_PIX_DEPRECATED => AV_CODEC_ID_BRENDER_PIX_DEPRECATED, Id::BRENDER_PIX => AV_CODEC_ID_BRENDER_PIX,
Id::PAF_VIDEO_DEPRECATED => AV_CODEC_ID_PAF_VIDEO_DEPRECATED, Id::PAF_VIDEO => AV_CODEC_ID_PAF_VIDEO,
Id::EXR_DEPRECATED => AV_CODEC_ID_EXR_DEPRECATED, Id::EXR => AV_CODEC_ID_EXR,
Id::VP7_DEPRECATED => AV_CODEC_ID_VP7_DEPRECATED, Id::VP7 => AV_CODEC_ID_VP7,
Id::SANM_DEPRECATED => AV_CODEC_ID_SANM_DEPRECATED, Id::SANM => AV_CODEC_ID_SANM,
Id::SGIRLE_DEPRECATED => AV_CODEC_ID_SGIRLE_DEPRECATED, Id::SGIRLE => AV_CODEC_ID_SGIRLE,
Id::MVC1_DEPRECATED => AV_CODEC_ID_MVC1_DEPRECATED, Id::MVC1 => AV_CODEC_ID_MVC1,
Id::MVC2_DEPRECATED => AV_CODEC_ID_MVC2_DEPRECATED, Id::MVC2 => AV_CODEC_ID_MVC2,
Id::HQX => AV_CODEC_ID_HQX, Id::HQX => AV_CODEC_ID_HQX,
Id::TDSC => AV_CODEC_ID_TDSC, Id::TDSC => AV_CODEC_ID_TDSC,
Id::HQ_HQA => AV_CODEC_ID_HQ_HQA, Id::HQ_HQA => AV_CODEC_ID_HQ_HQA,
Id::HAP => AV_CODEC_ID_HAP, Id::HAP => AV_CODEC_ID_HAP,
Id::DDS => AV_CODEC_ID_DDS, Id::DDS => AV_CODEC_ID_DDS,
Id::DXV => AV_CODEC_ID_DXV,
Id::SCREENPRESSO => AV_CODEC_ID_SCREENPRESSO,
Id::RSCC => AV_CODEC_ID_RSCC,
Id::BRENDER_PIX => AV_CODEC_ID_BRENDER_PIX, Id::Y41P => AV_CODEC_ID_Y41P,
Id::Y41P => AV_CODEC_ID_Y41P, Id::AVRP => AV_CODEC_ID_AVRP,
Id::ESCAPE130 => AV_CODEC_ID_ESCAPE130, Id::V012 => AV_CODEC_ID_012V,
Id::EXR => AV_CODEC_ID_EXR, Id::AVUI => AV_CODEC_ID_AVUI,
Id::AVRP => AV_CODEC_ID_AVRP, Id::AYUV => AV_CODEC_ID_AYUV,
Id::TARGA_Y216 => AV_CODEC_ID_TARGA_Y216,
Id::V012 => AV_CODEC_ID_012V, Id::V308 => AV_CODEC_ID_V308,
Id::G2M => AV_CODEC_ID_G2M, Id::V408 => AV_CODEC_ID_V408,
Id::AVUI => AV_CODEC_ID_AVUI, Id::YUV4 => AV_CODEC_ID_YUV4,
Id::AYUV => AV_CODEC_ID_AYUV, Id::AVRN => AV_CODEC_ID_AVRN,
Id::TARGA_Y216 => AV_CODEC_ID_TARGA_Y216, Id::CPIA => AV_CODEC_ID_CPIA,
Id::V308 => AV_CODEC_ID_V308, Id::XFACE => AV_CODEC_ID_XFACE,
Id::V408 => AV_CODEC_ID_V408, Id::SNOW => AV_CODEC_ID_SNOW,
Id::YUV4 => AV_CODEC_ID_YUV4, Id::SMVJPEG => AV_CODEC_ID_SMVJPEG,
Id::SANM => AV_CODEC_ID_SANM, Id::APNG => AV_CODEC_ID_APNG,
Id::PAF_VIDEO => AV_CODEC_ID_PAF_VIDEO, Id::DAALA => AV_CODEC_ID_DAALA,
Id::AVRN => AV_CODEC_ID_AVRN, Id::CFHD => AV_CODEC_ID_CFHD,
Id::CPIA => AV_CODEC_ID_CPIA, Id::TRUEMOTION2RT => AV_CODEC_ID_TRUEMOTION2RT,
Id::XFACE => AV_CODEC_ID_XFACE, Id::M101 => AV_CODEC_ID_M101,
Id::SGIRLE => AV_CODEC_ID_SGIRLE, Id::MAGICYUV => AV_CODEC_ID_MAGICYUV,
Id::MVC1 => AV_CODEC_ID_MVC1, Id::SHEERVIDEO => AV_CODEC_ID_SHEERVIDEO,
Id::MVC2 => AV_CODEC_ID_MVC2, Id::YLC => AV_CODEC_ID_YLC,
Id::SNOW => AV_CODEC_ID_SNOW,
Id::WEBP => AV_CODEC_ID_WEBP,
Id::SMVJPEG => AV_CODEC_ID_SMVJPEG,
Id::HEVC => AV_CODEC_ID_HEVC,
Id::VP7 => AV_CODEC_ID_VP7,
Id::APNG => AV_CODEC_ID_APNG,
/* various PCM "codecs" */ /* various PCM "codecs" */
Id::PCM_S16LE => AV_CODEC_ID_PCM_S16LE, Id::PCM_S16LE => AV_CODEC_ID_PCM_S16LE,
@ -1168,13 +1183,13 @@ impl Into<AVCodecID> for Id {
Id::PCM_LXF => AV_CODEC_ID_PCM_LXF, Id::PCM_LXF => AV_CODEC_ID_PCM_LXF,
Id::S302M => AV_CODEC_ID_S302M, Id::S302M => AV_CODEC_ID_S302M,
Id::PCM_S8_PLANAR => AV_CODEC_ID_PCM_S8_PLANAR, Id::PCM_S8_PLANAR => AV_CODEC_ID_PCM_S8_PLANAR,
Id::PCM_S24LE_PLANAR_DEPRECATED => AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED,
Id::PCM_S32LE_PLANAR_DEPRECATED => AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED,
Id::PCM_S16BE_PLANAR_DEPRECATED => AV_CODEC_ID_PCM_S16BE_PLANAR_DEPRECATED,
Id::PCM_S24LE_PLANAR => AV_CODEC_ID_PCM_S24LE_PLANAR, Id::PCM_S24LE_PLANAR => AV_CODEC_ID_PCM_S24LE_PLANAR,
Id::PCM_S32LE_PLANAR => AV_CODEC_ID_PCM_S32LE_PLANAR, Id::PCM_S32LE_PLANAR => AV_CODEC_ID_PCM_S32LE_PLANAR,
Id::PCM_S16BE_PLANAR => AV_CODEC_ID_PCM_S16BE_PLANAR, Id::PCM_S16BE_PLANAR => AV_CODEC_ID_PCM_S16BE_PLANAR,
Id::PCM_S64LE => AV_CODEC_ID_PCM_S64LE,
Id::PCM_S64BE => AV_CODEC_ID_PCM_S64BE,
/* various ADPCM codecs */ /* various ADPCM codecs */
Id::ADPCM_IMA_QT => AV_CODEC_ID_ADPCM_IMA_QT, Id::ADPCM_IMA_QT => AV_CODEC_ID_ADPCM_IMA_QT,
Id::ADPCM_IMA_WAV => AV_CODEC_ID_ADPCM_IMA_WAV, Id::ADPCM_IMA_WAV => AV_CODEC_ID_ADPCM_IMA_WAV,
@ -1206,15 +1221,19 @@ impl Into<AVCodecID> for Id {
Id::ADPCM_IMA_ISS => AV_CODEC_ID_ADPCM_IMA_ISS, Id::ADPCM_IMA_ISS => AV_CODEC_ID_ADPCM_IMA_ISS,
Id::ADPCM_G722 => AV_CODEC_ID_ADPCM_G722, Id::ADPCM_G722 => AV_CODEC_ID_ADPCM_G722,
Id::ADPCM_IMA_APC => AV_CODEC_ID_ADPCM_IMA_APC, Id::ADPCM_IMA_APC => AV_CODEC_ID_ADPCM_IMA_APC,
Id::ADPCM_VIMA_DEPRECATED => AV_CODEC_ID_ADPCM_VIMA_DEPRECATED,
Id::ADPCM_VIMA => AV_CODEC_ID_ADPCM_VIMA, Id::ADPCM_VIMA => AV_CODEC_ID_ADPCM_VIMA,
Id::VIMA => AV_CODEC_ID_VIMA, Id::VIMA => AV_CODEC_ID_VIMA,
Id::ADPCM_AFC => AV_CODEC_ID_ADPCM_AFC, Id::ADPCM_AFC => AV_CODEC_ID_ADPCM_AFC,
Id::ADPCM_IMA_OKI => AV_CODEC_ID_ADPCM_IMA_OKI, Id::ADPCM_IMA_OKI => AV_CODEC_ID_ADPCM_IMA_OKI,
Id::ADPCM_DTK => AV_CODEC_ID_ADPCM_DTK, Id::ADPCM_DTK => AV_CODEC_ID_ADPCM_DTK,
Id::ADPCM_IMA_RAD => AV_CODEC_ID_ADPCM_IMA_RAD, Id::ADPCM_IMA_RAD => AV_CODEC_ID_ADPCM_IMA_RAD,
Id::ADPCM_G726LE => AV_CODEC_ID_ADPCM_G726LE, Id::ADPCM_G726LE => AV_CODEC_ID_ADPCM_G726LE,
Id::ADPCM_THP_LE => AV_CODEC_ID_ADPCM_THP_LE, Id::ADPCM_THP_LE => AV_CODEC_ID_ADPCM_THP_LE,
Id::ADPCM_PSX => AV_CODEC_ID_ADPCM_PSX,
Id::ADPCM_AICA => AV_CODEC_ID_ADPCM_AICA,
Id::ADPCM_IMA_DAT4 => AV_CODEC_ID_ADPCM_IMA_DAT4,
Id::ADPCM_MTAF => AV_CODEC_ID_ADPCM_MTAF,
/* AMR */ /* AMR */
Id::AMR_NB => AV_CODEC_ID_AMR_NB, Id::AMR_NB => AV_CODEC_ID_AMR_NB,
@ -1230,6 +1249,8 @@ impl Into<AVCodecID> for Id {
Id::XAN_DPCM => AV_CODEC_ID_XAN_DPCM, Id::XAN_DPCM => AV_CODEC_ID_XAN_DPCM,
Id::SOL_DPCM => AV_CODEC_ID_SOL_DPCM, Id::SOL_DPCM => AV_CODEC_ID_SOL_DPCM,
Id::SDX2_DPCM => AV_CODEC_ID_SDX2_DPCM,
/* audio codecs */ /* audio codecs */
Id::MP2 => AV_CODEC_ID_MP2, Id::MP2 => AV_CODEC_ID_MP2,
Id::MP3 => AV_CODEC_ID_MP3, Id::MP3 => AV_CODEC_ID_MP3,
@ -1293,19 +1314,17 @@ impl Into<AVCodecID> for Id {
Id::RALF => AV_CODEC_ID_RALF, Id::RALF => AV_CODEC_ID_RALF,
Id::IAC => AV_CODEC_ID_IAC, Id::IAC => AV_CODEC_ID_IAC,
Id::ILBC => AV_CODEC_ID_ILBC, Id::ILBC => AV_CODEC_ID_ILBC,
Id::OPUS_DEPRECATED => AV_CODEC_ID_OPUS_DEPRECATED, Id::OPUS => AV_CODEC_ID_OPUS,
Id::COMFORT_NOISE => AV_CODEC_ID_COMFORT_NOISE, Id::COMFORT_NOISE => AV_CODEC_ID_COMFORT_NOISE,
Id::TAK_DEPRECATED => AV_CODEC_ID_TAK_DEPRECATED, Id::TAK => AV_CODEC_ID_TAK,
Id::METASOUND => AV_CODEC_ID_METASOUND, Id::METASOUND => AV_CODEC_ID_METASOUND,
Id::PAF_AUDIO_DEPRECATED => AV_CODEC_ID_PAF_AUDIO_DEPRECATED, Id::PAF_AUDIO => AV_CODEC_ID_PAF_AUDIO,
Id::ON2AVC => AV_CODEC_ID_ON2AVC, Id::ON2AVC => AV_CODEC_ID_ON2AVC,
Id::DSS_SP => AV_CODEC_ID_DSS_SP, Id::DSS_SP => AV_CODEC_ID_DSS_SP,
Id::FFWAVESYNTH => AV_CODEC_ID_FFWAVESYNTH, Id::FFWAVESYNTH => AV_CODEC_ID_FFWAVESYNTH,
Id::SONIC => AV_CODEC_ID_SONIC, Id::SONIC => AV_CODEC_ID_SONIC,
Id::SONIC_LS => AV_CODEC_ID_SONIC_LS, Id::SONIC_LS => AV_CODEC_ID_SONIC_LS,
Id::PAF_AUDIO => AV_CODEC_ID_PAF_AUDIO,
Id::OPUS => AV_CODEC_ID_OPUS,
Id::TAK => AV_CODEC_ID_TAK,
Id::EVRC => AV_CODEC_ID_EVRC, Id::EVRC => AV_CODEC_ID_EVRC,
Id::SMV => AV_CODEC_ID_SMV, Id::SMV => AV_CODEC_ID_SMV,
Id::DSD_LSBF => AV_CODEC_ID_DSD_LSBF, Id::DSD_LSBF => AV_CODEC_ID_DSD_LSBF,
@ -1313,6 +1332,10 @@ impl Into<AVCodecID> for Id {
Id::DSD_LSBF_PLANAR => AV_CODEC_ID_DSD_LSBF_PLANAR, Id::DSD_LSBF_PLANAR => AV_CODEC_ID_DSD_LSBF_PLANAR,
Id::DSD_MSBF_PLANAR => AV_CODEC_ID_DSD_MSBF_PLANAR, Id::DSD_MSBF_PLANAR => AV_CODEC_ID_DSD_MSBF_PLANAR,
Id::_4GV => AV_CODEC_ID_4GV, Id::_4GV => AV_CODEC_ID_4GV,
Id::INTERPLAY_ACM => AV_CODEC_ID_INTERPLAY_ACM,
Id::XMA1 => AV_CODEC_ID_XMA1,
Id::XMA2 => AV_CODEC_ID_XMA2,
Id::DST => AV_CODEC_ID_DST,
/* subtitle codecs */ /* subtitle codecs */
Id::DVD_SUBTITLE => AV_CODEC_ID_DVD_SUBTITLE, Id::DVD_SUBTITLE => AV_CODEC_ID_DVD_SUBTITLE,
@ -1324,6 +1347,7 @@ impl Into<AVCodecID> for Id {
Id::HDMV_PGS_SUBTITLE => AV_CODEC_ID_HDMV_PGS_SUBTITLE, Id::HDMV_PGS_SUBTITLE => AV_CODEC_ID_HDMV_PGS_SUBTITLE,
Id::DVB_TELETEXT => AV_CODEC_ID_DVB_TELETEXT, Id::DVB_TELETEXT => AV_CODEC_ID_DVB_TELETEXT,
Id::SRT => AV_CODEC_ID_SRT, Id::SRT => AV_CODEC_ID_SRT,
Id::MICRODVD => AV_CODEC_ID_MICRODVD, Id::MICRODVD => AV_CODEC_ID_MICRODVD,
Id::EIA_608 => AV_CODEC_ID_EIA_608, Id::EIA_608 => AV_CODEC_ID_EIA_608,
Id::JACOSUB => AV_CODEC_ID_JACOSUB, Id::JACOSUB => AV_CODEC_ID_JACOSUB,
@ -1342,6 +1366,8 @@ impl Into<AVCodecID> for Id {
/* other specific kind of codecs (generally used for attachments) */ /* other specific kind of codecs (generally used for attachments) */
Id::TTF => AV_CODEC_ID_TTF, Id::TTF => AV_CODEC_ID_TTF,
Id::SCTE_35 => AV_CODEC_ID_SCTE_35,
Id::BINTEXT => AV_CODEC_ID_BINTEXT, Id::BINTEXT => AV_CODEC_ID_BINTEXT,
Id::XBIN => AV_CODEC_ID_XBIN, Id::XBIN => AV_CODEC_ID_XBIN,
Id::IDF => AV_CODEC_ID_IDF, Id::IDF => AV_CODEC_ID_IDF,
@ -1353,9 +1379,10 @@ impl Into<AVCodecID> for Id {
Id::PROBE => AV_CODEC_ID_PROBE, Id::PROBE => AV_CODEC_ID_PROBE,
Id::MPEG2TS => AV_CODEC_ID_MPEG2TS, Id::MPEG2TS => AV_CODEC_ID_MPEG2TS,
Id::MPEG4SYSTEMS => AV_CODEC_ID_MPEG4SYSTEMS, Id::MPEG4SYSTEMS => AV_CODEC_ID_MPEG4SYSTEMS,
Id::FFMETADATA => AV_CODEC_ID_FFMETADATA Id::FFMETADATA => AV_CODEC_ID_FFMETADATA,
Id::WRAPPED_AVFRAME => AV_CODEC_ID_WRAPPED_AVFRAME,
} }
} }
} }

View File

@ -15,6 +15,8 @@ pub enum Type {
Stereo3d, Stereo3d,
AudioServiceType, AudioServiceType,
QualityStats, QualityStats,
FallbackTrack,
CBPProperties,
SkipSamples, SkipSamples,
JpDualMono, JpDualMono,
StringsMetadata, StringsMetadata,
@ -23,28 +25,34 @@ pub enum Type {
WebVTTIdentifier, WebVTTIdentifier,
WebVTTSettings, WebVTTSettings,
MetadataUpdate, MetadataUpdate,
MPEGTSStreamID,
MasteringDisplayMetadata
} }
impl From<AVPacketSideDataType> for Type { impl From<AVPacketSideDataType> for Type {
fn from(value: AVPacketSideDataType) -> Self { fn from(value: AVPacketSideDataType) -> Self {
match value { match value {
AV_PKT_DATA_PALETTE => Type::Palette, AV_PKT_DATA_PALETTE => Type::Palette,
AV_PKT_DATA_NEW_EXTRADATA => Type::NewExtraData, AV_PKT_DATA_NEW_EXTRADATA => Type::NewExtraData,
AV_PKT_DATA_PARAM_CHANGE => Type::ParamChange, AV_PKT_DATA_PARAM_CHANGE => Type::ParamChange,
AV_PKT_DATA_H263_MB_INFO => Type::H263MbInfo, AV_PKT_DATA_H263_MB_INFO => Type::H263MbInfo,
AV_PKT_DATA_REPLAYGAIN => Type::ReplayGain, AV_PKT_DATA_REPLAYGAIN => Type::ReplayGain,
AV_PKT_DATA_DISPLAYMATRIX => Type::DisplayMatrix, AV_PKT_DATA_DISPLAYMATRIX => Type::DisplayMatrix,
AV_PKT_DATA_STEREO3D => Type::Stereo3d, AV_PKT_DATA_STEREO3D => Type::Stereo3d,
AV_PKT_DATA_AUDIO_SERVICE_TYPE => Type::AudioServiceType, AV_PKT_DATA_AUDIO_SERVICE_TYPE => Type::AudioServiceType,
AV_PKT_DATA_QUALITY_STATS => Type::QualityStats, AV_PKT_DATA_QUALITY_STATS => Type::QualityStats,
AV_PKT_DATA_SKIP_SAMPLES => Type::SkipSamples, AV_PKT_DATA_FALLBACK_TRACK => Type::FallbackTrack,
AV_PKT_DATA_JP_DUALMONO => Type::JpDualMono, AV_PKT_DATA_CPB_PROPERTIES => Type::CBPProperties,
AV_PKT_DATA_STRINGS_METADATA => Type::StringsMetadata, AV_PKT_DATA_SKIP_SAMPLES => Type::SkipSamples,
AV_PKT_DATA_SUBTITLE_POSITION => Type::SubtitlePosition, AV_PKT_DATA_JP_DUALMONO => Type::JpDualMono,
AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL => Type::MatroskaBlockAdditional, AV_PKT_DATA_STRINGS_METADATA => Type::StringsMetadata,
AV_PKT_DATA_WEBVTT_IDENTIFIER => Type::WebVTTIdentifier, AV_PKT_DATA_SUBTITLE_POSITION => Type::SubtitlePosition,
AV_PKT_DATA_WEBVTT_SETTINGS => Type::WebVTTSettings, AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL => Type::MatroskaBlockAdditional,
AV_PKT_DATA_METADATA_UPDATE => Type::MetadataUpdate AV_PKT_DATA_WEBVTT_IDENTIFIER => Type::WebVTTIdentifier,
AV_PKT_DATA_WEBVTT_SETTINGS => Type::WebVTTSettings,
AV_PKT_DATA_METADATA_UPDATE => Type::MetadataUpdate,
AV_PKT_DATA_MPEGTS_STREAM_ID => Type::MPEGTSStreamID,
AV_PKT_DATA_MASTERING_DISPLAY_METADATA => Type::MasteringDisplayMetadata
} }
} }
} }
@ -52,23 +60,27 @@ impl From<AVPacketSideDataType> for Type {
impl Into<AVPacketSideDataType> for Type { impl Into<AVPacketSideDataType> for Type {
fn into(self) -> AVPacketSideDataType { fn into(self) -> AVPacketSideDataType {
match self { match self {
Type::Palette => AV_PKT_DATA_PALETTE, Type::Palette => AV_PKT_DATA_PALETTE,
Type::NewExtraData => AV_PKT_DATA_NEW_EXTRADATA, Type::NewExtraData => AV_PKT_DATA_NEW_EXTRADATA,
Type::ParamChange => AV_PKT_DATA_PARAM_CHANGE, Type::ParamChange => AV_PKT_DATA_PARAM_CHANGE,
Type::H263MbInfo => AV_PKT_DATA_H263_MB_INFO, Type::H263MbInfo => AV_PKT_DATA_H263_MB_INFO,
Type::ReplayGain => AV_PKT_DATA_REPLAYGAIN, Type::ReplayGain => AV_PKT_DATA_REPLAYGAIN,
Type::DisplayMatrix => AV_PKT_DATA_DISPLAYMATRIX, Type::DisplayMatrix => AV_PKT_DATA_DISPLAYMATRIX,
Type::Stereo3d => AV_PKT_DATA_STEREO3D, Type::Stereo3d => AV_PKT_DATA_STEREO3D,
Type::AudioServiceType => AV_PKT_DATA_AUDIO_SERVICE_TYPE, Type::AudioServiceType => AV_PKT_DATA_AUDIO_SERVICE_TYPE,
Type::QualityStats => AV_PKT_DATA_QUALITY_STATS, Type::QualityStats => AV_PKT_DATA_QUALITY_STATS,
Type::SkipSamples => AV_PKT_DATA_SKIP_SAMPLES, Type::FallbackTrack => AV_PKT_DATA_FALLBACK_TRACK,
Type::JpDualMono => AV_PKT_DATA_JP_DUALMONO, Type::CBPProperties => AV_PKT_DATA_CPB_PROPERTIES,
Type::StringsMetadata => AV_PKT_DATA_STRINGS_METADATA, Type::SkipSamples => AV_PKT_DATA_SKIP_SAMPLES,
Type::SubtitlePosition => AV_PKT_DATA_SUBTITLE_POSITION, Type::JpDualMono => AV_PKT_DATA_JP_DUALMONO,
Type::MatroskaBlockAdditional => AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL, Type::StringsMetadata => AV_PKT_DATA_STRINGS_METADATA,
Type::WebVTTIdentifier => AV_PKT_DATA_WEBVTT_IDENTIFIER, Type::SubtitlePosition => AV_PKT_DATA_SUBTITLE_POSITION,
Type::WebVTTSettings => AV_PKT_DATA_WEBVTT_SETTINGS, Type::MatroskaBlockAdditional => AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
Type::MetadataUpdate => AV_PKT_DATA_METADATA_UPDATE Type::WebVTTIdentifier => AV_PKT_DATA_WEBVTT_IDENTIFIER,
Type::WebVTTSettings => AV_PKT_DATA_WEBVTT_SETTINGS,
Type::MetadataUpdate => AV_PKT_DATA_METADATA_UPDATE,
Type::MPEGTSStreamID => AV_PKT_DATA_MPEGTS_STREAM_ID,
Type::MasteringDisplayMetadata => AV_PKT_DATA_MASTERING_DISPLAY_METADATA
} }
} }
} }

View File

@ -19,20 +19,20 @@ pub enum Dither {
impl From<SwrDitherType> for Dither { impl From<SwrDitherType> for Dither {
fn from(value: SwrDitherType) -> Dither { fn from(value: SwrDitherType) -> Dither {
match value { match value {
SWR_DITHER_NONE => Dither::None, SWR_DITHER_NONE => Dither::None,
SWR_DITHER_RECTANGULAR => Dither::Rectangular, SWR_DITHER_RECTANGULAR => Dither::Rectangular,
SWR_DITHER_TRIANGULAR => Dither::Triangular, SWR_DITHER_TRIANGULAR => Dither::Triangular,
SWR_DITHER_TRIANGULAR_HIGHPASS => Dither::TriangularHighPass, SWR_DITHER_TRIANGULAR_HIGHPASS => Dither::TriangularHighPass,
SWR_DITHER_NS => Dither::None, SWR_DITHER_NS => Dither::None,
SWR_DITHER_NS_LIPSHITZ => Dither::NoiseShapingLipshitz, SWR_DITHER_NS_LIPSHITZ => Dither::NoiseShapingLipshitz,
SWR_DITHER_NS_F_WEIGHTED => Dither::NoiseShapingFWeighted, SWR_DITHER_NS_F_WEIGHTED => Dither::NoiseShapingFWeighted,
SWR_DITHER_NS_MODIFIED_E_WEIGHTED => Dither::NoiseShapingModifiedEWeighted, SWR_DITHER_NS_MODIFIED_E_WEIGHTED => Dither::NoiseShapingModifiedEWeighted,
SWR_DITHER_NS_IMPROVED_E_WEIGHTED => Dither::NoiseShapingImprovedEWeighted, SWR_DITHER_NS_IMPROVED_E_WEIGHTED => Dither::NoiseShapingImprovedEWeighted,
SWR_DITHER_NS_SHIBATA => Dither::NoiseShapingShibata, SWR_DITHER_NS_SHIBATA => Dither::NoiseShapingShibata,
SWR_DITHER_NS_LOW_SHIBATA => Dither::NoiseShapingLowShibata, SWR_DITHER_NS_LOW_SHIBATA => Dither::NoiseShapingLowShibata,
SWR_DITHER_NS_HIGH_SHIBATA => Dither::NoiseShapingHighShibata, SWR_DITHER_NS_HIGH_SHIBATA => Dither::NoiseShapingHighShibata,
SWR_DITHER_NB => Dither::None, SWR_DITHER_NB => Dither::None,
} }
} }
} }
@ -40,18 +40,18 @@ impl From<SwrDitherType> for Dither {
impl Into<SwrDitherType> for Dither { impl Into<SwrDitherType> for Dither {
fn into(self) -> SwrDitherType { fn into(self) -> SwrDitherType {
match self { match self {
Dither::None => SWR_DITHER_NONE, Dither::None => SWR_DITHER_NONE,
Dither::Rectangular => SWR_DITHER_RECTANGULAR, Dither::Rectangular => SWR_DITHER_RECTANGULAR,
Dither::Triangular => SWR_DITHER_TRIANGULAR, Dither::Triangular => SWR_DITHER_TRIANGULAR,
Dither::TriangularHighPass => SWR_DITHER_TRIANGULAR_HIGHPASS, Dither::TriangularHighPass => SWR_DITHER_TRIANGULAR_HIGHPASS,
Dither::NoiseShapingLipshitz => SWR_DITHER_NS_LIPSHITZ, Dither::NoiseShapingLipshitz => SWR_DITHER_NS_LIPSHITZ,
Dither::NoiseShapingFWeighted => SWR_DITHER_NS_F_WEIGHTED, Dither::NoiseShapingFWeighted => SWR_DITHER_NS_F_WEIGHTED,
Dither::NoiseShapingModifiedEWeighted => SWR_DITHER_NS_MODIFIED_E_WEIGHTED, Dither::NoiseShapingModifiedEWeighted => SWR_DITHER_NS_MODIFIED_E_WEIGHTED,
Dither::NoiseShapingImprovedEWeighted => SWR_DITHER_NS_IMPROVED_E_WEIGHTED, Dither::NoiseShapingImprovedEWeighted => SWR_DITHER_NS_IMPROVED_E_WEIGHTED,
Dither::NoiseShapingShibata => SWR_DITHER_NS_SHIBATA, Dither::NoiseShapingShibata => SWR_DITHER_NS_SHIBATA,
Dither::NoiseShapingLowShibata => SWR_DITHER_NS_LOW_SHIBATA, Dither::NoiseShapingLowShibata => SWR_DITHER_NS_LOW_SHIBATA,
Dither::NoiseShapingHighShibata => SWR_DITHER_NS_HIGH_SHIBATA, Dither::NoiseShapingHighShibata => SWR_DITHER_NS_HIGH_SHIBATA,
} }
} }
} }

View File

@ -10,9 +10,9 @@ pub enum Filter {
impl From<SwrFilterType> for Filter { impl From<SwrFilterType> for Filter {
fn from(value: SwrFilterType) -> Filter { fn from(value: SwrFilterType) -> Filter {
match value { match value {
SWR_FILTER_TYPE_CUBIC => Filter::Cubic, SWR_FILTER_TYPE_CUBIC => Filter::Cubic,
SWR_FILTER_TYPE_BLACKMAN_NUTTALL => Filter::BlackmanNuttall, SWR_FILTER_TYPE_BLACKMAN_NUTTALL => Filter::BlackmanNuttall,
SWR_FILTER_TYPE_KAISER => Filter::Kaiser, SWR_FILTER_TYPE_KAISER => Filter::Kaiser,
} }
} }
} }
@ -20,9 +20,9 @@ impl From<SwrFilterType> for Filter {
impl Into<SwrFilterType> for Filter { impl Into<SwrFilterType> for Filter {
fn into(self) -> SwrFilterType { fn into(self) -> SwrFilterType {
match self { match self {
Filter::Cubic => SWR_FILTER_TYPE_CUBIC, Filter::Cubic => SWR_FILTER_TYPE_CUBIC,
Filter::BlackmanNuttall => SWR_FILTER_TYPE_BLACKMAN_NUTTALL, Filter::BlackmanNuttall => SWR_FILTER_TYPE_BLACKMAN_NUTTALL,
Filter::Kaiser => SWR_FILTER_TYPE_KAISER, Filter::Kaiser => SWR_FILTER_TYPE_KAISER,
} }
} }
} }

View File

@ -20,6 +20,8 @@ pub enum Type {
MotionVectors, MotionVectors,
SkipSamples, SkipSamples,
AudioServiceType, AudioServiceType,
MasteringDisplayMetadata,
GOPTimecode,
} }
impl Type { impl Type {
@ -45,7 +47,9 @@ impl From<AVFrameSideDataType> for Type {
AV_FRAME_DATA_AFD => Type::AFD, AV_FRAME_DATA_AFD => Type::AFD,
AV_FRAME_DATA_MOTION_VECTORS => Type::MotionVectors, AV_FRAME_DATA_MOTION_VECTORS => Type::MotionVectors,
AV_FRAME_DATA_SKIP_SAMPLES => Type::SkipSamples, AV_FRAME_DATA_SKIP_SAMPLES => Type::SkipSamples,
AV_FRAME_DATA_AUDIO_SERVICE_TYPE => Type::AudioServiceType AV_FRAME_DATA_AUDIO_SERVICE_TYPE => Type::AudioServiceType,
AV_FRAME_DATA_MASTERING_DISPLAY_METADATA => Type::MasteringDisplayMetadata,
AV_FRAME_DATA_GOP_TIMECODE => Type::GOPTimecode,
} }
} }
} }
@ -64,7 +68,9 @@ impl Into<AVFrameSideDataType> for Type {
Type::AFD => AV_FRAME_DATA_AFD, Type::AFD => AV_FRAME_DATA_AFD,
Type::MotionVectors => AV_FRAME_DATA_MOTION_VECTORS, Type::MotionVectors => AV_FRAME_DATA_MOTION_VECTORS,
Type::SkipSamples => AV_FRAME_DATA_SKIP_SAMPLES, Type::SkipSamples => AV_FRAME_DATA_SKIP_SAMPLES,
Type::AudioServiceType => AV_FRAME_DATA_AUDIO_SERVICE_TYPE Type::AudioServiceType => AV_FRAME_DATA_AUDIO_SERVICE_TYPE,
Type::MasteringDisplayMetadata => AV_FRAME_DATA_MASTERING_DISPLAY_METADATA,
Type::GOPTimecode => AV_FRAME_DATA_GOP_TIMECODE,
} }
} }
} }