File Coverage

blib/lib/PDF/Make/Filter.pm
Criterion Covered Total %
statement 30 30 100.0
branch n/a
condition 21 32 65.6
subroutine 19 19 100.0
pod 14 16 87.5
total 84 97 86.6


line stmt bran cond sub pod time code
1             package PDF::Make::Filter;
2              
3 2     2   184836 use strict;
  2         3  
  2         101  
4 2     2   22 use warnings;
  2         4  
  2         89  
5 2     2   828 use PDF::Make ();
  2         7  
  2         1040  
6              
7             our $VERSION = '0.03';
8              
9             # Thin wrappers around the PDF::Make XS codec functions defined in xs/filter.xs.
10             # These let Perl tests exercise the ASCII85, ASCIIHex, Flate, Raw DEFLATE, LZW,
11             # RunLength and PNG/TIFF predictor implementations directly instead of only
12             # through the end-to-end writer/reader pipelines.
13              
14 12     12 1 6779 sub ascii85_encode { PDF::Make::Filter::_ascii85_encode($_[0]) }
15 15     15 1 142740 sub ascii85_decode { PDF::Make::Filter::_ascii85_decode($_[0]) }
16 3     3 1 636 sub asciihex_encode { PDF::Make::Filter::_asciihex_encode($_[0]) }
17 8     8 1 1216 sub asciihex_decode { PDF::Make::Filter::_asciihex_decode($_[0]) }
18              
19 6     6 0 4015 sub rle_encode { PDF::Make::Filter::_rle_encode($_[0]) }
20 13     13 0 887 sub rle_decode { PDF::Make::Filter::_rle_decode($_[0]) }
21              
22 8     8 1 6620 sub flate_encode { PDF::Make::Filter::_flate_encode($_[0]) }
23 8     8 1 2761 sub flate_decode { PDF::Make::Filter::_flate_decode($_[0]) }
24              
25 5   50 5 1 2798 sub deflate_encode { PDF::Make::Filter::_deflate_encode($_[0], $_[1] // 6) }
26 5     5 1 241 sub deflate_decode { PDF::Make::Filter::_deflate_decode($_[0]) }
27              
28 4     4 1 151085 sub adler32 { PDF::Make::Filter::_adler32($_[0]) }
29              
30             sub lzw_decode {
31 4     4 1 480 my ($data, %opts) = @_;
32 4   100     81 PDF::Make::Filter::_lzw_decode($data, $opts{early_change} // 1);
33             }
34              
35             sub predictor_encode {
36 7     7 1 3113 my %opt = @_;
37             PDF::Make::Filter::_predictor_encode(
38             $opt{predictor} // 10,
39             $opt{colors} // 1,
40             $opt{bits} // 8,
41             $opt{columns} // 1,
42             $opt{data},
43 7   50     79 );
      100        
      100        
      50        
44             }
45              
46             sub predictor_decode {
47 7     7 1 24 my %opt = @_;
48             PDF::Make::Filter::_predictor_decode(
49             $opt{predictor} // 10,
50             $opt{colors} // 1,
51             $opt{bits} // 8,
52             $opt{columns} // 1,
53             $opt{data},
54 7   50     44 );
      100        
      100        
      50        
55             }
56              
57             sub tiff_predictor_encode {
58 1     1 1 693 my %opt = @_;
59             PDF::Make::Filter::_tiff_predictor_encode(
60             $opt{colors} // 1, $opt{bits} // 8, $opt{columns} // 1, $opt{data},
61 1   50     18 );
      50        
      50        
62             }
63              
64             sub tiff_predictor_decode {
65 1     1 1 9 my %opt = @_;
66             PDF::Make::Filter::_tiff_predictor_decode(
67             $opt{colors} // 1, $opt{bits} // 8, $opt{columns} // 1, $opt{data},
68 1   50     13 );
      50        
      50        
69             }
70              
71             1;
72              
73             __END__