change default padding to 8K, or 64K if input audio stream is >= 20 minutes long
[flac.git] / src / test_libFLAC / matrix
1 #if 0
2 level 1
3
4 4 delete        middle block    nopad
5 1 delete        middle block    pad
6 1 delete        last block      nopad
7 1 delete        last block      pad
8 1 insert        middle block    nopad
9 1 insert        middle block    equalpad
10 1 insert        middle block    smallpad
11 1 insert        middle block    smallpad+1
12 1 insert        middle block    biggerpad
13 1 insert        last block      X
14 1 set   middle block    smaller nopad
15 1 set   middle block    smaller pad
16 1 set   last block      smaller nopad
17 1 set   last block      smaller pad
18 1 set   middle block    bigger  nopad
19 1 set   middle block    bigger  equalpad
20 1 set   middle block    bigger  smallpad
21 1 set   middle block    bigger  smallpad+1
22 1 set   middle block    bigger  biggerpad
23 1 set   last block      bigger  nopad
24 1 set   middle block    equal   X
25 2 set   last block      equal   X
26
27 level 2
28
29 FLAC__bool FLAC__metadata_chain_write()
30
31 1       newsize==oldsize
32         newsize>oldsize
33 b               no use_padding
34 c               use_padding, last block is not padding
35 g               use_padding, last block is padding of insufficient length
36 h               use_padding, last block is padding, but padding header straddles border (can't do it)
37 j               use_padding, last block is padding of exact sufficient length (padding totally consumed)
38 i               use_padding, last block is padding of abundant length (padding is reduced)
39         newsize<oldsize
40 a               no use_padding
41 d               use_padding, last block is not padding, delta is < 4
42 e               use_padding, last block is not padding, delta is >= 4
43 f               use_padding, last block is padding
44
45 void FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain);
46 void FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain);
47
48 S:34    A:1234
49 a:shrink A->30  write nopad
50 S:34    A:30
51 b:grow A->32    write nopad
52 S:34    A:32
53 c:grow A->40    write pad
54 S:34    A:40
55 d:shrink A->37  write pad
56 S:34    A:37
57 e:shrink A->33  write pad
58 S:34    A:33    P:0
59 f:shrink A->20  write pad
60 S:34    A:20    P:13
61 g:grow A->40    write pad
62 S:34    A:40    P:13
63 h:grow A->54    write pad
64 S:34    A:54    P:13
65 i:grow A->60    write pad
66 S:34    A:60    P:7
67 j:grow A->71    write pad
68 S:34    A:71
69 #endif