static void Main(string[] args) { VideoSourceFilterRegistry registry = new VideoSourceFilterRegistry(); UnregisterAll(registry); int width = 1920, height = 1080; //int width = 640, height = 480; VideoSourceFilter filter = new VideoSourceFilter(); filter.Live = true; filter.SetMediaType( //width, height, width, -height, //"{e436eb7e-524f-11ce-9f53-0020af0ba770}"); // RGB32 "{773c9ac0-3274-11d0-B724-00aa006c1A01}"); // ARGB32 //filter.SetMediaTypeRate(50, 1); // 50 fps filter.SetMediaTypeRate(25, 1); // 25 fps SourceFilterRegistryItem item; //item = registry.Register("Reference Source", filter); item = registry.Register("Test (Bottom to Top ARGB32)", filter); filter.SetMediaType( width, height, //width, -height, //"{e436eb7e-524f-11ce-9f53-0020af0ba770}"); // RGB32 "{773c9ac0-3274-11d0-B724-00aa006c1A01}"); // ARGB32 item = registry.Register("Test (Top to Bottom ARGB32)", filter); }
protected override ITextureFilter MakeInitialFilter() { DisposeHelper.Dispose(ref m_SourceFilter); m_SourceFilter = new VideoSourceFilter(this); if (Renderer.InputFormat.IsYuv() && ((TextureSize)Renderer.ChromaSize < Renderer.LumaSize).Any) { return(m_SourceFilter); } return(m_SourceFilter.FixComposition()); }
protected override ITextureFilter MakeInitialFilter() { DisposeHelper.Dispose(ref m_SourceFilter); m_SourceFilter = new VideoSourceFilter(this); if (Renderer.InputFormat.IsYuv() && (Renderer.ChromaSize.Width < Renderer.LumaSize.Width || Renderer.ChromaSize.Height < Renderer.LumaSize.Height)) { return(new CompositionFilter(new YSourceFilter(), new ChromaSourceFilter(), fallback: m_SourceFilter)); } return(m_SourceFilter); }
public void SetSourceFilter(VideoSourceFilter sourceFilter) { if (sourceFilter == VideoSourceFilter.DirectShowSource) { this.SetFilter("SourceFilter", new StringBuilder("DirectShowSource(\"").Append(this.videoInfo.FilePath).Append("\", audio = false)").ToString()); } else if (sourceFilter == VideoSourceFilter.DSS2) { string[] externalFilters = new string[] { Path.GetFullPath("avss.dll") }; this.SetImport(externalFilters); this.SetFilter("SourceFilter", new StringBuilder("DSS2(\"").Append(this.videoInfo.FilePath).Append("\")").ToString()); } else if (sourceFilter == VideoSourceFilter.FFVideoSource) { string[] textArray2 = new string[] { Path.GetFullPath("ffms2.dll") }; this.SetImport(textArray2); this.SetFilter("SourceFilter", new StringBuilder("FFVideoSource(\"").Append(this.videoInfo.FilePath).Append("\")").ToString()); } else if (sourceFilter == VideoSourceFilter.None) { this.RemoveFilter("SourceFilter"); } }
private static string GetInternalScalerDesc() { return(String.Join("\n", VideoSourceFilter.ChromaScaleDescription(Renderer.TargetSize), VideoSourceFilter.LumaScaleDescription(Renderer.TargetSize))); }