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

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

Definition at line 249 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().

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

Here is the call graph for this function:


Generated on Fri Mar 19 11:17:40 2010 for ImpalaSrc by  doxygen 1.5.1