예제 #1
0
 public override void AssembleStagedDecoderSync(int[] syms, int selWidth, LiteralReference lrCWSelSlice,
                                                IAutoBinder binder, IAlgorithmBuilder pbuilder, bool registered)
 {
     int[] syms0 = syms.Select(i => _encMap0[i - 1]).ToArray();
     int[] syms1 = syms.Select(i => _encMap1[i - 1]).ToArray();
     _encFlow0.AssembleStagedDecoderSync(syms0, selWidth, lrCWSelSlice, binder, pbuilder, registered);
     _encFlow1.AssembleStagedDecoderSync(syms1, selWidth, lrCWSelSlice, binder, pbuilder, registered);
 }
예제 #2
0
        internal void AssembleStagedDecoderSync(IAutoBinder binder, IAlgorithmBuilder pbuilder, SLVSignal cwSignal, bool registered)
        {
            LiteralReference lrCWSelSlice = null;

            if (SelWidth != 0)
            {
                lrCWSelSlice = new LiteralReference(
                    ((ISignal)cwSignal[SelOffset + SelWidth - 1, SelOffset])
                    .ToSignalRef(SignalRef.EReferencedProperty.Cur));
            }
            _encFlow.AssembleStagedDecoderSync(Enumerable.Range(1, _encFlow.NumSymbols).ToArray(),
                                               SelWidth, lrCWSelSlice, binder, pbuilder, registered);
        }