42#define HXVS MKTAG('H', 'X', 'V', 'S')
48#define HXVT MKTAG('H', 'X', 'V', 'T')
61#define HXVF MKTAG('H', 'X', 'V', 'F')
75#define HXAF MKTAG('H', 'X', 'A', 'F')
84#define HXFI MKTAG('H', 'X', 'F', 'I')
86#define HXFI_TABLE_SIZE 200000
87#define HXFI_TABLE_COUNT (200000 / 8)
99 for (
size_t i = 0;
i < p->buf_size; ) {
122 if (12 + bytes > INT_MAX -
i)
234 }
else if (time == prev_time) {
327 pkt->pts = timestamp;
330 pkt->flags |= key_flag;
338 .p.extensions =
"264,265",
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext.
#define AVIO_SEEKABLE_NORMAL
Seeking works like for a local file.
int64_t avio_size(AVIOContext *s)
Get the filesize.
int avio_feof(AVIOContext *s)
Similar to feof() but also returns nonzero on read errors.
static av_always_inline int64_t avio_tell(AVIOContext *s)
ftell() equivalent for AVIOContext.
int64_t avio_skip(AVIOContext *s, int64_t offset)
Skip given number of bytes forward.
unsigned int avio_rl32(AVIOContext *s)
#define i(width, name, range_min, range_max)
int ff_add_index_entry(AVIndexEntry **index_entries, int *nb_index_entries, unsigned int *index_entries_allocated_size, int64_t pos, int64_t timestamp, int size, int distance, int flags)
Internal version of av_add_index_entry.
AVCodecID
Identify the syntax and semantics of the bitstream.
#define AV_PKT_FLAG_KEY
The packet contains a keyframe.
AVStream * avformat_new_stream(AVFormatContext *s, const struct AVCodec *c)
Add a new stream to a media file.
#define AV_CHANNEL_LAYOUT_MONO
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define AVERROR_EOF
End of file.
#define AV_LOG_TRACE
Extremely verbose debugging, useful for libav* development.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define av_fourcc2str(fourcc)
static int hxvs_create_video_stream(AVFormatContext *s, enum AVCodecID codec_id)
static int hxvs_read_header(AVFormatContext *s)
static int hxvs_probe(const AVProbeData *p)
static int hxvs_create_audio_stream(AVFormatContext *s)
static int hxvs_read_packet(AVFormatContext *s, AVPacket *pkt)
static int hxvs_build_index(AVFormatContext *s)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
An AVChannelLayout holds information about the channel layout of audio data.
int height
The height of the video frame in pixels.
AVChannelLayout ch_layout
The channel layout and number of channels.
int width
The width of the video frame in pixels.
enum AVMediaType codec_type
General type of the encoded data.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
int sample_rate
The number of audio samples per second.
int seekable
A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable.
This structure stores compressed data.
This structure contains the data a format has to probe a file.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
int64_t duration
Decoding: duration of the stream, in stream time base.
int id
Format-specific stream ID.
int index
stream index in AVFormatContext
int64_t start_time
Decoding: pts of the first frame of the stream in presentation order, in stream time base.
AVIndexEntry * index_entries
Only used if the format does not support seeking natively.
enum AVStreamParseType need_parsing
unsigned int index_entries_allocated_size
static AVFormatContext * ctx