# HG changeset patch # User bcoudurier # Date 1145008457 0 # Node ID 4af4c74a45483995e0c4220d3ad69fe1a95d5da4 # Parent faa09c43a3d6f77a9dfcea649e71908550cd7bba get avcC profile and level indication from sps (from handbrake) diff -r faa09c43a3d6 -r 4af4c74a4548 movenc.c --- a/movenc.c Thu Apr 13 13:21:20 2006 +0000 +++ b/movenc.c Fri Apr 14 09:54:17 2006 +0000 @@ -433,13 +433,6 @@ buf = track->vosData; 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 */ while (buf < end) { unsigned int size; @@ -457,6 +450,14 @@ } assert(sps); 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_buffer(pb, sps, sps_size); put_byte(pb, 1); /* number of pps */