Mercurial > libavformat.hg
comparison movenc.c @ 743:af4e24d6310c libavformat
switch to native time bases
author | michael |
---|---|
date | Sat, 30 Apr 2005 21:43:59 +0000 |
parents | e7f1b5842878 |
children | 805598adf3e9 |
comparison
equal
deleted
inserted
replaced
742:21c1ae78f041 | 743:af4e24d6310c |
---|---|
1179 | 1179 |
1180 for (i=0; i<MAX_STREAMS; i++) { | 1180 for (i=0; i<MAX_STREAMS; i++) { |
1181 if(mov->tracks[i].entry <= 0) continue; | 1181 if(mov->tracks[i].entry <= 0) continue; |
1182 | 1182 |
1183 if(mov->tracks[i].enc->codec_type == CODEC_TYPE_VIDEO) { | 1183 if(mov->tracks[i].enc->codec_type == CODEC_TYPE_VIDEO) { |
1184 mov->tracks[i].timescale = mov->tracks[i].enc->frame_rate; | 1184 mov->tracks[i].timescale = mov->tracks[i].enc->time_base.den; |
1185 mov->tracks[i].sampleDuration = mov->tracks[i].enc->frame_rate_base; | 1185 mov->tracks[i].sampleDuration = mov->tracks[i].enc->time_base.num; |
1186 } | 1186 } |
1187 else if(mov->tracks[i].enc->codec_type == CODEC_TYPE_AUDIO) { | 1187 else if(mov->tracks[i].enc->codec_type == CODEC_TYPE_AUDIO) { |
1188 /* If AMR, track timescale = 8000, AMR_WB = 16000 */ | 1188 /* If AMR, track timescale = 8000, AMR_WB = 16000 */ |
1189 if(mov->tracks[i].enc->codec_id == CODEC_ID_AMR_NB) { | 1189 if(mov->tracks[i].enc->codec_id == CODEC_ID_AMR_NB) { |
1190 mov->tracks[i].sampleDuration = 160; // Bytes per chunk | 1190 mov->tracks[i].sampleDuration = 160; // Bytes per chunk |
1255 } | 1255 } |
1256 | 1256 |
1257 static void mov_write_uuidprof_tag(ByteIOContext *pb, AVFormatContext *s) | 1257 static void mov_write_uuidprof_tag(ByteIOContext *pb, AVFormatContext *s) |
1258 { | 1258 { |
1259 int AudioRate = s->streams[1]->codec.sample_rate; | 1259 int AudioRate = s->streams[1]->codec.sample_rate; |
1260 int FrameRate = ((s->streams[0]->codec.frame_rate) * (0x10000))/ (s->streams[0]->codec.frame_rate_base); | 1260 int FrameRate = ((s->streams[0]->codec.time_base.den) * (0x10000))/ (s->streams[0]->codec.time_base.num); |
1261 | 1261 |
1262 //printf("audiorate = %d\n",AudioRate); | 1262 //printf("audiorate = %d\n",AudioRate); |
1263 //printf("framerate = %d / %d = 0x%x\n",s->streams[0]->codec.frame_rate,s->streams[0]->codec.frame_rate_base,FrameRate); | 1263 //printf("framerate = %d / %d = 0x%x\n",s->streams[0]->codec.time_base.den,s->streams[0]->codec.time_base.num,FrameRate); |
1264 | 1264 |
1265 put_be32(pb, 0x94 ); /* size */ | 1265 put_be32(pb, 0x94 ); /* size */ |
1266 put_tag(pb, "uuid"); | 1266 put_tag(pb, "uuid"); |
1267 put_tag(pb, "PROF"); | 1267 put_tag(pb, "PROF"); |
1268 | 1268 |