VenomRat
This commit is contained in:
54
StreamLibrary/IUnsafeCodec.cs
Normal file
54
StreamLibrary/IUnsafeCodec.cs
Normal file
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using StreamLibrary.src;
|
||||
|
||||
namespace StreamLibrary;
|
||||
|
||||
public abstract class IUnsafeCodec
|
||||
{
|
||||
protected JpgCompression jpgCompression;
|
||||
|
||||
protected LzwCompression lzwCompression;
|
||||
|
||||
private int _imageQuality;
|
||||
|
||||
public abstract ulong CachedSize { get; internal set; }
|
||||
|
||||
protected object ImageProcessLock { get; private set; }
|
||||
|
||||
public int ImageQuality
|
||||
{
|
||||
get
|
||||
{
|
||||
return _imageQuality;
|
||||
}
|
||||
set
|
||||
{
|
||||
_imageQuality = value;
|
||||
jpgCompression = new JpgCompression(value);
|
||||
lzwCompression = new LzwCompression(value);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract int BufferCount { get; }
|
||||
|
||||
public abstract CodecOption CodecOptions { get; }
|
||||
|
||||
public abstract event IVideoCodec.VideoDebugScanningDelegate onCodeDebugScan;
|
||||
|
||||
public abstract event IVideoCodec.VideoDebugScanningDelegate onDecodeDebugScan;
|
||||
|
||||
public IUnsafeCodec(int ImageQuality = 100)
|
||||
{
|
||||
this.ImageQuality = ImageQuality;
|
||||
ImageProcessLock = new object();
|
||||
}
|
||||
|
||||
public abstract void CodeImage(IntPtr Scan0, Rectangle ScanArea, Size ImageSize, PixelFormat Format, Stream outStream);
|
||||
|
||||
public abstract Bitmap DecodeData(Stream inStream);
|
||||
|
||||
public abstract Bitmap DecodeData(IntPtr CodecBuffer, uint Length);
|
||||
}
|
||||
Reference in New Issue
Block a user