Example #1
0
    void Start()
    {
        _ivfAv1Decoders   = new IvfAv1Decoder[1];
        _decodedQueue     = new Queue <Texture2D>();
        _freeTextureQueue = new Queue <Texture2D>();
        _rawTextures      = new List <Texture2D>();

        _lumaBytes      = new byte[1920 * 1080];
        _uBytes         = new byte[1920 * 1080 / 4];
        _vBytes         = new byte[1920 * 1080 / 4];
        _workingGpuJobs = new List <GpuJob>();

        var asset     = Resources.Load("whiteAlpha");
        var textAsset = asset as TextAsset;

        for (var i = 0; i < _ivfAv1Decoders.Length; i += 1)
        {
            var stream = new MemoryStream(textAsset.bytes);
            _ivfAv1Decoders[i] = new IvfAv1Decoder(stream);
        }

        for (var i = 0; i < 20; i += 1)
        {
            var texture = new Texture2D(1920, 1080, TextureFormat.RGBA32, false);
            _freeTextureQueue.Enqueue(texture);
            _rawTextures.Add(texture);
        }
        _kernel = computeShader.FindKernel("Yuv2Rgb");;
    }
Example #2
0
    void Start()
    {
        Application.targetFrameRate = 60;
        _ivfAv1Decoders             = new IvfAv1Decoder[1];

        var asset     = Resources.Load("whiteAlpha");
        var textAsset = asset as TextAsset;

        for (var i = 0; i < _ivfAv1Decoders.Length; i += 1)
        {
            var stream = new MemoryStream(textAsset.bytes);
            _ivfAv1Decoders[i] = new IvfAv1Decoder(stream);
        }

        rawImage.texture = new Texture2D(1920, 1080, TextureFormat.RGB24, false);
    }
Example #3
0
    void Start()
    {
        _decodedQueue     = new Queue <Texture2D>();
        _freeTextureQueue = new Queue <Texture2D>();
        _rawTextures      = new List <Texture2D>();

        _mainIvfAv1Decoder  = LoadDecoder("frames_ivf");
        _alphaIvfAv1Decoder = LoadDecoder("frames_alpha_ivf");
        maskTreeBytes       = LoadBytes("masktree");

        for (var i = 0; i < 1; i += 1)
        {
            var texture = new Texture2D(1920, 1080, TextureFormat.RGB24, false);
            _freeTextureQueue.Enqueue(texture);
            _rawTextures.Add(texture);
        }
    }
Example #4
0
    void Start()
    {
        _ivfAv1Decoders   = new IvfAv1Decoder[1];
        _decodedQueue     = new Queue <Texture2D>();
        _freeTextureQueue = new Queue <Texture2D>();
        _rawTextures      = new List <Texture2D>();
        _jobMemories      = new Queue <JobMemory>();

        var asset     = Resources.Load("whiteAlpha");
        var textAsset = asset as TextAsset;

        for (var i = 0; i < _ivfAv1Decoders.Length; i += 1)
        {
            var stream = new MemoryStream(textAsset.bytes);
            _ivfAv1Decoders[i] = new IvfAv1Decoder(stream);
        }

        for (var i = 0; i < 4; i += 1)
        {
            var texture = new Texture2D(1920, 1080, TextureFormat.RGB24, false);
            _freeTextureQueue.Enqueue(texture);
            _rawTextures.Add(texture);
        }
    }