37
37
typedef struct MTVDemuxContext {
39
unsigned int file_size; ///< filesize, not always right
40
unsigned int segments; ///< number of 512 byte segments
41
unsigned int audio_identifier; ///< 'MP3' on all files I have seen
42
unsigned int audio_br; ///< bitrate of audio chanel (mp3)
43
unsigned int img_colorfmt; ///< frame colorfmt rgb 565/555
44
unsigned int img_bpp; ///< frame bits per pixel
45
unsigned int img_width; //
46
unsigned int img_height; //
47
unsigned int img_segment_size; ///< size of image segment
48
unsigned int video_fps; //
49
unsigned int full_segment_size;
39
unsigned int file_size; ///< filesize, not always right
40
unsigned int segments; ///< number of 512 byte segments
41
unsigned int audio_identifier; ///< 'MP3' on all files I have seen
42
unsigned int audio_br; ///< bitrate of audio chanel (mp3)
43
unsigned int img_colorfmt; ///< frame colorfmt rgb 565/555
44
unsigned int img_bpp; ///< frame bits per pixel
45
unsigned int img_width; //
46
unsigned int img_height; //
47
unsigned int img_segment_size; ///< size of image segment
48
unsigned int video_fps; //
49
unsigned int full_segment_size;
53
53
static int mtv_probe(AVProbeData *p)
55
55
/* Magic is 'AMV' */
57
56
if(*(p->buf) != 'A' || *(p->buf+1) != 'M' || *(p->buf+2) != 'V')
63
62
static int mtv_read_header(AVFormatContext *s, AVFormatParameters *ap)
65
MTVDemuxContext *mtv = s->priv_data;
66
ByteIOContext *pb = s->pb;
68
unsigned int audio_subsegments;
64
MTVDemuxContext *mtv = s->priv_data;
65
ByteIOContext *pb = s->pb;
67
unsigned int audio_subsegments;
72
70
mtv->file_size = get_le32(pb);
86
84
mtv->img_segment_size;
87
85
mtv->video_fps = (mtv->audio_br / 4) / audio_subsegments;
89
/* FIXME Add sanity check here */
91
/* all systems go! init decoders */
93
/* video - raw rgb565 */
87
// FIXME Add sanity check here
89
// all systems go! init decoders
95
93
st = av_new_stream(s, VIDEO_SID);