/[amv]/amv.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /amv.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 14 by dpavlin, Sat Jul 21 10:28:39 2007 UTC revision 16 by dpavlin, Sat Jul 21 11:18:15 2007 UTC
# Line 15  use strict; Line 15  use strict;
15  use Data::Dump qw/dump/;  use Data::Dump qw/dump/;
16  use Carp qw/confess/;  use Carp qw/confess/;
17  use File::Path;  use File::Path;
18    use Getopt::Long;
19    
20  my $dump = 0;  my $dump = 0;
21  my $debug = 0;  my $debug = 0;
22    my $dump_dir = '/tmp/dump/';
23    
24    GetOptions(
25            "dump!"                 => \$dump,
26            "debug!"                => \$debug,
27            "dump-dir=s"    => \$dump_dir,
28    );
29    
30  my $path = shift @ARGV || die "usage: $0 movie.amv\n";  my $path = shift @ARGV || die "usage: $0 movie.amv\n";
31    
32  my $dump_dir = '/tmp/dump/';  
33  rmtree $dump_dir if -e $dump_dir;  rmtree $dump_dir if -e $dump_dir;
34  mkpath $dump_dir || die "can't create $dump_dir: $!";  mkpath $dump_dir || die "can't create $dump_dir: $!";
35    
# Line 150  sub mkjpg { Line 158  sub mkjpg {
158          confess "no SOI marker in data" if substr($data,0,2) ne "\xFF\xD8";          confess "no SOI marker in data" if substr($data,0,2) ne "\xFF\xD8";
159          $data = substr($data,2);          $data = substr($data,2);
160    
161            my $w = $d->{amvh}->{width} || die "no width?";
162            my $h = $d->{amvh}->{height} || confess "no height?";
163    
164          my $header =          my $header =
165                  "\xFF\xD8".     # Start of Image (SOI) marker                  "\xFF\xD8".     # Start of Image (SOI) marker
166  #------------------------------------------------------------------  #------------------------------------------------------------------
# Line 167  sub mkjpg { Line 178  sub mkjpg {
178          pack("ncnncc9",          pack("ncnncc9",
179                  17,                     # len                  17,                     # len
180                  8,                      # sample precision in bits                  8,                      # sample precision in bits
181                  120,160,        # X,Y size                  $h,$w,          # X,Y size
182                  3,                      # number of components                  3,                      # number of components
183                  1,0x21,0,       # Component ID, H+V sampling factors, Quantization table number                  1,0x21,0,       # Component ID, H+V sampling factors, Quantization table number
184                  2,0x11,1,                  2,0x11,1,
# Line 323  sub mkjpg { Line 334  sub mkjpg {
334          );          );
335  #------------------------------------------------------------------  #------------------------------------------------------------------
336    
337          my $header =          $header =
338          # SOI          # SOI
339          "\xFF\xD8".          "\xFF\xD8".
340          # JFIF          # JFIF
# Line 407  sub mkjpg { Line 418  sub mkjpg {
418          # start of frame          # start of frame
419          "\xff\xc0".          "\xff\xc0".
420          "\x00\x11\x08".          "\x00\x11\x08".
421          pack("nn", 120, 160).          pack("nn", $h, $w).
422          "\x03\x01\x21\x00\x02\x11\x01\x03\x11\x01".          "\x03\x01\x21\x00\x02\x11\x01\x03\x11\x01".
423          #          #
424          "\xff\xda".          "\xff\xda".

Legend:
Removed from v.14  
changed lines
  Added in v.16

  ViewVC Help
Powered by ViewVC 1.1.26