forked from FFmpeg/FFmpeg
get avcC profile and level indication from sps (from handbrake)
Originally committed as revision 5287 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
18c697acce
commit
611fd605a3
1 changed files with 8 additions and 7 deletions
|
@ -433,13 +433,6 @@ static int mov_write_avcc_tag(ByteIOContext *pb, MOVTrack *track)
|
||||||
buf = track->vosData;
|
buf = track->vosData;
|
||||||
end = track->vosData + track->vosLen;
|
end = track->vosData + track->vosLen;
|
||||||
|
|
||||||
put_byte(pb, 1); /* version */
|
|
||||||
put_byte(pb, 77); /* profile */
|
|
||||||
put_byte(pb, 64); /* profile compat */
|
|
||||||
put_byte(pb, 30); /* level */
|
|
||||||
put_byte(pb, 0xff); /* 6 bits reserved (111111) + 2 bits nal size length - 1 (11) */
|
|
||||||
put_byte(pb, 0xe1); /* 3 bits reserved (111) + 5 bits number of sps (00001) */
|
|
||||||
|
|
||||||
/* look for sps and pps */
|
/* look for sps and pps */
|
||||||
while (buf < end) {
|
while (buf < end) {
|
||||||
unsigned int size;
|
unsigned int size;
|
||||||
|
@ -457,6 +450,14 @@ static int mov_write_avcc_tag(ByteIOContext *pb, MOVTrack *track)
|
||||||
}
|
}
|
||||||
assert(sps);
|
assert(sps);
|
||||||
assert(pps);
|
assert(pps);
|
||||||
|
|
||||||
|
put_byte(pb, 1); /* version */
|
||||||
|
put_byte(pb, sps[1]); /* profile */
|
||||||
|
put_byte(pb, sps[2]); /* profile compat */
|
||||||
|
put_byte(pb, sps[3]); /* level */
|
||||||
|
put_byte(pb, 0xff); /* 6 bits reserved (111111) + 2 bits nal size length - 1 (11) */
|
||||||
|
put_byte(pb, 0xe1); /* 3 bits reserved (111) + 5 bits number of sps (00001) */
|
||||||
|
|
||||||
put_be16(pb, sps_size);
|
put_be16(pb, sps_size);
|
||||||
put_buffer(pb, sps, sps_size);
|
put_buffer(pb, sps, sps_size);
|
||||||
put_byte(pb, 1); /* number of pps */
|
put_byte(pb, 1); /* number of pps */
|
||||||
|
|
Loading…
Add table
Reference in a new issue