[NUT-devel] NUT?
Oded Shimon
ods15 at ods15.dyndns.org
Mon Nov 6 06:53:10 CET 2006
On Sun, Nov 05, 2006 at 06:31:32PM -0800, Ralph Giles wrote:
> On Mon, Nov 06, 2006 at 01:56:53AM +0100, Michael Niedermayer wrote:
>
> > thats ~ 20 bytes per frame overhead or ~ 0.11%
> > with 15k frames it would have been ~ 11 or ~ 0.07%
> > with 2mb frames you would end up with ~ 22 byte or ~ 0.001%
>
> Thanks, Michael. Could you do a similar sketch for vorbis audio? I tried
> nutmerge on a couple of files and it reported 1.2-1.5% overhead, and
> was curious if the claimed 2 bytes per frame is possible with vorbis.
If you modify nutmerge.c, there's a table at the top, you need to change
it to this:
frame_table_input_t ft_default[] = {
// There must be atleast this safety net:
//{ 4128, 3, 0, 1, 0, 0, 0 },
//{ flag, fields, pts, mul, stream, size, count }
{ 8192, 0, 0, 1, 0, 0, 0 }, // invalid 0x00
{ 56, 0, 0, 1, 0, 0, 0 }, // safety net non key frame
{ 56, 0, 0, 1, 0, 0, 0 }, // safety net key frame
{ 4128, 0, 0, 1, 0, 0, 0 }, // one more safety net
{ 27, 0, 0, 1, 0, 0, 0 }, // EOR frame
{ 1, 4, 16, 386, 0, 190, 0 },
{ 1, 4, 2, 90, 0, 40, 0 },
{ 32|1, 3, 9, 1, 0, 0, 0 },
{ 32|1, 3, 23, 1, 0, 0, 0 },
{ 32|1, 3, 2, 1, 0, 0, 0 },
{ 8192, 2, 0, 1, 0, 0, 0 }, // invalid 0xFF
{ -1, 0, 0, 0, 0, 0, 0 }, // end
};
With this, trying 2 samples I have, I got this overhead:
Stream 0:
frames: 13156
TOT: packet size: 2764411 packet overhead: 15660 (0.57%)
AVG: packet size: 210.13 packet overhead: 1.19
Syncpoints: 86 size: 1536
TOTAL: 2764411 bytes data, 29609 bytes overhead, 1.07% overhead
Stream 0:
frames: 122493
TOT: packet size: 20807068 packet overhead: 148978 (0.72%)
AVG: packet size: 169.86 packet overhead: 1.22
Syncpoints: 643 size: 11564
TOTAL: 20807068 bytes data, 175184 bytes overhead, 0.84% overhead
BTW, note that in the former, ~30% of the overhead is the header
repetition :) (3 header copies, each 4kb big because of vorbis)
- ods15
More information about the NUT-devel
mailing list