From 19548810dd64722db3e8e853d5d2a07af0be6631 Mon Sep 17 00:00:00 2001 From: meh Date: Tue, 15 Sep 2015 20:53:49 +0200 Subject: [PATCH] *: update to 2.8 --- Cargo.toml | 2 +- src/codec/capabilities.rs | 36 +++++------ src/codec/flag.rs | 46 +++++++------- src/codec/id.rs | 111 ++++++++++++++++++++-------------- src/codec/packet/side_data.rs | 3 + src/util/channel_layout.rs | 55 ++++++++--------- src/util/format/pixel.rs | 20 +++++- 7 files changed, 156 insertions(+), 117 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 35c94a7..5cd9081 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -31,6 +31,6 @@ version = "*" optional = true [dependencies.ffmpeg-sys] -version = "2.7.0" +version = "2.8.0" default-features = false diff --git a/src/codec/capabilities.rs b/src/codec/capabilities.rs index c4a5a25..17980bf 100644 --- a/src/codec/capabilities.rs +++ b/src/codec/capabilities.rs @@ -3,23 +3,23 @@ use ffi::*; bitflags! { flags Capabilities: c_uint { - const DRAW_HORIZ_BAND = CODEC_CAP_DRAW_HORIZ_BAND, - const DR1 = CODEC_CAP_DR1, - const TRUNCATED = CODEC_CAP_TRUNCATED, - const HWACCEL = CODEC_CAP_HWACCEL, - const DELAY = CODEC_CAP_DELAY, - const SMALL_LAST_FRAME = CODEC_CAP_SMALL_LAST_FRAME, - const HWACCEL_VDPAU = CODEC_CAP_HWACCEL_VDPAU, - const SUBFRAMES = CODEC_CAP_SUBFRAMES, - const EXPERIMENTAL = CODEC_CAP_EXPERIMENTAL, - const CHANNEL_CONF = CODEC_CAP_CHANNEL_CONF, - const NEG_LINESIZES = CODEC_CAP_NEG_LINESIZES, - const FRAME_THREADS = CODEC_CAP_FRAME_THREADS, - const SLICE_THREADS = CODEC_CAP_SLICE_THREADS, - const PARAM_CHANGE = CODEC_CAP_PARAM_CHANGE, - const AUTO_THREADS = CODEC_CAP_AUTO_THREADS, - const VARIABLE_FRAME_SIZE = CODEC_CAP_VARIABLE_FRAME_SIZE, - const INTRA_ONLY = CODEC_CAP_INTRA_ONLY, - const LOSSLESS = CODEC_CAP_LOSSLESS, + const DRAW_HORIZ_BAND = AV_CODEC_CAP_DRAW_HORIZ_BAND, + const DR1 = AV_CODEC_CAP_DR1, + const TRUNCATED = AV_CODEC_CAP_TRUNCATED, + const HWACCEL = AV_CODEC_CAP_HWACCEL, + const DELAY = AV_CODEC_CAP_DELAY, + const SMALL_LAST_FRAME = AV_CODEC_CAP_SMALL_LAST_FRAME, + const HWACCEL_VDPAU = AV_CODEC_CAP_HWACCEL_VDPAU, + const SUBFRAMES = AV_CODEC_CAP_SUBFRAMES, + const EXPERIMENTAL = AV_CODEC_CAP_EXPERIMENTAL, + 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 SLICE_THREADS = AV_CODEC_CAP_SLICE_THREADS, + const PARAM_CHANGE = AV_CODEC_CAP_PARAM_CHANGE, + const AUTO_THREADS = AV_CODEC_CAP_AUTO_THREADS, + const VARIABLE_FRAME_SIZE = AV_CODEC_CAP_VARIABLE_FRAME_SIZE, + const INTRA_ONLY = AV_CODEC_CAP_INTRA_ONLY, + const LOSSLESS = AV_CODEC_CAP_LOSSLESS, } } diff --git a/src/codec/flag.rs b/src/codec/flag.rs index b341ea5..ed1ca50 100644 --- a/src/codec/flag.rs +++ b/src/codec/flag.rs @@ -3,29 +3,29 @@ use ffi::*; bitflags! { flags Flags: c_uint { - const UNALIGNED = CODEC_FLAG_UNALIGNED, - const QSCALE = CODEC_FLAG_QSCALE, - const _4MV = CODEC_FLAG_4MV, - const OUTPUT_CORRUPT = CODEC_FLAG_OUTPUT_CORRUPT, - const QPEL = CODEC_FLAG_QPEL, - const GMC = CODEC_FLAG_GMC, - const MV0 = CODEC_FLAG_MV0, - const INPUT_PRESERVED = CODEC_FLAG_INPUT_PRESERVED, - const PASS1 = CODEC_FLAG_PASS1, - const PASS2 = CODEC_FLAG_PASS2, - const GRAY = CODEC_FLAG_GRAY, - const EMU_EDGE = CODEC_FLAG_EMU_EDGE, - const PSNR = CODEC_FLAG_PSNR, - const TRUNCATED = CODEC_FLAG_TRUNCATED, - const NORMALIZE_AQP = CODEC_FLAG_NORMALIZE_AQP, - const INTERLACED_DCT = CODEC_FLAG_INTERLACED_DCT, - const LOW_DELAY = CODEC_FLAG_LOW_DELAY, - const GLOBAL_HEADER = CODEC_FLAG_GLOBAL_HEADER, - const BITEXACT = CODEC_FLAG_BITEXACT, - const AC_PRED = CODEC_FLAG_AC_PRED, - const LOOP_FILTER = CODEC_FLAG_LOOP_FILTER, - const INTERLACED_ME = CODEC_FLAG_INTERLACED_ME, - const CLOSED_GOP = CODEC_FLAG_CLOSED_GOP, + const UNALIGNED = AV_CODEC_FLAG_UNALIGNED, + const QSCALE = AV_CODEC_FLAG_QSCALE, + const _4MV = AV_CODEC_FLAG_4MV, + const OUTPUT_CORRUPT = AV_CODEC_FLAG_OUTPUT_CORRUPT, + 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 PASS2 = AV_CODEC_FLAG_PASS2, + const GRAY = AV_CODEC_FLAG_GRAY, + const EMU_EDGE = AV_CODEC_FLAG_EMU_EDGE, + const PSNR = AV_CODEC_FLAG_PSNR, + const TRUNCATED = AV_CODEC_FLAG_TRUNCATED, + const NORMALIZE_AQP = AV_CODEC_FLAG_NORMALIZE_AQP, + const INTERLACED_DCT = AV_CODEC_FLAG_INTERLACED_DCT, + const LOW_DELAY = AV_CODEC_FLAG_LOW_DELAY, + const GLOBAL_HEADER = AV_CODEC_FLAG_GLOBAL_HEADER, + const BITEXACT = AV_CODEC_FLAG_BITEXACT, + const AC_PRED = AV_CODEC_FLAG_AC_PRED, + const LOOP_FILTER = AV_CODEC_FLAG_LOOP_FILTER, + const INTERLACED_ME = AV_CODEC_FLAG_INTERLACED_ME, + const CLOSED_GOP = AV_CODEC_FLAG_CLOSED_GOP, } } diff --git a/src/codec/id.rs b/src/codec/id.rs index 35c94a8..21a8150 100644 --- a/src/codec/id.rs +++ b/src/codec/id.rs @@ -198,6 +198,8 @@ pub enum Id { HQX, TDSC, HQ_HQA, + HAP, + DDS, BRENDER_PIX, Y41P, @@ -259,6 +261,7 @@ pub enum Id { PCM_S8_PLANAR, PCM_S24LE_PLANAR_DEPRECATED, PCM_S32LE_PLANAR_DEPRECATED, + PCM_S16BE_PLANAR_DEPRECATED, PCM_S24LE_PLANAR, PCM_S32LE_PLANAR, PCM_S16BE_PLANAR, @@ -302,6 +305,7 @@ pub enum Id { ADPCM_DTK, ADPCM_IMA_RAD, ADPCM_G726LE, + ADPCM_THP_LE, // AMR AMR_NB, @@ -398,6 +402,7 @@ pub enum Id { DSD_MSBF, DSD_LSBF_PLANAR, DSD_MSBF_PLANAR, + _4GV, // subtitle codecs DVD_SUBTITLE, @@ -423,6 +428,7 @@ pub enum Id { VPLAYER, PJS, ASS, + HDMV_TEXT_SUBTITLE, // other specific kind of codecs (generally used for attachments) TTF, @@ -650,6 +656,8 @@ impl From for Id { AV_CODEC_ID_HQX => Id::HQX, AV_CODEC_ID_TDSC => Id::TDSC, AV_CODEC_ID_HQ_HQA => Id::HQ_HQA, + AV_CODEC_ID_HAP => Id::HAP, + AV_CODEC_ID_DDS => Id::DDS, AV_CODEC_ID_BRENDER_PIX => Id::BRENDER_PIX, AV_CODEC_ID_Y41P => Id::Y41P, @@ -711,6 +719,8 @@ impl From for Id { 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_S32LE_PLANAR => Id::PCM_S32LE_PLANAR, AV_CODEC_ID_PCM_S16BE_PLANAR => Id::PCM_S16BE_PLANAR, @@ -753,6 +763,7 @@ impl From for Id { AV_CODEC_ID_ADPCM_DTK => Id::ADPCM_DTK, AV_CODEC_ID_ADPCM_IMA_RAD => Id::ADPCM_IMA_RAD, AV_CODEC_ID_ADPCM_G726LE => Id::ADPCM_G726LE, + AV_CODEC_ID_ADPCM_THP_LE => Id::ADPCM_THP_LE, /* AMR */ AV_CODEC_ID_AMR_NB => Id::AMR_NB, @@ -849,31 +860,33 @@ impl From for Id { AV_CODEC_ID_DSD_MSBF => Id::DSD_MSBF, AV_CODEC_ID_DSD_LSBF_PLANAR => Id::DSD_LSBF_PLANAR, AV_CODEC_ID_DSD_MSBF_PLANAR => Id::DSD_MSBF_PLANAR, + AV_CODEC_ID_4GV => Id::_4GV, /* subtitle codecs */ - AV_CODEC_ID_DVD_SUBTITLE => Id::DVD_SUBTITLE, - AV_CODEC_ID_DVB_SUBTITLE => Id::DVB_SUBTITLE, - AV_CODEC_ID_TEXT => Id::TEXT, - AV_CODEC_ID_XSUB => Id::XSUB, - AV_CODEC_ID_SSA => Id::SSA, - AV_CODEC_ID_MOV_TEXT => Id::MOV_TEXT, - AV_CODEC_ID_HDMV_PGS_SUBTITLE => Id::HDMV_PGS_SUBTITLE, - AV_CODEC_ID_DVB_TELETEXT => Id::DVB_TELETEXT, - AV_CODEC_ID_SRT => Id::SRT, - AV_CODEC_ID_MICRODVD => Id::MICRODVD, - AV_CODEC_ID_EIA_608 => Id::EIA_608, - AV_CODEC_ID_JACOSUB => Id::JACOSUB, - AV_CODEC_ID_SAMI => Id::SAMI, - AV_CODEC_ID_REALTEXT => Id::REALTEXT, - AV_CODEC_ID_STL => Id::STL, - AV_CODEC_ID_SUBVIEWER1 => Id::SUBVIEWER1, - AV_CODEC_ID_SUBVIEWER => Id::SUBVIEWER, - AV_CODEC_ID_SUBRIP => Id::SUBRIP, - AV_CODEC_ID_WEBVTT => Id::WEBVTT, - AV_CODEC_ID_MPL2 => Id::MPL2, - AV_CODEC_ID_VPLAYER => Id::VPLAYER, - AV_CODEC_ID_PJS => Id::PJS, - AV_CODEC_ID_ASS => Id::ASS, + AV_CODEC_ID_DVD_SUBTITLE => Id::DVD_SUBTITLE, + AV_CODEC_ID_DVB_SUBTITLE => Id::DVB_SUBTITLE, + AV_CODEC_ID_TEXT => Id::TEXT, + AV_CODEC_ID_XSUB => Id::XSUB, + AV_CODEC_ID_SSA => Id::SSA, + AV_CODEC_ID_MOV_TEXT => Id::MOV_TEXT, + AV_CODEC_ID_HDMV_PGS_SUBTITLE => Id::HDMV_PGS_SUBTITLE, + AV_CODEC_ID_DVB_TELETEXT => Id::DVB_TELETEXT, + AV_CODEC_ID_SRT => Id::SRT, + AV_CODEC_ID_MICRODVD => Id::MICRODVD, + AV_CODEC_ID_EIA_608 => Id::EIA_608, + AV_CODEC_ID_JACOSUB => Id::JACOSUB, + AV_CODEC_ID_SAMI => Id::SAMI, + AV_CODEC_ID_REALTEXT => Id::REALTEXT, + AV_CODEC_ID_STL => Id::STL, + AV_CODEC_ID_SUBVIEWER1 => Id::SUBVIEWER1, + AV_CODEC_ID_SUBVIEWER => Id::SUBVIEWER, + AV_CODEC_ID_SUBRIP => Id::SUBRIP, + AV_CODEC_ID_WEBVTT => Id::WEBVTT, + AV_CODEC_ID_MPL2 => Id::MPL2, + AV_CODEC_ID_VPLAYER => Id::VPLAYER, + AV_CODEC_ID_PJS => Id::PJS, + AV_CODEC_ID_ASS => Id::ASS, + AV_CODEC_ID_HDMV_TEXT_SUBTITLE => Id::HDMV_TEXT_SUBTITLE, /* other specific kind of codecs (generally used for attachments) */ AV_CODEC_ID_TTF => Id::TTF, @@ -1089,6 +1102,8 @@ impl Into for Id { Id::HQX => AV_CODEC_ID_HQX, Id::TDSC => AV_CODEC_ID_TDSC, Id::HQ_HQA => AV_CODEC_ID_HQ_HQA, + Id::HAP => AV_CODEC_ID_HAP, + Id::DDS => AV_CODEC_ID_DDS, Id::BRENDER_PIX => AV_CODEC_ID_BRENDER_PIX, Id::Y41P => AV_CODEC_ID_Y41P, @@ -1150,6 +1165,7 @@ impl Into for Id { 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_S32LE_PLANAR => AV_CODEC_ID_PCM_S32LE_PLANAR, Id::PCM_S16BE_PLANAR => AV_CODEC_ID_PCM_S16BE_PLANAR, @@ -1193,6 +1209,7 @@ impl Into for Id { Id::ADPCM_DTK => AV_CODEC_ID_ADPCM_DTK, Id::ADPCM_IMA_RAD => AV_CODEC_ID_ADPCM_IMA_RAD, Id::ADPCM_G726LE => AV_CODEC_ID_ADPCM_G726LE, + Id::ADPCM_THP_LE => AV_CODEC_ID_ADPCM_THP_LE, /* AMR */ Id::AMR_NB => AV_CODEC_ID_AMR_NB, @@ -1289,31 +1306,33 @@ impl Into for Id { Id::DSD_MSBF => AV_CODEC_ID_DSD_MSBF, Id::DSD_LSBF_PLANAR => AV_CODEC_ID_DSD_LSBF_PLANAR, Id::DSD_MSBF_PLANAR => AV_CODEC_ID_DSD_MSBF_PLANAR, + Id::_4GV => AV_CODEC_ID_4GV, /* subtitle codecs */ - Id::DVD_SUBTITLE => AV_CODEC_ID_DVD_SUBTITLE, - Id::DVB_SUBTITLE => AV_CODEC_ID_DVB_SUBTITLE, - Id::TEXT => AV_CODEC_ID_TEXT, - Id::XSUB => AV_CODEC_ID_XSUB, - Id::SSA => AV_CODEC_ID_SSA, - Id::MOV_TEXT => AV_CODEC_ID_MOV_TEXT, - Id::HDMV_PGS_SUBTITLE => AV_CODEC_ID_HDMV_PGS_SUBTITLE, - Id::DVB_TELETEXT => AV_CODEC_ID_DVB_TELETEXT, - Id::SRT => AV_CODEC_ID_SRT, - Id::MICRODVD => AV_CODEC_ID_MICRODVD, - Id::EIA_608 => AV_CODEC_ID_EIA_608, - Id::JACOSUB => AV_CODEC_ID_JACOSUB, - Id::SAMI => AV_CODEC_ID_SAMI, - Id::REALTEXT => AV_CODEC_ID_REALTEXT, - Id::STL => AV_CODEC_ID_STL, - Id::SUBVIEWER1 => AV_CODEC_ID_SUBVIEWER1, - Id::SUBVIEWER => AV_CODEC_ID_SUBVIEWER, - Id::SUBRIP => AV_CODEC_ID_SUBRIP, - Id::WEBVTT => AV_CODEC_ID_WEBVTT, - Id::MPL2 => AV_CODEC_ID_MPL2, - Id::VPLAYER => AV_CODEC_ID_VPLAYER, - Id::PJS => AV_CODEC_ID_PJS, - Id::ASS => AV_CODEC_ID_ASS, + Id::DVD_SUBTITLE => AV_CODEC_ID_DVD_SUBTITLE, + Id::DVB_SUBTITLE => AV_CODEC_ID_DVB_SUBTITLE, + Id::TEXT => AV_CODEC_ID_TEXT, + Id::XSUB => AV_CODEC_ID_XSUB, + Id::SSA => AV_CODEC_ID_SSA, + Id::MOV_TEXT => AV_CODEC_ID_MOV_TEXT, + Id::HDMV_PGS_SUBTITLE => AV_CODEC_ID_HDMV_PGS_SUBTITLE, + Id::DVB_TELETEXT => AV_CODEC_ID_DVB_TELETEXT, + Id::SRT => AV_CODEC_ID_SRT, + Id::MICRODVD => AV_CODEC_ID_MICRODVD, + Id::EIA_608 => AV_CODEC_ID_EIA_608, + Id::JACOSUB => AV_CODEC_ID_JACOSUB, + Id::SAMI => AV_CODEC_ID_SAMI, + Id::REALTEXT => AV_CODEC_ID_REALTEXT, + Id::STL => AV_CODEC_ID_STL, + Id::SUBVIEWER1 => AV_CODEC_ID_SUBVIEWER1, + Id::SUBVIEWER => AV_CODEC_ID_SUBVIEWER, + Id::SUBRIP => AV_CODEC_ID_SUBRIP, + Id::WEBVTT => AV_CODEC_ID_WEBVTT, + Id::MPL2 => AV_CODEC_ID_MPL2, + Id::VPLAYER => AV_CODEC_ID_VPLAYER, + Id::PJS => AV_CODEC_ID_PJS, + Id::ASS => AV_CODEC_ID_ASS, + Id::HDMV_TEXT_SUBTITLE => AV_CODEC_ID_HDMV_TEXT_SUBTITLE, /* other specific kind of codecs (generally used for attachments) */ Id::TTF => AV_CODEC_ID_TTF, diff --git a/src/codec/packet/side_data.rs b/src/codec/packet/side_data.rs index 090c034..4a2e898 100644 --- a/src/codec/packet/side_data.rs +++ b/src/codec/packet/side_data.rs @@ -14,6 +14,7 @@ pub enum Type { DisplayMatrix, Stereo3d, AudioServiceType, + QualityStats, SkipSamples, JpDualMono, StringsMetadata, @@ -35,6 +36,7 @@ impl From for Type { AV_PKT_DATA_DISPLAYMATRIX => Type::DisplayMatrix, AV_PKT_DATA_STEREO3D => Type::Stereo3d, AV_PKT_DATA_AUDIO_SERVICE_TYPE => Type::AudioServiceType, + AV_PKT_DATA_QUALITY_STATS => Type::QualityStats, AV_PKT_DATA_SKIP_SAMPLES => Type::SkipSamples, AV_PKT_DATA_JP_DUALMONO => Type::JpDualMono, AV_PKT_DATA_STRINGS_METADATA => Type::StringsMetadata, @@ -58,6 +60,7 @@ impl Into for Type { Type::DisplayMatrix => AV_PKT_DATA_DISPLAYMATRIX, Type::Stereo3d => AV_PKT_DATA_STEREO3D, Type::AudioServiceType => AV_PKT_DATA_AUDIO_SERVICE_TYPE, + Type::QualityStats => AV_PKT_DATA_QUALITY_STATS, Type::SkipSamples => AV_PKT_DATA_SKIP_SAMPLES, Type::JpDualMono => AV_PKT_DATA_JP_DUALMONO, Type::StringsMetadata => AV_PKT_DATA_STRINGS_METADATA, diff --git a/src/util/channel_layout.rs b/src/util/channel_layout.rs index a5f1677..a761d8c 100644 --- a/src/util/channel_layout.rs +++ b/src/util/channel_layout.rs @@ -30,33 +30,34 @@ bitflags! { const LOW_FREQUENCY_2 = AV_CH_LOW_FREQUENCY_2, const NATIVE = AV_CH_LAYOUT_NATIVE, - const MONO = FRONT_CENTER.bits, - const STEREO = FRONT_LEFT.bits | FRONT_RIGHT.bits, - const _2POINT1 = STEREO.bits | LOW_FREQUENCY.bits, - const _2_1 = STEREO.bits | BACK_CENTER.bits, - const SURROUND = STEREO.bits | FRONT_CENTER.bits, - const _3POINT1 = SURROUND.bits | LOW_FREQUENCY.bits, - const _4POINT0 = SURROUND.bits | BACK_CENTER.bits, - const _4POINT1 = _4POINT0.bits | LOW_FREQUENCY.bits, - const _2_2 = STEREO.bits | SIDE_LEFT.bits | SIDE_RIGHT.bits, - const QUAD = STEREO.bits | BACK_LEFT.bits | BACK_RIGHT.bits, - const _5POINT0 = SURROUND.bits | SIDE_LEFT.bits | SIDE_RIGHT.bits, - const _5POINT1 = _5POINT0.bits | LOW_FREQUENCY.bits, - const _5POINT0_BACK = SURROUND.bits | BACK_LEFT.bits | BACK_RIGHT.bits, - const _5POINT1_BACK = _5POINT0_BACK.bits | LOW_FREQUENCY.bits, - const _6POINT0 = _5POINT0.bits | BACK_CENTER.bits, - const _6POINT0_FRONT = _2_2.bits | FRONT_LEFT_OF_CENTER.bits | FRONT_RIGHT_OF_CENTER.bits, - const HEXAGONAL = _5POINT0_BACK.bits | BACK_CENTER.bits, - const _6POINT1 = _5POINT1.bits | BACK_CENTER.bits, - const _6POINT1_BACK = _5POINT1_BACK.bits | BACK_CENTER.bits, - const _6POINT1_FRONT = _6POINT0_FRONT.bits | LOW_FREQUENCY.bits, - const _7POINT0 = _5POINT0.bits | BACK_LEFT.bits | BACK_RIGHT.bits, - const _7POINT0_FRONT = _5POINT0.bits | FRONT_LEFT_OF_CENTER.bits | FRONT_RIGHT_OF_CENTER.bits, - const _7POINT1 = _5POINT1.bits | BACK_LEFT.bits | BACK_RIGHT.bits, - const _7POINT1_WIDE = _5POINT1.bits | FRONT_LEFT_OF_CENTER.bits | FRONT_RIGHT_OF_CENTER.bits, - const _7POINT1_WIDE_BACK = _5POINT1_BACK.bits | FRONT_LEFT_OF_CENTER.bits | FRONT_RIGHT_OF_CENTER.bits, - const OCTAGONAL = _5POINT0.bits | BACK_LEFT.bits | BACK_CENTER.bits | BACK_RIGHT.bits, - const STEREO_DOWNMIX = STEREO_LEFT.bits | STEREO_RIGHT.bits, + const MONO = AV_CH_LAYOUT_MONO, + const STEREO = AV_CH_LAYOUT_STEREO, + const _2POINT1 = AV_CH_LAYOUT_2POINT1, + const _2_1 = AV_CH_LAYOUT_2_1, + const SURROUND = AV_CH_LAYOUT_SURROUND, + const _3POINT1 = AV_CH_LAYOUT_3POINT1, + const _4POINT0 = AV_CH_LAYOUT_4POINT0, + const _4POINT1 = AV_CH_LAYOUT_4POINT1, + const _2_2 = AV_CH_LAYOUT_2_2, + const QUAD = AV_CH_LAYOUT_QUAD, + const _5POINT0 = AV_CH_LAYOUT_5POINT0, + const _5POINT1 = AV_CH_LAYOUT_5POINT1, + const _5POINT0_BACK = AV_CH_LAYOUT_5POINT0_BACK, + const _5POINT1_BACK = AV_CH_LAYOUT_5POINT1_BACK, + const _6POINT0 = AV_CH_LAYOUT_6POINT0, + const _6POINT0_FRONT = AV_CH_LAYOUT_6POINT0_FRONT, + const HEXAGONAL = AV_CH_LAYOUT_HEXAGONAL, + const _6POINT1 = AV_CH_LAYOUT_6POINT1, + const _6POINT1_BACK = AV_CH_LAYOUT_6POINT1_BACK, + const _6POINT1_FRONT = AV_CH_LAYOUT_6POINT1_FRONT, + const _7POINT0 = AV_CH_LAYOUT_7POINT0, + const _7POINT0_FRONT = AV_CH_LAYOUT_7POINT0_FRONT, + const _7POINT1 = AV_CH_LAYOUT_7POINT1, + const _7POINT1_WIDE = AV_CH_LAYOUT_7POINT1_WIDE, + const _7POINT1_WIDE_BACK = AV_CH_LAYOUT_7POINT1_WIDE_BACK, + const OCTAGONAL = AV_CH_LAYOUT_OCTAGONAL, + const HEXADECAGONAL = AV_CH_LAYOUT_HEXADECAGONAL, + const STEREO_DOWNMIX = AV_CH_LAYOUT_STEREO_DOWNMIX, } } diff --git a/src/util/format/pixel.rs b/src/util/format/pixel.rs index 267d4b3..d587456 100644 --- a/src/util/format/pixel.rs +++ b/src/util/format/pixel.rs @@ -63,6 +63,7 @@ pub enum Pixel { VAAPI_MOCO, VAAPI_IDCT, VAAPI_VLD, + VAAPI, YUV420P16LE, YUV420P16BE, @@ -199,6 +200,10 @@ pub enum Pixel { YUV440P10BE, YUV440P12LE, YUV440P12BE, + AYUV64LE, + AYUV64BE, + + VIDEOTOOLBOX, // --- defaults XVMC, @@ -266,6 +271,7 @@ pub enum Pixel { XYZ12, NV20, + AYUV64, } impl From for Pixel { @@ -468,6 +474,10 @@ impl From for Pixel { AV_PIX_FMT_YUV440P10BE => Pixel::YUV440P10BE, AV_PIX_FMT_YUV440P12LE => Pixel::YUV440P12LE, AV_PIX_FMT_YUV440P12BE => Pixel::YUV440P12BE, + AV_PIX_FMT_AYUV64LE => Pixel::AYUV64LE, + AV_PIX_FMT_AYUV64BE => Pixel::AYUV64BE, + + AV_PIX_FMT_VIDEOTOOLBOX => Pixel::VIDEOTOOLBOX, AV_PIX_FMT_NB => Pixel::None } @@ -538,6 +548,7 @@ impl Into for Pixel { Pixel::VAAPI_MOCO => AV_PIX_FMT_VAAPI_MOCO, Pixel::VAAPI_IDCT => AV_PIX_FMT_VAAPI_IDCT, Pixel::VAAPI_VLD => AV_PIX_FMT_VAAPI_VLD, + Pixel::VAAPI => AV_PIX_FMT_VAAPI_VLD, Pixel::YUV420P16LE => AV_PIX_FMT_YUV420P16LE, Pixel::YUV420P16BE => AV_PIX_FMT_YUV420P16BE, @@ -674,6 +685,10 @@ impl Into for Pixel { Pixel::YUV440P10BE => AV_PIX_FMT_YUV440P10BE, Pixel::YUV440P12LE => AV_PIX_FMT_YUV440P12LE, Pixel::YUV440P12BE => AV_PIX_FMT_YUV440P12BE, + Pixel::AYUV64LE => AV_PIX_FMT_AYUV64LE, + Pixel::AYUV64BE => AV_PIX_FMT_AYUV64BE, + + Pixel::VIDEOTOOLBOX => AV_PIX_FMT_VIDEOTOOLBOX, // --- defaults Pixel::XVMC => AV_PIX_FMT_XVMC, @@ -739,8 +754,9 @@ impl Into for Pixel { Pixel::YUVA422P16 => AV_PIX_FMT_YUVA422P16, Pixel::YUVA444P16 => AV_PIX_FMT_YUVA444P16, - Pixel::XYZ12 => AV_PIX_FMT_XYZ12, - Pixel::NV20 => AV_PIX_FMT_NV20, + Pixel::XYZ12 => AV_PIX_FMT_XYZ12, + Pixel::NV20 => AV_PIX_FMT_NV20, + Pixel::AYUV64 => AV_PIX_FMT_AYUV64, } } }