Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

void Impala::Core::Stream::RgbDataSrcLavc::InitStaticMetadata ( const Lavc::VideoAccessStrategy videoAccessStrategy  )  [inline, private]

Definition at line 267 of file RgbDataSrcLavc.h.

References Impala::Core::Stream::Lavc::VideoAccessObject::AspectRatioDen(), Impala::Core::Stream::Lavc::VideoAccessObject::AspectRatioNum(), Impala::Core::Stream::Lavc::VideoAccessObject::BitRate(), Impala::Core::Stream::Lavc::VideoAccessObject::FormatNameLong(), Impala::Core::Stream::Lavc::VideoAccessObject::FormatNameShort(), Impala::Core::Stream::Lavc::VideoAccessObject::FrameHeight(), Impala::Core::Stream::Lavc::VideoAccessObject::FrameRateDenominator(), Impala::Core::Stream::Lavc::VideoAccessObject::FrameRateNumerator(), Impala::Core::Stream::Lavc::VideoAccessObject::FrameWidth(), Impala::Core::Stream::Lavc::VideoAccessObject::GopSize(), ILOG_INFO, Impala::Core::Stream::RgbDataSrc::mAspectRatioDen, Impala::Core::Stream::RgbDataSrc::mAspectRatioNum, Impala::Core::Stream::RgbDataSrc::mBitRate, Impala::Core::Stream::RgbDataSrc::mCodecName, Impala::Core::Stream::RgbDataSrc::mCodecTag, Impala::Core::Stream::RgbDataSrc::mDuration, Impala::Core::Stream::RgbDataSrc::mDurationHour, Impala::Core::Stream::RgbDataSrc::mDurationMin, Impala::Core::Stream::RgbDataSrc::mDurationSec, Impala::Core::Stream::RgbDataSrc::mFormatLName, Impala::Core::Stream::RgbDataSrc::mFormatName, mFrameCountCalculated, Impala::Core::Stream::RgbDataSrc::mFrameHeight, Impala::Core::Stream::RgbDataSrc::mFrameRateDen, Impala::Core::Stream::RgbDataSrc::mFrameRateNum, Impala::Core::Stream::RgbDataSrc::mFrameWidth, Impala::Core::Stream::RgbDataSrc::mGopSize, Impala::Core::Stream::RgbDataSrc::mSrcName, Impala::Core::Stream::RgbDataSrc::mStreamCount, Impala::Core::Stream::RgbDataSrc::mTimeBaseDen, Impala::Core::Stream::RgbDataSrc::mTimeBaseNum, Impala::Core::Stream::RgbDataSrc::mVideoDuration, Impala::Core::Stream::Lavc::VideoAccessObject::StreamCount(), Impala::Core::Stream::Lavc::VideoAccessStrategy::VideoAccessObj(), Impala::Core::Stream::Lavc::VideoAccessObject::VideoCodecId(), Impala::Core::Stream::Lavc::VideoAccessObject::VideoCodecName(), Impala::Core::Stream::Lavc::VideoAccessObject::VideoCodecTag(), Impala::Core::Stream::Lavc::VideoAccessObject::VideoDuration(), Impala::Core::Stream::Lavc::VideoAccessObject::VideoTimeBaseDenominator(), and Impala::Core::Stream::Lavc::VideoAccessObject::VideoTimeBaseNumerator().

Referenced by Init().

00268     {
00269         // local scope VAO class usage in order to isolate knowledge
00270         // of this class; using access strategy (sub-) classes is preferred
00271         const Lavc::VideoAccessObject* const vao = 
00272             videoAccessStrategy.VideoAccessObj();
00273 
00274         // collect format info
00275         mBitRate = vao->BitRate();
00276         mFormatName = vao->FormatNameShort();
00277         mFormatLName = vao->FormatNameLong();
00278         ILOG_INFO("Format name is: " << mFormatLName << " (" << 
00279             mFormatName << ")");
00280 
00281         // collect stream info
00282         mStreamCount = vao->StreamCount();
00283         mVideoDuration = vao->VideoDuration();
00284         mTimeBaseNum = vao->VideoTimeBaseNumerator();
00285         mTimeBaseDen = vao->VideoTimeBaseDenominator();
00286         mDuration = ceil(
00287             double(mVideoDuration) * mTimeBaseNum / mTimeBaseDen
00288             ); // rounded up (number of seconds)
00289         mDurationSec = mDuration;
00290         mDurationHour = mDurationSec / 3600;
00291         mDurationSec %= 3600;
00292         mDurationMin = mDurationSec / 60;
00293         mDurationSec %= 60;
00294 
00295         // collect frame info
00296         mFrameRateNum = vao->FrameRateNumerator();
00297         mFrameRateDen = vao->FrameRateDenominator();
00298         const double fractionsPerSec = double(mTimeBaseDen) / mTimeBaseNum;
00299         const double secondsPerFrame = double(mFrameRateDen) / mFrameRateNum;
00300         const double fractionsPerFrame = fractionsPerSec * secondsPerFrame;
00301         const double frameCount = mVideoDuration / fractionsPerFrame;
00302         mFrameCountCalculated = ceil(frameCount);
00303         ILOG_INFO("Frame count estimate based on video duration: " << 
00304             mFrameCountCalculated);
00305 
00306         mFrameWidth = vao->FrameWidth();
00307         mFrameHeight = vao->FrameHeight();
00308         mAspectRatioNum = vao->AspectRatioNum();
00309         mAspectRatioDen = vao->AspectRatioDen();
00310 
00311         mGopSize = vao->GopSize();
00312 
00313         mCodecTag = vao->VideoCodecTag();
00314         mCodecName = vao->VideoCodecName();
00315 
00316         ILOG_INFO("Opened codec (id=" << vao->VideoCodecId() << 
00317             ", name=" << mCodecName << ") for: " << mSrcName);
00318     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:20:32 2011 for ImpalaSrc by  doxygen 1.5.1