コード例 #1
0
        public BackwardUpdates(ref Vp9BackwardUpdates counts)
        {
            InterModeCounts = new Array7 <Array3 <Array2 <uint> > >();

            for (int i = 0; i < 7; i++)
            {
                InterModeCounts[i][0][0] = counts.InterMode[i][2];
                InterModeCounts[i][0][1] = counts.InterMode[i][0] + counts.InterMode[i][1] + counts.InterMode[i][3];
                InterModeCounts[i][1][0] = counts.InterMode[i][0];
                InterModeCounts[i][1][1] = counts.InterMode[i][1] + counts.InterMode[i][3];
                InterModeCounts[i][2][0] = counts.InterMode[i][1];
                InterModeCounts[i][2][1] = counts.InterMode[i][3];
            }

            YModeCounts            = counts.YMode;
            UvModeCounts           = counts.UvMode;
            PartitionCounts        = counts.Partition;
            SwitchableInterpsCount = counts.SwitchableInterp;
            IntraInterCount        = counts.IntraInter;
            CompInterCount         = counts.CompInter;
            SingleRefCount         = counts.SingleRef;
            CompRefCount           = counts.CompRef;
            Tx32x32     = counts.Tx32x32;
            Tx16x16     = counts.Tx16x16;
            Tx8x8       = counts.Tx8x8;
            MbSkipCount = counts.Skip;
            Joints      = counts.Joints;
            Sign        = counts.Sign;
            Classes     = counts.Classes;
            Class0      = counts.Class0;
            Bits        = counts.Bits;
            Class0Fp    = counts.Class0Fp;
            Fp          = counts.Fp;
            Class0Hp    = counts.Class0Hp;
            Hp          = counts.Hp;
            CoefCounts  = counts.Coef;
            EobCounts   = counts.EobBranch;
        }
コード例 #2
0
 private static int ReadSegmentId(ref Reader r, ref Array7 <byte> segTreeProbs)
 {
     return(r.ReadTree(Luts.Vp9SegmentTree, segTreeProbs.ToSpan()));
 }