Exemple #1
0
        public H264Slice(EltH264Nalu nalu, H264Decoder decoder)
            : base(nalu)
        {
            switch (nalu.NaluType)
            {
                case NalUnitType.NAL_UNIT_CODED_SLICE:
                case NalUnitType.NAL_UNIT_AUX_CODED_SLICE:
                case NalUnitType.NAL_UNIT_CODED_SLICE_DATAPART_A:
                case NalUnitType.NAL_UNIT_CODED_SLICE_DATAPART_B:
                case NalUnitType.NAL_UNIT_CODED_SLICE_DATAPART_C:
                case NalUnitType.NAL_UNIT_CODED_SLICE_IDR:
                case NalUnitType.NAL_UNIT_CODED_SLICE_SCALABLE:
                    break;
                default:
                    throw new NotImplementedException();
            }

            EltSyntax eltSyntax;

            eltSyntax = nalu.FindSyntax("pic_parameter_set_id");
            Debug.Assert(eltSyntax != null);
            m_PicParamSetId = (UInt32)eltSyntax.Value;
            m_PicParamSet = decoder.FindPicParamSet(m_PicParamSetId);
            Debug.Assert(m_PicParamSet != null);
            m_SeqParamSet = m_PicParamSet.SeqParamSet;
            Debug.Assert(m_SeqParamSet != null);

            m_Macroblocs = new Dictionary<UInt32, Macroblock>();
            ExplodeMacroblocs(nalu);
        }
Exemple #2
0
        public H264Slice(EltH264Nalu nalu, H264Decoder decoder)
            : base(nalu)
        {
            switch (nalu.NaluType)
            {
            case NalUnitType.NAL_UNIT_CODED_SLICE:
            case NalUnitType.NAL_UNIT_AUX_CODED_SLICE:
            case NalUnitType.NAL_UNIT_CODED_SLICE_DATAPART_A:
            case NalUnitType.NAL_UNIT_CODED_SLICE_DATAPART_B:
            case NalUnitType.NAL_UNIT_CODED_SLICE_DATAPART_C:
            case NalUnitType.NAL_UNIT_CODED_SLICE_IDR:
            case NalUnitType.NAL_UNIT_CODED_SLICE_SCALABLE:
                break;

            default:
                throw new NotImplementedException();
            }

            EltSyntax eltSyntax;

            eltSyntax = nalu.FindSyntax("pic_parameter_set_id");
            Debug.Assert(eltSyntax != null);
            m_PicParamSetId = (UInt32)eltSyntax.Value;
            m_PicParamSet   = decoder.FindPicParamSet(m_PicParamSetId);
            Debug.Assert(m_PicParamSet != null);
            m_SeqParamSet = m_PicParamSet.SeqParamSet;
            Debug.Assert(m_SeqParamSet != null);

            m_Macroblocs = new Dictionary <UInt32, Macroblock>();
            ExplodeMacroblocs(nalu);
        }
Exemple #3
0
 public H264Picture(UInt32 layerId, UInt32 index, H264PicParamSet defaultPicParamSet, H264SeqParamSet defaultSeqParamSet)
     : base(layerId, index)
 {
     m_DefaultSeqParamSet = defaultSeqParamSet;
     m_DefaultPicParamSet = defaultPicParamSet;
     m_Slices             = new Dictionary <UInt32, H264Slice>();
     m_Images             = new Bitmap[Utils.GetMaxEnumValue <CommonEltMbDataType_t>()];
     m_Md5YUV             = new String[Utils.GetMaxEnumValue <CommonEltMbDataType_t>()];
     m_Md5Y = new String[Utils.GetMaxEnumValue <CommonEltMbDataType_t>()];
     m_Md5U = new String[Utils.GetMaxEnumValue <CommonEltMbDataType_t>()];
     m_Md5V = new String[Utils.GetMaxEnumValue <CommonEltMbDataType_t>()];
 }
Exemple #4
0
 public H264Picture(UInt32 layerId, UInt32 index, H264PicParamSet defaultPicParamSet, H264SeqParamSet defaultSeqParamSet)
     : base(layerId, index)
 {
     m_DefaultSeqParamSet = defaultSeqParamSet;
     m_DefaultPicParamSet = defaultPicParamSet;
     m_Slices = new Dictionary<UInt32, H264Slice>();
     m_Images = new Bitmap[Utils.GetMaxEnumValue<CommonEltMbDataType_t>()];
     m_Md5YUV = new String[Utils.GetMaxEnumValue<CommonEltMbDataType_t>()];
     m_Md5Y = new String[Utils.GetMaxEnumValue<CommonEltMbDataType_t>()];
     m_Md5U = new String[Utils.GetMaxEnumValue<CommonEltMbDataType_t>()];
     m_Md5V = new String[Utils.GetMaxEnumValue<CommonEltMbDataType_t>()];
 }
Exemple #5
0
 void AddPicParamSet(H264PicParamSet picParamSet)
 {
     m_PicParamSets[picParamSet.Id] = picParamSet;
 }
Exemple #6
0
 void AddPicParamSet(H264PicParamSet picParamSet)
 {
     m_PicParamSets[picParamSet.Id] = picParamSet;
 }