the PSP rejects video with too high bitrates so lets claim they arent too high ...
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 4 Apr 2006 12:58:56 +0000 (12:58 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 4 Apr 2006 12:58:56 +0000 (12:58 +0000)
Originally committed as revision 5267 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/movenc.c

index 2fbfdbd..41e4d6d 100644 (file)
@@ -1510,6 +1510,8 @@ static void mov_write_uuidprof_tag(ByteIOContext *pb, AVFormatContext *s)
     AVCodecContext *AudioCodec = s->streams[1]->codec;
     int AudioRate = AudioCodec->sample_rate;
     int FrameRate = ((VideoCodec->time_base.den) * (0x10000))/ (VideoCodec->time_base.num);
+    int audio_kbitrate= AudioCodec->bit_rate / 1000;
+    int video_kbitrate= FFMIN(VideoCodec->bit_rate / 1000, 800 - audio_kbitrate);
 
     put_be32(pb, 0x94 ); /* size */
     put_tag(pb, "uuid");
@@ -1535,8 +1537,8 @@ static void mov_write_uuidprof_tag(ByteIOContext *pb, AVFormatContext *s)
     put_tag(pb, "mp4a");
     put_be32(pb, 0x20f );
     put_be32(pb, 0x0 );
-    put_be32(pb, AudioCodec->bit_rate / 1000);
-    put_be32(pb, AudioCodec->bit_rate / 1000);
+    put_be32(pb, audio_kbitrate);
+    put_be32(pb, audio_kbitrate);
     put_be32(pb, AudioRate );
     put_be32(pb, AudioCodec->channels );
 
@@ -1547,8 +1549,8 @@ static void mov_write_uuidprof_tag(ByteIOContext *pb, AVFormatContext *s)
     put_tag(pb, "mp4v");
     put_be32(pb, 0x103 );
     put_be32(pb, 0x0 );
-    put_be32(pb, VideoCodec->bit_rate / 1000);
-    put_be32(pb, VideoCodec->bit_rate / 1000);
+    put_be32(pb, video_kbitrate);
+    put_be32(pb, video_kbitrate);
     put_be32(pb, FrameRate);
     put_be32(pb, FrameRate);
     put_be16(pb, VideoCodec->width);