mirror of
https://github.com/encounter/rust-ffmpeg-zmwangx.git
synced 2026-07-10 21:18:40 -07:00
*: upgrade to 3.2
Fix errors when built with https://github.com/meh/rust-ffmpeg-sys/pull/35.
This commit is contained in:
+1
-1
@@ -95,5 +95,5 @@ version = "0.4"
|
||||
optional = true
|
||||
|
||||
[dependencies.ffmpeg-sys]
|
||||
version = "2.8"
|
||||
version = "3.2"
|
||||
default-features = false
|
||||
|
||||
@@ -6,14 +6,12 @@ bitflags! {
|
||||
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,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use std::ops::{Deref, DerefMut};
|
||||
|
||||
use libc::c_int;
|
||||
use libc::{c_int, int64_t};
|
||||
use codec::Context;
|
||||
use ::{Error, Rational, media};
|
||||
use super::{video, audio, subtitle};
|
||||
@@ -70,13 +70,13 @@ impl Encoder {
|
||||
|
||||
pub fn set_bit_rate(&mut self, value: usize) {
|
||||
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) {
|
||||
unsafe {
|
||||
(*self.as_mut_ptr()).rc_max_rate = value as c_int;
|
||||
(*self.as_mut_ptr()).rc_max_rate = value as int64_t;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,16 +8,11 @@ bitflags! {
|
||||
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,
|
||||
|
||||
+170
-143
File diff suppressed because it is too large
Load Diff
@@ -15,6 +15,8 @@ pub enum Type {
|
||||
Stereo3d,
|
||||
AudioServiceType,
|
||||
QualityStats,
|
||||
FallbackTrack,
|
||||
CBPProperties,
|
||||
SkipSamples,
|
||||
JpDualMono,
|
||||
StringsMetadata,
|
||||
@@ -23,28 +25,34 @@ pub enum Type {
|
||||
WebVTTIdentifier,
|
||||
WebVTTSettings,
|
||||
MetadataUpdate,
|
||||
MPEGTSStreamID,
|
||||
MasteringDisplayMetadata
|
||||
}
|
||||
|
||||
impl From<AVPacketSideDataType> for Type {
|
||||
fn from(value: AVPacketSideDataType) -> Self {
|
||||
match value {
|
||||
AV_PKT_DATA_PALETTE => Type::Palette,
|
||||
AV_PKT_DATA_NEW_EXTRADATA => Type::NewExtraData,
|
||||
AV_PKT_DATA_PARAM_CHANGE => Type::ParamChange,
|
||||
AV_PKT_DATA_H263_MB_INFO => Type::H263MbInfo,
|
||||
AV_PKT_DATA_REPLAYGAIN => Type::ReplayGain,
|
||||
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,
|
||||
AV_PKT_DATA_SUBTITLE_POSITION => Type::SubtitlePosition,
|
||||
AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL => Type::MatroskaBlockAdditional,
|
||||
AV_PKT_DATA_WEBVTT_IDENTIFIER => Type::WebVTTIdentifier,
|
||||
AV_PKT_DATA_WEBVTT_SETTINGS => Type::WebVTTSettings,
|
||||
AV_PKT_DATA_METADATA_UPDATE => Type::MetadataUpdate
|
||||
AV_PKT_DATA_PALETTE => Type::Palette,
|
||||
AV_PKT_DATA_NEW_EXTRADATA => Type::NewExtraData,
|
||||
AV_PKT_DATA_PARAM_CHANGE => Type::ParamChange,
|
||||
AV_PKT_DATA_H263_MB_INFO => Type::H263MbInfo,
|
||||
AV_PKT_DATA_REPLAYGAIN => Type::ReplayGain,
|
||||
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_FALLBACK_TRACK => Type::FallbackTrack,
|
||||
AV_PKT_DATA_CPB_PROPERTIES => Type::CBPProperties,
|
||||
AV_PKT_DATA_SKIP_SAMPLES => Type::SkipSamples,
|
||||
AV_PKT_DATA_JP_DUALMONO => Type::JpDualMono,
|
||||
AV_PKT_DATA_STRINGS_METADATA => Type::StringsMetadata,
|
||||
AV_PKT_DATA_SUBTITLE_POSITION => Type::SubtitlePosition,
|
||||
AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL => Type::MatroskaBlockAdditional,
|
||||
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 {
|
||||
fn into(self) -> AVPacketSideDataType {
|
||||
match self {
|
||||
Type::Palette => AV_PKT_DATA_PALETTE,
|
||||
Type::NewExtraData => AV_PKT_DATA_NEW_EXTRADATA,
|
||||
Type::ParamChange => AV_PKT_DATA_PARAM_CHANGE,
|
||||
Type::H263MbInfo => AV_PKT_DATA_H263_MB_INFO,
|
||||
Type::ReplayGain => AV_PKT_DATA_REPLAYGAIN,
|
||||
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,
|
||||
Type::SubtitlePosition => AV_PKT_DATA_SUBTITLE_POSITION,
|
||||
Type::MatroskaBlockAdditional => AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
|
||||
Type::WebVTTIdentifier => AV_PKT_DATA_WEBVTT_IDENTIFIER,
|
||||
Type::WebVTTSettings => AV_PKT_DATA_WEBVTT_SETTINGS,
|
||||
Type::MetadataUpdate => AV_PKT_DATA_METADATA_UPDATE
|
||||
Type::Palette => AV_PKT_DATA_PALETTE,
|
||||
Type::NewExtraData => AV_PKT_DATA_NEW_EXTRADATA,
|
||||
Type::ParamChange => AV_PKT_DATA_PARAM_CHANGE,
|
||||
Type::H263MbInfo => AV_PKT_DATA_H263_MB_INFO,
|
||||
Type::ReplayGain => AV_PKT_DATA_REPLAYGAIN,
|
||||
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::FallbackTrack => AV_PKT_DATA_FALLBACK_TRACK,
|
||||
Type::CBPProperties => AV_PKT_DATA_CPB_PROPERTIES,
|
||||
Type::SkipSamples => AV_PKT_DATA_SKIP_SAMPLES,
|
||||
Type::JpDualMono => AV_PKT_DATA_JP_DUALMONO,
|
||||
Type::StringsMetadata => AV_PKT_DATA_STRINGS_METADATA,
|
||||
Type::SubtitlePosition => AV_PKT_DATA_SUBTITLE_POSITION,
|
||||
Type::MatroskaBlockAdditional => AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL,
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,20 +19,20 @@ pub enum Dither {
|
||||
impl From<SwrDitherType> for Dither {
|
||||
fn from(value: SwrDitherType) -> Dither {
|
||||
match value {
|
||||
SWR_DITHER_NONE => Dither::None,
|
||||
SWR_DITHER_RECTANGULAR => Dither::Rectangular,
|
||||
SWR_DITHER_TRIANGULAR => Dither::Triangular,
|
||||
SWR_DITHER_TRIANGULAR_HIGHPASS => Dither::TriangularHighPass,
|
||||
|
||||
SWR_DITHER_NS => Dither::None,
|
||||
SWR_DITHER_NS_LIPSHITZ => Dither::NoiseShapingLipshitz,
|
||||
SWR_DITHER_NS_F_WEIGHTED => Dither::NoiseShapingFWeighted,
|
||||
SWR_DITHER_NS_MODIFIED_E_WEIGHTED => Dither::NoiseShapingModifiedEWeighted,
|
||||
SWR_DITHER_NS_IMPROVED_E_WEIGHTED => Dither::NoiseShapingImprovedEWeighted,
|
||||
SWR_DITHER_NS_SHIBATA => Dither::NoiseShapingShibata,
|
||||
SWR_DITHER_NS_LOW_SHIBATA => Dither::NoiseShapingLowShibata,
|
||||
SWR_DITHER_NS_HIGH_SHIBATA => Dither::NoiseShapingHighShibata,
|
||||
SWR_DITHER_NB => Dither::None,
|
||||
SWR_DITHER_NONE => Dither::None,
|
||||
SWR_DITHER_RECTANGULAR => Dither::Rectangular,
|
||||
SWR_DITHER_TRIANGULAR => Dither::Triangular,
|
||||
SWR_DITHER_TRIANGULAR_HIGHPASS => Dither::TriangularHighPass,
|
||||
|
||||
SWR_DITHER_NS => Dither::None,
|
||||
SWR_DITHER_NS_LIPSHITZ => Dither::NoiseShapingLipshitz,
|
||||
SWR_DITHER_NS_F_WEIGHTED => Dither::NoiseShapingFWeighted,
|
||||
SWR_DITHER_NS_MODIFIED_E_WEIGHTED => Dither::NoiseShapingModifiedEWeighted,
|
||||
SWR_DITHER_NS_IMPROVED_E_WEIGHTED => Dither::NoiseShapingImprovedEWeighted,
|
||||
SWR_DITHER_NS_SHIBATA => Dither::NoiseShapingShibata,
|
||||
SWR_DITHER_NS_LOW_SHIBATA => Dither::NoiseShapingLowShibata,
|
||||
SWR_DITHER_NS_HIGH_SHIBATA => Dither::NoiseShapingHighShibata,
|
||||
SWR_DITHER_NB => Dither::None,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -40,18 +40,18 @@ impl From<SwrDitherType> for Dither {
|
||||
impl Into<SwrDitherType> for Dither {
|
||||
fn into(self) -> SwrDitherType {
|
||||
match self {
|
||||
Dither::None => SWR_DITHER_NONE,
|
||||
Dither::Rectangular => SWR_DITHER_RECTANGULAR,
|
||||
Dither::Triangular => SWR_DITHER_TRIANGULAR,
|
||||
Dither::TriangularHighPass => SWR_DITHER_TRIANGULAR_HIGHPASS,
|
||||
|
||||
Dither::NoiseShapingLipshitz => SWR_DITHER_NS_LIPSHITZ,
|
||||
Dither::NoiseShapingFWeighted => SWR_DITHER_NS_F_WEIGHTED,
|
||||
Dither::NoiseShapingModifiedEWeighted => SWR_DITHER_NS_MODIFIED_E_WEIGHTED,
|
||||
Dither::NoiseShapingImprovedEWeighted => SWR_DITHER_NS_IMPROVED_E_WEIGHTED,
|
||||
Dither::NoiseShapingShibata => SWR_DITHER_NS_SHIBATA,
|
||||
Dither::NoiseShapingLowShibata => SWR_DITHER_NS_LOW_SHIBATA,
|
||||
Dither::NoiseShapingHighShibata => SWR_DITHER_NS_HIGH_SHIBATA,
|
||||
Dither::None => SWR_DITHER_NONE,
|
||||
Dither::Rectangular => SWR_DITHER_RECTANGULAR,
|
||||
Dither::Triangular => SWR_DITHER_TRIANGULAR,
|
||||
Dither::TriangularHighPass => SWR_DITHER_TRIANGULAR_HIGHPASS,
|
||||
|
||||
Dither::NoiseShapingLipshitz => SWR_DITHER_NS_LIPSHITZ,
|
||||
Dither::NoiseShapingFWeighted => SWR_DITHER_NS_F_WEIGHTED,
|
||||
Dither::NoiseShapingModifiedEWeighted => SWR_DITHER_NS_MODIFIED_E_WEIGHTED,
|
||||
Dither::NoiseShapingImprovedEWeighted => SWR_DITHER_NS_IMPROVED_E_WEIGHTED,
|
||||
Dither::NoiseShapingShibata => SWR_DITHER_NS_SHIBATA,
|
||||
Dither::NoiseShapingLowShibata => SWR_DITHER_NS_LOW_SHIBATA,
|
||||
Dither::NoiseShapingHighShibata => SWR_DITHER_NS_HIGH_SHIBATA,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,9 +10,9 @@ pub enum Filter {
|
||||
impl From<SwrFilterType> for Filter {
|
||||
fn from(value: SwrFilterType) -> Filter {
|
||||
match value {
|
||||
SWR_FILTER_TYPE_CUBIC => Filter::Cubic,
|
||||
SWR_FILTER_TYPE_BLACKMAN_NUTTALL => Filter::BlackmanNuttall,
|
||||
SWR_FILTER_TYPE_KAISER => Filter::Kaiser,
|
||||
SWR_FILTER_TYPE_CUBIC => Filter::Cubic,
|
||||
SWR_FILTER_TYPE_BLACKMAN_NUTTALL => Filter::BlackmanNuttall,
|
||||
SWR_FILTER_TYPE_KAISER => Filter::Kaiser,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -20,9 +20,9 @@ impl From<SwrFilterType> for Filter {
|
||||
impl Into<SwrFilterType> for Filter {
|
||||
fn into(self) -> SwrFilterType {
|
||||
match self {
|
||||
Filter::Cubic => SWR_FILTER_TYPE_CUBIC,
|
||||
Filter::BlackmanNuttall => SWR_FILTER_TYPE_BLACKMAN_NUTTALL,
|
||||
Filter::Kaiser => SWR_FILTER_TYPE_KAISER,
|
||||
Filter::Cubic => SWR_FILTER_TYPE_CUBIC,
|
||||
Filter::BlackmanNuttall => SWR_FILTER_TYPE_BLACKMAN_NUTTALL,
|
||||
Filter::Kaiser => SWR_FILTER_TYPE_KAISER,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ pub enum Type {
|
||||
MotionVectors,
|
||||
SkipSamples,
|
||||
AudioServiceType,
|
||||
MasteringDisplayMetadata,
|
||||
GOPTimecode,
|
||||
}
|
||||
|
||||
impl Type {
|
||||
@@ -45,7 +47,9 @@ impl From<AVFrameSideDataType> for Type {
|
||||
AV_FRAME_DATA_AFD => Type::AFD,
|
||||
AV_FRAME_DATA_MOTION_VECTORS => Type::MotionVectors,
|
||||
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::MotionVectors => AV_FRAME_DATA_MOTION_VECTORS,
|
||||
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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user