Ejemplo n.º 1
0
        private void LoadImageLayoutInfo(AdvFileInfo fileInfo)
        {
            for (int i = 0; i < fileInfo.ImageLayoutsCount; i++)
            {
                AdvImageLayoutInfo info;
                int errorCode = AdvLib.GetImageLayoutInfo(i, out info);
                AdvError.Check(errorCode);

                var layout = new ImageLayoutDefinition()
                {
                    LayoutId = info.ImageLayoutId,
                    Bpp      = info.ImageLayoutBpp
                };

                for (int j = 0; j < info.ImageLayoutTagsCount; j++)
                {
                    string name;
                    string value;
                    if (AdvLib.GetImageLayoutTag(info.ImageLayoutId, j, out name, out value) == AdvError.S_OK)
                    {
                        layout.ImageLayoutTags.Add(name, value);
                    }
                }

                ImageLayouts.Add(layout);
            }
        }
Ejemplo n.º 2
0
        private void LoadTags(AdvFileInfo fileInfo)
        {
            for (int i = 0; i < fileInfo.MainStreamTagsCount; i++)
            {
                string name;
                string value;
                if (AdvLib.GetMainStreamTag(i, out name, out value) == AdvError.S_OK)
                {
                    MainSteamInfo.MetadataTags.Add(name, value);
                }
            }

            for (int i = 0; i < fileInfo.CalibrationStreamTagsCount; i++)
            {
                string name;
                string value;
                if (AdvLib.GetCalibrationStreamTag(i, out name, out value) == AdvError.S_OK)
                {
                    CalibrationSteamInfo.MetadataTags.Add(name, value);
                }
            }

            for (int i = 0; i < fileInfo.SystemMetadataTagsCount; i++)
            {
                string name;
                string value;
                if (AdvLib.GetSystemMetadataTag(i, out name, out value) == AdvError.S_OK)
                {
                    SystemMetadataTags.Add(name, value);
                }
            }

            for (int i = 0; i < fileInfo.UserMetadataTagsCount; i++)
            {
                string name;
                string value;
                if (AdvLib.GetUserMetadataTag(i, out name, out value) == AdvError.S_OK)
                {
                    UserMetadataTags.Add(name, value);
                }
            }

            for (int i = 0; i < fileInfo.ImageSectionTagsCount; i++)
            {
                string name;
                string value;
                if (AdvLib.GetImageSectionTag(i, out name, out value) == AdvError.S_OK)
                {
                    ImageSectionTags.Add(name, value);
                }
            }
        }
Ejemplo n.º 3
0
 private void EnsureStatusTagDefinitions(AdvFileInfo fileInfo)
 {
     for (uint i = 0; i < fileInfo.StatusTagsCount; i++)
     {
         Adv2TagType?tagType;
         string      tagName;
         if (AdvLib.GetStatusTagInfo(i, out tagType, out tagName) == AdvError.S_OK &&
             !string.IsNullOrEmpty(tagName) &&
             tagType != null)
         {
             StatusTagDefinitions.Add(new Tuple <string, uint, Adv2TagType>(tagName, i, tagType.Value));
         }
     }
 }
Ejemplo n.º 4
0
        private void LoadEdlsName(string strDirectory)
        {
            string[] arrEdls = System.IO.Directory.GetFiles(strDirectory, "*.edl");

            this.C_ListEdlsInFolder.BeginUpdate();

            foreach (string strEdl in arrEdls)
            {
                string strEdlName = this.GetFileName(strEdl);

                AdvFileInfo info = new AdvFileInfo(strEdlName, strEdl);

                this.C_ListEdlsInFolder.Items.Add(info);
            }

            this.C_ListEdlsInFolder.EndUpdate();
        }
Ejemplo n.º 5
0
        private void LoadGamesName(string strDirectory)
        {
            string[] arrGames = System.IO.Directory.GetFiles(strDirectory, "*.exp");

            this.C_ListGamesInFolder.BeginUpdate();

            foreach (string strGame in arrGames)
            {
                string strGameName = this.GetFileName(strGame);

                if (this.CheckGameName(strGameName))
                {
                    AdvFileInfo info = new AdvFileInfo(strGameName, strGame);

                    this.C_ListGamesInFolder.Items.Add(info);
                }
            }

            this.C_ListGamesInFolder.EndUpdate();
        }
Ejemplo n.º 6
0
        private AstroDigitalVideoStream(string fileName, ref AdvFileMetadataInfo fileMetadataInfo, ref GeoLocationInfo geoLocation)
        {
            CheckAdvFileFormat(fileName, ref fileMetadataInfo, ref geoLocation);

            m_FileName = fileName;
            var fileInfo = new AdvFileInfo();

            TangraCore.ADVOpenFile(fileName, ref fileInfo);

            m_FirstFrame  = 0;
            m_CountFrames = fileInfo.CountFrames;

            m_BitPix       = fileInfo.Bpp;
            m_Width        = fileInfo.Width;
            m_Height       = fileInfo.Height;
            m_Aav16NormVal = fileInfo.Aav16NormVal;

            m_FrameRate = fileInfo.FrameRate;


            // Get the last frame in the video and read the Almanac Offset and Almanac Status so they are applied
            // to the frames that didn't have Almanac Status = Updated
            if (m_CountFrames > 0)
            {
                GetPixelmap(m_FirstFrame + m_CountFrames - 1);

                m_AlamanacOffsetLastFrameIsGood = m_CurrentFrameInfo.AlmanacStatusIsGood;
                m_AlmanacOffsetLastFrame        = m_CurrentFrameInfo.GetSignedAlamancOffset();
            }
            else
            {
                m_AlamanacOffsetLastFrameIsGood = false;
                m_AlmanacOffsetLastFrame        = 0;
            }

            m_Engine            = fileMetadataInfo.Engine;
            m_CameraModel       = fileMetadataInfo.Camera;
            m_UsesNtpTimestamps = fileMetadataInfo.HasNTPTimeStamps;

            if (m_Engine == "AAV")
            {
                m_VideoStandard = GetFileTag("NATIVE-VIDEO-STANDARD");
                double.TryParse(GetFileTag("NATIVE-FRAME-RATE"), out m_NativeFrameRate);

                int.TryParse(GetFileTag("OSD-FIRST-LINE"), out m_OsdFirstLine);
                int.TryParse(GetFileTag("OSD-LAST-LINE"), out m_OsdLastLine);

                if (m_OsdLastLine > m_Height)
                {
                    m_OsdLastLine = m_Height;
                }
                if (m_OsdFirstLine < 0)
                {
                    m_OsdFirstLine = 0;
                }

                m_IntegratedAAVFrames = -1;

                if (double.TryParse(GetFileTag("EFFECTIVE-FRAME-RATE"), out m_EffectiveFrameRate) && m_NativeFrameRate != 0)
                {
                    m_IntegratedAAVFrames = (int)Math.Round(m_NativeFrameRate / m_EffectiveFrameRate);
                }

                int.TryParse(GetFileTag("FRAME-STACKING-RATE"), out m_StackingRate);
                if (m_StackingRate == 1)
                {
                    m_StackingRate = 0;                                  // Video stacked at x1 is a non-stacked video
                }
            }
            else
            {
                m_OsdFirstLine = 0;
                m_OsdLastLine  = 0;
            }

            m_OcrDataAvailable = null;
        }