79 std::array<char,
SYNC.size()> buffer;
82 if (fread(&buffer, 1, buffer.size(), fpi) != buffer.size())
94 std::memset(&msf, 0,
sizeof(msf));
96 if (fread(
reinterpret_cast<char *
>(&msf), 1,
sizeof(msf), fpi) !=
sizeof(msf))
172 return static_cast<int64_t
>(
m_min * 60 +
m_sec) * AV_TIME_BASE + (
static_cast<int64_t
>(
m_frame) * AV_TIME_BASE / 75);
275 return (*
this < other);
335 return (*
this > other);
int get_track_no() const
Get the track number of this chapter.
uint64_t get_size() const
Get the size of this chapter in bytes.
int operator>=(const VcdChapter &other) const
Comparison operator >=.
int64_t m_duration
Chapter duration, in AV_TIME_BASE fractional seconds.
int get_min() const
Get MSF (minutes, seconds, and fractional seconds/frames) minute.
int get_sec() const
Get MSF (minutes, seconds, and fractional seconds/frames) second.
bool m_is_svcd
true for SVCD, false for VCD
int operator!=(const VcdChapter &other) const
Comparison operator !=.
int operator<=(const VcdChapter &other) const
Comparison operator <=.
uint64_t m_start_pos
Start offset in bytes.
int64_t get_start_time() const
Get start position of chapter in AV_TIME_BASE units.
int get_lba() const
Get LBA (large block address) of chapter.
int operator>(const VcdChapter &other) const
Comparison operator >
uint64_t get_start_pos() const
Get file position of chapter in bytes.
uint64_t get_end_pos() const
Get end position of chapter in bytes.
int operator<(const VcdChapter &other) const
Comparison operator <.
bool get_is_svcd() const
Check if this is a Super Video CD.
int get_frame() const
Get MSF (minutes, seconds, and fractional seconds/frames) frame.
uint64_t m_end_pos
End offset in bytes (not including this byte)
std::string get_filename() const
Get file name and path of source file (e.g. MPEG/AVSEQ##.MPG).
int operator==(const VcdChapter &other) const
Comparison operator ==.
VcdChapter & operator=(VcdChapter const &other)
Assignment operator =.
int readio(FILE *fpi, int track_no)
Read file from disk.
int64_t get_duration() const
Get chapter duration, in AV_TIME_BASE fractional seconds.
VcdChapter(bool is_svcd)
Construct VcdChapter object.
Various FFmpegfs utility functions.
const std::string & strsprintf(std::string *str, const std::string &format, Args ... args)
Format a std::string sprintf-like.
Main include for FFmpegfs project.
Video CD MSF time format.
uint8_t m_min
Minute in BCD code.
uint8_t m_frame
Number of frames, for a 25 frames per second movie 0...24.
uint8_t m_sec
Second in BCD code.
const std::array< char, 12 > SYNC
Chapter synchronisation in S/VCD mpeg/dat files (12 byte: 0x00FFFFFFFFFFFFFFFFFFFF00)