public H264OutputStream(Nalu nalu, SequenceParameterSet sps,PictureParameterSet pps) { this.Nalu = nalu; this.sps = sps; this.pps = pps; if (pps.EntropyCodingModeFlag) { //TODO : CABAC // entropyOutputStream = new CABAC(); } else { entropyOutputStream = new Cavlc(this); } }
public SliceHeader(Slice slice, Nalu nalu, SequenceParameterSet sps, PictureParameterSet pps) { this.slice = slice; // BEGIN: parameters from Nalu, Picture Par Set and Sequence Par Set picParameterSetId = pps.PicParameterSetId; log2MaxFrameNumMinus4 = sps.Log2MaxFrameNumMinus4; frameMbsOnlyFlag = sps.FrameMbsOnlyFlag; picOrderCntType = sps.PicOrderCntType; log2MaxPicOrderCntLsbMinus4 = sps.Log2MaxPicOrderCntLsbMinus4; picInitQpMinus26 = pps.PicInitQpMinus26; nalRefIdc = nalu.NalRefIdc; nalUnitType = nalu.NalUnitType; // END: parameters from Nalu, Picture Par Set and Sequence Par Set sliceType = slice.Picture.TypeOfSlice; firstMbInSlice = slice.Picture.CurrentMbNr; noOutputOfPriorPicsFlag = false; longTermReferenceFlag = false; sliceQpDelta = (slice.Qp - 26 - picInitQpMinus26); }
private readonly bool weightedPredFlag; // u(1) #endregion Fields #region Constructors public PictureParameterSet(SequenceParameterSet sps) { seqParameterSetId = sps.SeqParameterSetId; picParameterSetId = 0; // TODO hard coded to zero entropyCodingModeFlag = false; // TODO hard coded to Cavlc picOrderPresentFlag = false; // TODO hard coded to false numSliceGroupsMinus1 = 0; // TODO hard coded to zero // Following set the parameter for different slice group types if (numSliceGroupsMinus1 > 0) { } // End FMO stuff if (sps.FrameMbsOnlyFlag) { numRefIdxL0ActiveMinus1 = sps.NumRefFrames - 1; numRefIdxL1ActiveMinus1 = sps.NumRefFrames - 1; } else { numRefIdxL0ActiveMinus1 = 2 * sps.NumRefFrames - 1; numRefIdxL1ActiveMinus1 = 2 * sps.NumRefFrames - 1; } weightedPredFlag = false; // TODO hard coded to false weightedBipredIdc = 0; // TODO hard coded to zero // hard coded to zero, QP lives in the slice header picInitQpMinus26 = 0; picInitQsMinus26 = 0; chromaQpIndexOffset = 0; // TODO hard coded to zero deblockingFilterControlPresentFlag = false; // TODO hrd cd to false constrainedIntraPredFlag = false; // TODO hard coded to false redundantPicCntPresentFlag = false; // TODO hard coded to false }