@@ -553,31 +553,43 @@ PropertyVector& VideoProperties::fillVector(PropertyVector& data) const
553
553
addProperty (data, " colorRange" , &VideoProperties::getColorRange);
554
554
addProperty (data, " colorPrimaries" , &VideoProperties::getColorPrimaries);
555
555
addProperty (data, " chromaSampleLocation" , &VideoProperties::getChromaSampleLocation);
556
- addProperty (data, " interlaced " , &VideoProperties::isInterlaced);
557
- addProperty (data, " topFieldFirst" , &VideoProperties::isTopFieldFirst);
558
556
addProperty (data, " fieldOrder" , &VideoProperties::getFieldOrder);
559
557
addProperty (data, " fps" , &VideoProperties::getFps);
560
558
addProperty (data, " nbFrame" , &VideoProperties::getNbFrames);
561
559
addProperty (data, " ticksPerFrame" , &VideoProperties::getTicksPerFrame);
562
560
addProperty (data, " bitRate" , &VideoProperties::getBitRate);
563
561
addProperty (data, " maxBitRate" , &VideoProperties::getMaxBitRate);
564
562
addProperty (data, " minBitRate" , &VideoProperties::getMinBitRate);
565
- addProperty (data, " gopSize" , &VideoProperties::getGopSize);
563
+ addProperty (data, " hasBFrames" , &VideoProperties::hasBFrames);
564
+ addProperty (data, " referencesFrames" , &VideoProperties::getReferencesFrames);
566
565
567
- std::stringstream gop;
568
- for ( size_t frameIndex = 0 ; frameIndex < _gopStructure. size (); ++frameIndex )
566
+ // Add properties available when decode first gop
567
+ if (_levelAnalysis < eAnalyseLevelFirstGop )
569
568
{
570
- gop << _gopStructure.at (frameIndex).first ;
571
- gop << " (" ;
572
- gop << _gopStructure.at (frameIndex).second ;;
573
- gop << " )" ;
574
- gop << " " ;
569
+ detail::add (data, " gopSize" , detail::propertyValueIfError);
570
+ detail::add (data, " gop" , detail::propertyValueIfError);
571
+ detail::add (data, " interlaced" , detail::propertyValueIfError);
572
+ detail::add (data, " topFieldFirst" , detail::propertyValueIfError);
575
573
}
576
- detail::add (data, " gop" , gop.str ());
577
- // detail::add( data, "isClosedGop", isClosedGop() );
574
+ else
575
+ {
576
+ addProperty (data, " gopSize" , &VideoProperties::getGopSize);
578
577
579
- addProperty (data, " hasBFrames" , &VideoProperties::hasBFrames);
580
- addProperty (data, " referencesFrames" , &VideoProperties::getReferencesFrames);
578
+ std::stringstream gop;
579
+ for (size_t frameIndex = 0 ; frameIndex < _gopStructure.size (); ++frameIndex)
580
+ {
581
+ gop << _gopStructure.at (frameIndex).first ;
582
+ gop << " (" ;
583
+ gop << _gopStructure.at (frameIndex).second ;;
584
+ gop << " )" ;
585
+ gop << " " ;
586
+ }
587
+ detail::add (data, " gop" , gop.str ());
588
+ // detail::add( data, "isClosedGop", isClosedGop() );
589
+
590
+ addProperty (data, " interlaced " , &VideoProperties::isInterlaced);
591
+ addProperty (data, " topFieldFirst" , &VideoProperties::isTopFieldFirst);
592
+ }
581
593
582
594
// Add properties of the pixel
583
595
PropertyVector pixelProperties;
0 commit comments