xref: /aosp_15_r20/external/flac/src/test_libFLAC/matrix (revision 600f14f40d737144c998e2ec7a483122d3776fbc)
1*600f14f4SXin Li#if 0
2*600f14f4SXin Lilevel 1
3*600f14f4SXin Li
4*600f14f4SXin Li4 delete	middle block	nopad
5*600f14f4SXin Li1 delete	middle block	pad
6*600f14f4SXin Li1 delete	last block	nopad
7*600f14f4SXin Li1 delete	last block	pad
8*600f14f4SXin Li1 insert	middle block	nopad
9*600f14f4SXin Li1 insert	middle block	equalpad
10*600f14f4SXin Li1 insert	middle block	smallpad
11*600f14f4SXin Li1 insert	middle block	smallpad+1
12*600f14f4SXin Li1 insert	middle block	biggerpad
13*600f14f4SXin Li1 insert	last block	X
14*600f14f4SXin Li1 set	middle block	smaller	nopad
15*600f14f4SXin Li1 set	middle block	smaller	pad
16*600f14f4SXin Li1 set	last block	smaller	nopad
17*600f14f4SXin Li1 set	last block	smaller	pad
18*600f14f4SXin Li1 set	middle block	bigger	nopad
19*600f14f4SXin Li1 set	middle block	bigger	equalpad
20*600f14f4SXin Li1 set	middle block	bigger	smallpad
21*600f14f4SXin Li1 set	middle block	bigger	smallpad+1
22*600f14f4SXin Li1 set	middle block	bigger	biggerpad
23*600f14f4SXin Li1 set	last block	bigger	nopad
24*600f14f4SXin Li1 set	middle block	equal	X
25*600f14f4SXin Li2 set	last block	equal	X
26*600f14f4SXin Li
27*600f14f4SXin Lilevel 2
28*600f14f4SXin Li
29*600f14f4SXin LiFLAC__bool FLAC__metadata_chain_write()
30*600f14f4SXin Li
31*600f14f4SXin Li1	newsize==oldsize
32*600f14f4SXin Li	newsize>oldsize
33*600f14f4SXin Lib		no use_padding
34*600f14f4SXin Lic		use_padding, last block is not padding
35*600f14f4SXin Lig		use_padding, last block is padding of insufficient length
36*600f14f4SXin Lih		use_padding, last block is padding, but padding header straddles border (can't do it)
37*600f14f4SXin Lij		use_padding, last block is padding of exact sufficient length (padding totally consumed)
38*600f14f4SXin Lii		use_padding, last block is padding of abundant length (padding is reduced)
39*600f14f4SXin Li	newsize<oldsize
40*600f14f4SXin Lia		no use_padding
41*600f14f4SXin Lid		use_padding, last block is not padding, delta is < 4
42*600f14f4SXin Lie		use_padding, last block is not padding, delta is >= 4
43*600f14f4SXin Lif		use_padding, last block is padding
44*600f14f4SXin Li
45*600f14f4SXin Livoid FLAC__metadata_chain_merge_padding(FLAC__Metadata_Chain *chain);
46*600f14f4SXin Livoid FLAC__metadata_chain_sort_padding(FLAC__Metadata_Chain *chain);
47*600f14f4SXin Li
48*600f14f4SXin LiS:34	A:1234
49*600f14f4SXin Lia:shrink A->30	write nopad
50*600f14f4SXin LiS:34	A:30
51*600f14f4SXin Lib:grow A->32	write nopad
52*600f14f4SXin LiS:34	A:32
53*600f14f4SXin Lic:grow A->40	write pad
54*600f14f4SXin LiS:34	A:40
55*600f14f4SXin Lid:shrink A->37	write pad
56*600f14f4SXin LiS:34	A:37
57*600f14f4SXin Lie:shrink A->33	write pad
58*600f14f4SXin LiS:34	A:33	P:0
59*600f14f4SXin Lif:shrink A->20	write pad
60*600f14f4SXin LiS:34	A:20	P:13
61*600f14f4SXin Lig:grow A->40	write pad
62*600f14f4SXin LiS:34	A:40	P:13
63*600f14f4SXin Lih:grow A->54	write pad
64*600f14f4SXin LiS:34	A:54	P:13
65*600f14f4SXin Lii:grow A->60	write pad
66*600f14f4SXin LiS:34	A:60	P:7
67*600f14f4SXin Lij:grow A->71	write pad
68*600f14f4SXin LiS:34	A:71
69*600f14f4SXin Li#endif
70