internal bool EqualsNoBitrate(CodecProperties properties) { // allows to switch encoder bitrate without reinit of output //&& extradata.SequenceEqual(properties.extradata); //extradata_size == properties.extradata_size && // bit_rate == properties.bit_rate && return(codec_type == properties.codec_type && codec_id == properties.codec_id && codec_tag == properties.codec_tag && format == properties.format && bits_per_coded_sample == properties.bits_per_coded_sample && bits_per_raw_sample == properties.bits_per_raw_sample && profile == properties.profile && level == properties.level && width == properties.width && height == properties.height && sample_aspect_ratio == properties.sample_aspect_ratio && field_order == properties.field_order && color_range == properties.color_range && color_primaries == properties.color_primaries && color_trc == properties.color_trc && color_space == properties.color_space && chroma_location == properties.chroma_location && video_delay == properties.video_delay && channel_layout == properties.channel_layout && channels == properties.channels && sample_rate == properties.sample_rate && block_align == properties.block_align && frame_size == properties.frame_size && initial_padding == properties.initial_padding && trailing_padding == properties.trailing_padding && seek_preroll == properties.seek_preroll); }
[DllImport(Core.DllName)] private static extern int DecoderContext_Open(IntPtr handle, ref CodecProperties codecProperties, ref DecoderProperties decoderProperties, ref CodecProperties outCodecProperties);
[DllImport(Core.DllName)] private static extern int EncoderContext_Open(IntPtr handle, byte[] name, byte[] options, ref EncoderSpec codecProperties, ref EncoderBitrate encoderBitrate, ref EncoderProperties decoderProperties, ref CodecProperties outCodecProperties);
public DecoderSetup(string type, CodecProperties codecProps, DirectXContext directXContext) { Type = type; CodecProps = codecProps; DirectXContext = directXContext; }