예제 #1
0
파일: CABAC.cs 프로젝트: billliwawa/net7mma
 private int readIntraP(MDecoder decoder, int ctxOff)
 {
     if (decoder.decodeBin(ctxOff) == 0)
     {
         return(0);
     }
     else
     {
         return(decoder.decodeFinalBin() == 1 ? 25 : 1 + readMBType16x16P(decoder, ctxOff));
     }
 }
예제 #2
0
파일: CABAC.cs 프로젝트: billliwawa/net7mma
        public int readMBTypeI(MDecoder decoder, MBType left, MBType top, bool leftAvailable, bool topAvailable)
        {
            int ctx = 3;

            ctx += !leftAvailable || left == MBType.I_NxN ? 0 : 1;
            ctx += !topAvailable || top == MBType.I_NxN ? 0 : 1;

            if (decoder.decodeBin(ctx) == 0)
            {
                return(0);
            }
            else
            {
                return(decoder.decodeFinalBin() == 1 ? 25 : 1 + readMBType16x16(decoder));
            }
        }