xmv: Add some doxygen comments

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Sven Hesse 2011-08-18 19:00:21 +02:00 committed by Michael Niedermayer
parent 6fb501245d
commit 730333efc4

View File

@ -32,73 +32,77 @@
#include "avformat.h" #include "avformat.h"
#include "riff.h" #include "riff.h"
/** The min size of an XMV header. */
#define XMV_MIN_HEADER_SIZE 36 #define XMV_MIN_HEADER_SIZE 36
/** Audio flag: ADPCM'd 5.1 stream, front left / right channels */
#define XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT 1 #define XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT 1
/** Audio flag: ADPCM'd 5.1 stream, front center / low frequency channels */
#define XMV_AUDIO_ADPCM51_FRONTCENTERLOW 2 #define XMV_AUDIO_ADPCM51_FRONTCENTERLOW 2
/** Audio flag: ADPCM'd 5.1 stream, rear left / right channels */
#define XMV_AUDIO_ADPCM51_REARLEFTRIGHT 4 #define XMV_AUDIO_ADPCM51_REARLEFTRIGHT 4
/** Audio flag: Any of the ADPCM'd 5.1 stream flags. */
#define XMV_AUDIO_ADPCM51 (XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT | \ #define XMV_AUDIO_ADPCM51 (XMV_AUDIO_ADPCM51_FRONTLEFTRIGHT | \
XMV_AUDIO_ADPCM51_FRONTCENTERLOW | \ XMV_AUDIO_ADPCM51_FRONTCENTERLOW | \
XMV_AUDIO_ADPCM51_REARLEFTRIGHT) XMV_AUDIO_ADPCM51_REARLEFTRIGHT)
/** A video packet with an XMV file. */
typedef struct XMVVideoPacket { typedef struct XMVVideoPacket {
/* The decoder stream index for this video packet. */ int stream_index; ///< The decoder stream index for this video packet.
int stream_index;
uint32_t data_size; uint32_t data_size; ///< The size of the remaining video data.
uint64_t data_offset; uint64_t data_offset; ///< The offset of the video data within the file.
uint32_t current_frame; uint32_t current_frame; ///< The current frame within this video packet.
uint32_t frame_count; uint32_t frame_count; ///< The amount of frames within this video packet.
/* Does the video packet contain extra data? */ int has_extradata; ///< Does the video packet contain extra data?
int has_extradata; uint8_t extradata[4]; ///< The extra data
/* Extra data */ int64_t last_pts; ///< PTS of the last video frame.
uint8_t extradata[4]; int64_t pts; ///< PTS of the most current video frame.
int64_t last_pts;
int64_t pts;
} XMVVideoPacket; } XMVVideoPacket;
/** An audio packet with an XMV file. */
typedef struct XMVAudioPacket { typedef struct XMVAudioPacket {
/* The decoder stream index for this audio packet. */ int stream_index; ///< The decoder stream index for this audio packet.
int stream_index;
uint16_t compression; /* Stream format properties. */
uint16_t channels; uint16_t compression; ///< The type of compression.
uint32_t sample_rate; uint16_t channels; ///< Number of channels.
uint16_t bits_per_sample; uint32_t sample_rate; ///< Sampling rate.
uint32_t bit_rate; uint16_t bits_per_sample; ///< Bits per compressed sample.
uint16_t flags; uint32_t bit_rate; ///< Bits of compressed data per second.
uint16_t block_align; uint16_t flags; ///< Flags
uint16_t block_samples; uint16_t block_align; ///< Bytes per compressed block.
uint16_t block_samples; ///< Decompressed samples per compressed block.
enum CodecID codec_id; enum CodecID codec_id; ///< The codec ID of the compression scheme.
uint32_t data_size; uint32_t data_size; ///< The size of the remaining audio data.
uint64_t data_offset; uint64_t data_offset; ///< The offset of the audio data within the file.
uint32_t frame_size; uint32_t frame_size; ///< Number of bytes to put into an audio frame.
uint64_t block_count; uint64_t block_count; ///< Running counter of decompressed audio block.
} XMVAudioPacket; } XMVAudioPacket;
/** Context for demuxing an XMV file. */
typedef struct XMVDemuxContext { typedef struct XMVDemuxContext {
uint16_t audio_track_count; uint16_t audio_track_count; ///< Number of audio track in this file.
uint32_t this_packet_size; uint32_t this_packet_size; ///< Size of the current packet.
uint32_t next_packet_size; uint32_t next_packet_size; ///< Size of the next packet.
uint64_t this_packet_offset; uint64_t this_packet_offset; ///< Offset of the current packet.
uint64_t next_packet_offset; uint64_t next_packet_offset; ///< Offset of the next packet.
uint16_t current_stream; uint16_t current_stream; ///< The index of the stream currently handling.
uint16_t stream_count; uint16_t stream_count; ///< The number of streams in this file.
XMVVideoPacket video; XMVVideoPacket video; ///< The video packet contained in each packet.
XMVAudioPacket *audio; XMVAudioPacket *audio; ///< The audio packets contained in each packet.
} XMVDemuxContext; } XMVDemuxContext;
static int xmv_probe(AVProbeData *p) static int xmv_probe(AVProbeData *p)
@ -219,7 +223,7 @@ static int xmv_read_header(AVFormatContext *s,
} }
/** Initialize the packet context */ /* Initialize the packet context */
xmv->next_packet_offset = avio_tell(pb); xmv->next_packet_offset = avio_tell(pb);
@ -324,7 +328,7 @@ static int xmv_process_packet_header(AVFormatContext *s)
*/ */
packet->data_size = xmv->audio[audio_track - 1].data_size; packet->data_size = xmv->audio[audio_track - 1].data_size;
/** Carve up the audio data in frame_count slices */ /* Carve up the audio data in frame_count slices */
packet->frame_size = packet->data_size / xmv->video.frame_count; packet->frame_size = packet->data_size / xmv->video.frame_count;
packet->frame_size -= packet->frame_size % packet->block_align; packet->frame_size -= packet->frame_size % packet->block_align;
} }