Mercurial > libavformat.hg
comparison movenc.c @ 1049:23d44137105f libavformat
the PSP rejects video with too high bitrates so lets claim they arent too high ...
author | michael |
---|---|
date | Tue, 04 Apr 2006 12:58:56 +0000 |
parents | aa2712de50bf |
children | ece3b7eecba2 |
comparison
equal
deleted
inserted
replaced
1048:da22d8928247 | 1049:23d44137105f |
---|---|
1508 { | 1508 { |
1509 AVCodecContext *VideoCodec = s->streams[0]->codec; | 1509 AVCodecContext *VideoCodec = s->streams[0]->codec; |
1510 AVCodecContext *AudioCodec = s->streams[1]->codec; | 1510 AVCodecContext *AudioCodec = s->streams[1]->codec; |
1511 int AudioRate = AudioCodec->sample_rate; | 1511 int AudioRate = AudioCodec->sample_rate; |
1512 int FrameRate = ((VideoCodec->time_base.den) * (0x10000))/ (VideoCodec->time_base.num); | 1512 int FrameRate = ((VideoCodec->time_base.den) * (0x10000))/ (VideoCodec->time_base.num); |
1513 int audio_kbitrate= AudioCodec->bit_rate / 1000; | |
1514 int video_kbitrate= FFMIN(VideoCodec->bit_rate / 1000, 800 - audio_kbitrate); | |
1513 | 1515 |
1514 put_be32(pb, 0x94 ); /* size */ | 1516 put_be32(pb, 0x94 ); /* size */ |
1515 put_tag(pb, "uuid"); | 1517 put_tag(pb, "uuid"); |
1516 put_tag(pb, "PROF"); | 1518 put_tag(pb, "PROF"); |
1517 | 1519 |
1533 put_be32(pb, 0x0 ); | 1535 put_be32(pb, 0x0 ); |
1534 put_be32(pb, 0x2 ); /* TrackID */ | 1536 put_be32(pb, 0x2 ); /* TrackID */ |
1535 put_tag(pb, "mp4a"); | 1537 put_tag(pb, "mp4a"); |
1536 put_be32(pb, 0x20f ); | 1538 put_be32(pb, 0x20f ); |
1537 put_be32(pb, 0x0 ); | 1539 put_be32(pb, 0x0 ); |
1538 put_be32(pb, AudioCodec->bit_rate / 1000); | 1540 put_be32(pb, audio_kbitrate); |
1539 put_be32(pb, AudioCodec->bit_rate / 1000); | 1541 put_be32(pb, audio_kbitrate); |
1540 put_be32(pb, AudioRate ); | 1542 put_be32(pb, AudioRate ); |
1541 put_be32(pb, AudioCodec->channels ); | 1543 put_be32(pb, AudioCodec->channels ); |
1542 | 1544 |
1543 put_be32(pb, 0x34 ); /* size */ | 1545 put_be32(pb, 0x34 ); /* size */ |
1544 put_tag(pb, "VPRF"); /* video */ | 1546 put_tag(pb, "VPRF"); /* video */ |
1545 put_be32(pb, 0x0 ); | 1547 put_be32(pb, 0x0 ); |
1546 put_be32(pb, 0x1 ); /* TrackID */ | 1548 put_be32(pb, 0x1 ); /* TrackID */ |
1547 put_tag(pb, "mp4v"); | 1549 put_tag(pb, "mp4v"); |
1548 put_be32(pb, 0x103 ); | 1550 put_be32(pb, 0x103 ); |
1549 put_be32(pb, 0x0 ); | 1551 put_be32(pb, 0x0 ); |
1550 put_be32(pb, VideoCodec->bit_rate / 1000); | 1552 put_be32(pb, video_kbitrate); |
1551 put_be32(pb, VideoCodec->bit_rate / 1000); | 1553 put_be32(pb, video_kbitrate); |
1552 put_be32(pb, FrameRate); | 1554 put_be32(pb, FrameRate); |
1553 put_be32(pb, FrameRate); | 1555 put_be32(pb, FrameRate); |
1554 put_be16(pb, VideoCodec->width); | 1556 put_be16(pb, VideoCodec->width); |
1555 put_be16(pb, VideoCodec->height); | 1557 put_be16(pb, VideoCodec->height); |
1556 put_be32(pb, 0x010001); /* ? */ | 1558 put_be32(pb, 0x010001); /* ? */ |