Classes | |
struct | AVFrameClose |
struct | AVPacketClose |
class | ExifBaseMetadataExtractor |
Common base for all metadata extractors that utilize EXIF data. More... | |
struct | ExifData |
class | FileMetadataExtractor |
Extractor of metadata from filesystem properties of the movie file. More... | |
struct | FileMetadataExtractorPlugin |
Loader plugin for FileMetadataExtractor. More... | |
class | FilenameMetadataExtractor |
Extractor of metadata from filename. More... | |
struct | FilenameMetadataExtractorPlugin |
Loader plugin for FilenameMetadataExtractor. More... | |
struct | LatestMetadataCache |
Latest metadata of each type. More... | |
class | LibavStreamMetadataExtractor |
Extractor of metadata from an open LibAV stream. More... | |
struct | LibavStreamMetadataExtractorPlugin |
Loader plugin for LibabStreamMetadataExtractor. More... | |
struct | MetadataCache |
Metadata cache. More... | |
class | MetadataExtractor |
Extractor of metadata about a movie or image. More... | |
struct | MetadataExtractorParams |
Parameters passed to the extractor plugins when initializing them. More... | |
struct | MetadataExtractorPlugin |
Helper structure that handles instantiation of an extractor. More... | |
class | MetadataManager |
Manager of multiple image metadata providers which can cooperate in parsing. More... | |
class | Movie |
An open movie that can be read, seeked and closed. More... | |
struct | MovieInfo |
Basic information about an open movie. More... | |
class | MovieMetadataListener |
class | MovieMetadataProcessor |
Base for consumers of movie metadata. More... | |
struct | MovieOpenConfig |
Configuration specifying what movie file to open and how. More... | |
struct | MoviePlaybackState |
State of movie playback. More... | |
struct | MoviePrivate |
PIMPL structure for Movie. More... | |
class | MovieReader |
Helper class for opening movie files. More... | |
class | MovieReaderRos |
MovieReader preconfigured from ROS parameters. More... | |
class | MovieToBag |
Convert movie files and their metadata to ROS bag file. More... | |
class | MovieToBagMetadataProcessor |
struct | PriorityComparator |
struct | RationalNumber |
A simple representation of rational numbers of the form numerator/denominator. More... | |
class | StackGuard |
RAII guard saving a function call to stack. Can be used to protect against infinite recursion. More... | |
class | StreamDuration |
Duration type denoting movie stream duration. More... | |
class | StreamTime |
Time type denoting movie stream time. More... | |
struct | TimedMetadata |
Timestamping wrapper for any kind of metadata. More... | |
struct | TimedMetadataCache |
Metadata cache. More... | |
class | TimedMetadataExtractor |
Extractor of timed metadata. More... | |
struct | TimedMetadataListener |
Listener of decoded timed metadata. More... | |
Typedefs | |
using | AVFramePtr = std::unique_ptr< AVFrame, AVFrameClose > |
using | AVPacketPtr = std::unique_ptr< AVPacket, AVPacketClose > |
using | Distortion = sensor_msgs::CameraInfo::_D_type |
using | DistortionData = std::pair< DistortionType, Distortion > |
using | DistortionType = sensor_msgs::CameraInfo::_distortion_model_type |
typedef std::string | ExifAscii |
typedef uint8_t | ExifByte |
typedef uint32_t | ExifLong |
typedef double | ExifRational |
typedef uint16_t | ExifShort |
typedef int32_t | ExifSLong |
typedef double | ExifSRational |
typedef int16_t | ExifSShort |
typedef std::vector< uint8_t > | ExifUnknown |
using | GNSSFixAndDetail = std::pair< cras::optional< sensor_msgs::NavSatFix >, cras::optional< gps_common::GPSFix > > |
using | IntrinsicMatrix = sensor_msgs::CameraInfo::_K_type |
using | MovieConstPtr = std::shared_ptr< const Movie > |
using | MoviePtr = std::shared_ptr< Movie > |
using | RollPitch = std::pair< double, double > |
using | SensorSize = std::pair< double, double > |
Functions | |
cras::expected< std::string, std::string > | avPixFmtToRosEncoding (const AVPixelFormat &libavPixelFormat) |
Map Libav pixel formats to ROS image encodings. More... | |
template<typename M > | |
static bool | CompareStamp (const TimedMetadata< M > &a, const StreamTime &b) |
Compare TimedMetadata according to their stamps (in decreasing order). More... | |
template<typename M > | |
auto | findLastUpToStamp (const std::vector< TimedMetadata< M >> &data, const StreamTime &stamp) |
Find index of the latest data from data that have their timestamp less than or equal to stamp . More... | |
template<typename M > | |
cras::optional< TimedMetadata< M > > | findLastUpToStamp (const std::vector< TimedMetadata< M >> &data, const StreamTime &stamp, const cras::optional< M > &defaultVal) |
Find the latest data from data that have their timestamp less than or equal to stamp . More... | |
template<typename T > | |
T | parseTimeParam (const XmlRpc::XmlRpcValue ¶m) |
Parse time or duration in several formats. More... | |
bool | parseTimestampOffset (const std::unordered_map< std::string, double > &extraVars, const XmlRpc::XmlRpcValue ¶m, double &value, bool skipNonConvertible, std::list< std::string > *errors) |
Parse the given timestamp offset. More... | |
TimestampSource | parseTimestampSource (const std::string ¶m) |
Parse TimestampSource from text. More... | |
cras::expected< AVPixelFormat, std::string > | rosEncodingToAvPixFmt (const std::string &rosEncoding) |
Map ROS image encodings to Libav pixel formats. More... | |
std::string | timestampSourceToStr (const TimestampSource &source) |
Convert the given TimestampSource to text. More... | |
template<typename M > | |
M | updateHeader (const M &msg, const ros::Time &stamp, const std::string &frameId) |
using movie_publisher::AVFramePtr = typedef std::unique_ptr<AVFrame, AVFrameClose> |
Definition at line 64 of file movie_private.h.
using movie_publisher::AVPacketPtr = typedef std::unique_ptr<AVPacket, AVPacketClose> |
Definition at line 58 of file movie_private.h.
using movie_publisher::Distortion = typedef sensor_msgs::CameraInfo::_D_type |
Definition at line 59 of file metadata_type.h.
using movie_publisher::DistortionData = typedef std::pair<DistortionType, Distortion> |
Definition at line 60 of file metadata_type.h.
using movie_publisher::DistortionType = typedef sensor_msgs::CameraInfo::_distortion_model_type |
Definition at line 58 of file metadata_type.h.
typedef std::string movie_publisher::ExifAscii |
Definition at line 30 of file ExifBaseMetadataExtractor.h.
typedef uint8_t movie_publisher::ExifByte |
Definition at line 31 of file ExifBaseMetadataExtractor.h.
typedef uint32_t movie_publisher::ExifLong |
Definition at line 34 of file ExifBaseMetadataExtractor.h.
typedef double movie_publisher::ExifRational |
Definition at line 36 of file ExifBaseMetadataExtractor.h.
typedef uint16_t movie_publisher::ExifShort |
Definition at line 32 of file ExifBaseMetadataExtractor.h.
typedef int32_t movie_publisher::ExifSLong |
Definition at line 35 of file ExifBaseMetadataExtractor.h.
typedef double movie_publisher::ExifSRational |
Definition at line 37 of file ExifBaseMetadataExtractor.h.
typedef int16_t movie_publisher::ExifSShort |
Definition at line 33 of file ExifBaseMetadataExtractor.h.
typedef std::vector<uint8_t> movie_publisher::ExifUnknown |
Definition at line 38 of file ExifBaseMetadataExtractor.h.
using movie_publisher::GNSSFixAndDetail = typedef std::pair<cras::optional<sensor_msgs::NavSatFix>, cras::optional<gps_common::GPSFix> > |
Definition at line 61 of file metadata_type.h.
using movie_publisher::IntrinsicMatrix = typedef sensor_msgs::CameraInfo::_K_type |
Definition at line 57 of file metadata_type.h.
using movie_publisher::MovieConstPtr = typedef std::shared_ptr<const Movie> |
using movie_publisher::MoviePtr = typedef std::shared_ptr<Movie> |
using movie_publisher::RollPitch = typedef std::pair<double, double> |
Definition at line 63 of file metadata_type.h.
using movie_publisher::SensorSize = typedef std::pair<double, double> |
Definition at line 62 of file metadata_type.h.
|
strong |
Enum for supported metadata.
Definition at line 26 of file metadata_type.h.
|
strong |
How to compute ROS timestamps from movie frame presentation timestamp (PTS).
cras::expected<std::string, std::string> movie_publisher::avPixFmtToRosEncoding | ( | const AVPixelFormat & | libavPixelFormat | ) |
Map Libav pixel formats to ROS image encodings.
[in] | libavPixelFormat | Libav pixel format. |
|
static |
Compare TimedMetadata according to their stamps (in decreasing order).
M | Type of the metadata. |
[in] | a | The timed metadata to compare. |
[in] | b | The timestamp to compare with. |
Definition at line 214 of file metadata_cache.h.
auto movie_publisher::findLastUpToStamp | ( | const std::vector< TimedMetadata< M >> & | data, |
const StreamTime & | stamp | ||
) |
Find index of the latest data from data
that have their timestamp less than or equal to stamp
.
M | Metadata type. |
[in] | data | A stamp-ordered list of metadata. |
[in] | stamp | The maximum timestamp. |
Definition at line 227 of file metadata_cache.h.
cras::optional<TimedMetadata<M> > movie_publisher::findLastUpToStamp | ( | const std::vector< TimedMetadata< M >> & | data, |
const StreamTime & | stamp, | ||
const cras::optional< M > & | defaultVal | ||
) |
Find the latest data from data
that have their timestamp less than or equal to stamp
.
M | Metadata type. |
[in] | data | A stamp-ordered list of metadata. |
[in] | stamp | The maximum timestamp. |
[in] | defaultVal | The default value to return in case no value was found in data . |
Definition at line 241 of file metadata_cache.h.
T movie_publisher::parseTimeParam | ( | const XmlRpc::XmlRpcValue & | param | ) |
Parse time or duration in several formats.
T | ros::Time or ros::Duration |
[in] | param | The parameter to parse. Can be float seconds (15.35) , tuple (min, sec) , tuple (hour, min, sec) or as a string:‘'01:03:05.35’`. |
bool movie_publisher::parseTimestampOffset | ( | const std::unordered_map< std::string, double > & | extraVars, |
const XmlRpc::XmlRpcValue & | param, | ||
double & | value, | ||
bool | skipNonConvertible, | ||
std::list< std::string > * | errors | ||
) |
Parse the given timestamp offset.
[in] | extraVars | Extra variables that should be resolved by the expression parser. |
[in] | param | The ROS parameter. Can be either int, double or string. If string, it can contain a mathematical expression with several predefined values: ros_time (current ROS time), wall_time (current wall time) and other variables defined in extraVars. |
[out] | value | The output value. |
[in] | skipNonConvertible | No effect. |
[in] | errors | List of encountered errors. Can be nullptr. |
value
succeeded. TimestampSource movie_publisher::parseTimestampSource | ( | const std::string & | param | ) |
Parse TimestampSource from text.
[in] | param | The text to parse. |
cras::expected<AVPixelFormat, std::string> movie_publisher::rosEncodingToAvPixFmt | ( | const std::string & | rosEncoding | ) |
Map ROS image encodings to Libav pixel formats.
[in] | rosEncoding | ROS image encoding. |
std::string movie_publisher::timestampSourceToStr | ( | const TimestampSource & | source | ) |
Convert the given TimestampSource to text.
[in] | source | The timestamp source. |
M movie_publisher::updateHeader | ( | const M & | msg, |
const ros::Time & | stamp, | ||
const std::string & | frameId | ||
) |
Definition at line 67 of file movie_private.h.