hornetseye-frame 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +8 -5
- data/ext/colourspace.cc +77 -0
- data/ext/colourspace.hh +29 -0
- data/ext/error.hh +50 -0
- data/ext/frame.cc +64 -0
- data/ext/frame.hh +40 -0
- data/ext/init.cc +3 -0
- data/lib/hornetseye-frame/fourcc.rb +1 -1
- data/lib/hornetseye-frame/frame.rb +121 -0
- data/lib/hornetseye_frame_ext.rb +2 -0
- metadata +11 -5
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'rake/packagetask'
|
|
6
6
|
require 'rbconfig'
|
7
7
|
|
8
8
|
PKG_NAME = 'hornetseye-frame'
|
9
|
-
PKG_VERSION = '0.
|
9
|
+
PKG_VERSION = '0.2.0'
|
10
10
|
CXX = ENV[ 'CXX' ] || 'g++'
|
11
11
|
STRIP = ENV[ 'STRIP' ] || 'strip'
|
12
12
|
RB_FILES = FileList[ 'lib/**/*.rb' ]
|
@@ -113,7 +113,7 @@ begin
|
|
113
113
|
s.extra_rdoc_files = []
|
114
114
|
s.rdoc_options = %w{--no-private}
|
115
115
|
s.add_dependency %<malloc>, [ '~> 1.1' ]
|
116
|
-
s.add_dependency %<multiarray>, [ '~> 0.
|
116
|
+
s.add_dependency %<multiarray>, [ '~> 0.6' ]
|
117
117
|
s.add_development_dependency %q{rake}
|
118
118
|
end
|
119
119
|
GEM_SOURCE = "#{PKG_NAME}-#{PKG_VERSION}.gem"
|
@@ -135,7 +135,7 @@ begin
|
|
135
135
|
s.extra_rdoc_files = []
|
136
136
|
s.rdoc_options = %w{--no-private}
|
137
137
|
s.add_dependency %q<malloc>, [ '~> 1.1' ]
|
138
|
-
s.add_dependency %<multiarray>, [ '~> 0.
|
138
|
+
s.add_dependency %<multiarray>, [ '~> 0.6' ]
|
139
139
|
end
|
140
140
|
GEM_BINARY = "#{PKG_NAME}-#{PKG_VERSION}-#{$BINSPEC.platform}.gem"
|
141
141
|
desc "Build the gem file #{GEM_SOURCE}"
|
@@ -166,8 +166,11 @@ rule '.o' => '.cc' do |t|
|
|
166
166
|
sh "#{CXX} #{$CXXFLAGS} -c -o #{t.name} #{t.source}"
|
167
167
|
end
|
168
168
|
|
169
|
-
|
170
|
-
|
169
|
+
file 'ext/frame.o' => [ 'ext/frame.cc', 'ext/frame.hh' ]
|
170
|
+
file 'ext/colourspace.o' => [ 'ext/colourspace.cc', 'ext/colourspace.hh',
|
171
|
+
'ext/frame.hh', 'ext/error.hh' ]
|
172
|
+
file 'ext/init.o' => [ 'ext/init.cc', 'ext/frame.hh', 'ext/colourspace.hh',
|
173
|
+
'ext/error.hh' ]
|
171
174
|
|
172
175
|
CLEAN.include 'ext/*.o'
|
173
176
|
CLOBBER.include SO_FILE, 'doc', '.yardoc'
|
data/ext/colourspace.cc
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
/* HornetsEye - Computer Vision with Ruby
|
2
|
+
Copyright (C) 2006, 2007, 2008, 2009, 2010 Jan Wedekind
|
3
|
+
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
5
|
+
it under the terms of the GNU General Public License as published by
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
7
|
+
(at your option) any later version.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it will be useful,
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
GNU General Public License for more details.
|
13
|
+
|
14
|
+
You should have received a copy of the GNU General Public License
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
16
|
+
extern "C" {
|
17
|
+
#include <libswscale/swscale.h>
|
18
|
+
}
|
19
|
+
#undef RSHIFT
|
20
|
+
#include "colourspace.hh"
|
21
|
+
|
22
|
+
using namespace std;
|
23
|
+
|
24
|
+
static enum PixelFormat stringToPixelFormat( const string &str ) throw (Error)
|
25
|
+
{
|
26
|
+
enum PixelFormat retVal = PIX_FMT_NONE;
|
27
|
+
if ( str == "YV12" )
|
28
|
+
retVal = PIX_FMT_YUV420P;
|
29
|
+
else if ( str == "UBYTERGB" )
|
30
|
+
retVal = PIX_FMT_RGB24;
|
31
|
+
else {
|
32
|
+
ERRORMACRO( false, Error, , "Unsupported colourspace \"" << str << "\"" );
|
33
|
+
};
|
34
|
+
return retVal;
|
35
|
+
}
|
36
|
+
|
37
|
+
FramePtr frameToType( const FramePtr in, const string &target ) throw (Error)
|
38
|
+
{
|
39
|
+
int
|
40
|
+
width = in->width(),
|
41
|
+
height = in->height();
|
42
|
+
FramePtr retVal( new Frame( target, width, height ) );
|
43
|
+
uint8_t *sourceData[3];
|
44
|
+
sourceData[0] = (uint8_t *)in->data();
|
45
|
+
sourceData[1] = (uint8_t *)in->data() + width * height * 5 / 4;
|
46
|
+
sourceData[2] = (uint8_t *)in->data() + width * height;
|
47
|
+
int sourceLineSize[3];
|
48
|
+
sourceLineSize[0] = width;
|
49
|
+
sourceLineSize[1] = width / 2;
|
50
|
+
sourceLineSize[2] = width / 2;
|
51
|
+
uint8_t *destData[1];
|
52
|
+
destData[0] = (uint8_t *)retVal->data();
|
53
|
+
int destLineSize[1];
|
54
|
+
destLineSize[0] = retVal->width() * 3;
|
55
|
+
SwsContext *swsContext = sws_getContext( width, height,
|
56
|
+
stringToPixelFormat( in->typecode() ),
|
57
|
+
width, height,
|
58
|
+
stringToPixelFormat( target ),
|
59
|
+
SWS_FAST_BILINEAR, 0, 0, 0 );
|
60
|
+
sws_scale( swsContext, sourceData, sourceLineSize, 0,
|
61
|
+
height, destData, destLineSize );
|
62
|
+
sws_freeContext( swsContext );
|
63
|
+
return retVal;
|
64
|
+
}
|
65
|
+
|
66
|
+
VALUE frameWrapToType( VALUE rbSelf, VALUE rbTarget )
|
67
|
+
{
|
68
|
+
VALUE rbRetVal = Qnil;
|
69
|
+
try {
|
70
|
+
FramePtr frame( new Frame( rbSelf ) );
|
71
|
+
VALUE rbString = rb_funcall( rbTarget, rb_intern( "to_s" ), 0 );
|
72
|
+
rbRetVal = frameToType( frame, StringValuePtr( rbString ) )->rubyObject();
|
73
|
+
} catch ( exception &e ) {
|
74
|
+
rb_raise( rb_eRuntimeError, "%s", e.what() );
|
75
|
+
};
|
76
|
+
return rbRetVal;
|
77
|
+
}
|
data/ext/colourspace.hh
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
/* HornetsEye - Computer Vision with Ruby
|
2
|
+
Copyright (C) 2006, 2007, 2008, 2009, 2010 Jan Wedekind
|
3
|
+
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
5
|
+
it under the terms of the GNU General Public License as published by
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
7
|
+
(at your option) any later version.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it will be useful,
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
GNU General Public License for more details.
|
13
|
+
|
14
|
+
You should have received a copy of the GNU General Public License
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
16
|
+
#ifndef COLOURSPACE_HH
|
17
|
+
#define COLOURSPACE_HH
|
18
|
+
|
19
|
+
#include <ruby.h>
|
20
|
+
#include <string>
|
21
|
+
#include "error.hh"
|
22
|
+
#include "frame.hh"
|
23
|
+
|
24
|
+
FramePtr frameToType( const FramePtr in, const std::string &target ) throw (Error);
|
25
|
+
|
26
|
+
VALUE frameWrapToType( VALUE rbClass, VALUE rbTarget );
|
27
|
+
|
28
|
+
#endif
|
29
|
+
|
data/ext/error.hh
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
/* HornetsEye - Computer Vision with Ruby
|
2
|
+
Copyright (C) 2006, 2007, 2008, 2009, 2010 Jan Wedekind
|
3
|
+
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
5
|
+
it under the terms of the GNU General Public License as published by
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
7
|
+
(at your option) any later version.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it will be useful,
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
GNU General Public License for more details.
|
13
|
+
|
14
|
+
You should have received a copy of the GNU General Public License
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
16
|
+
#ifndef ERROR_HH
|
17
|
+
#define ERROR_HH
|
18
|
+
|
19
|
+
#include <exception>
|
20
|
+
#include <sstream>
|
21
|
+
|
22
|
+
class Error: public std::exception
|
23
|
+
{
|
24
|
+
public:
|
25
|
+
Error(void) {}
|
26
|
+
Error( Error &e ): std::exception( e )
|
27
|
+
{ m_message << e.m_message.str(); }
|
28
|
+
virtual ~Error(void) throw() {}
|
29
|
+
template< typename T >
|
30
|
+
std::ostream &operator<<( const T &t )
|
31
|
+
{ m_message << t; return m_message; }
|
32
|
+
std::ostream &operator<<( std::ostream& (*__pf)(std::ostream&) )
|
33
|
+
{ (*__pf)( m_message ); return m_message; }
|
34
|
+
virtual const char* what(void) const throw() {
|
35
|
+
temp = m_message.str();
|
36
|
+
return temp.c_str();
|
37
|
+
}
|
38
|
+
protected:
|
39
|
+
std::ostringstream m_message;
|
40
|
+
mutable std::string temp;
|
41
|
+
};
|
42
|
+
|
43
|
+
#define ERRORMACRO( condition, class, params, message ) \
|
44
|
+
if ( !( condition ) ) { \
|
45
|
+
class _e params; \
|
46
|
+
_e << message; \
|
47
|
+
throw _e; \
|
48
|
+
};
|
49
|
+
|
50
|
+
#endif
|
data/ext/frame.cc
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
/* HornetsEye - Computer Vision with Ruby
|
2
|
+
Copyright (C) 2006, 2007, 2008, 2009, 2010 Jan Wedekind
|
3
|
+
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
5
|
+
it under the terms of the GNU General Public License as published by
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
7
|
+
(at your option) any later version.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it will be useful,
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
GNU General Public License for more details.
|
13
|
+
|
14
|
+
You should have received a copy of the GNU General Public License
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
16
|
+
#include "frame.hh"
|
17
|
+
|
18
|
+
using namespace std;
|
19
|
+
|
20
|
+
Frame::Frame( const string &typecode, int width, int height, char *data ):
|
21
|
+
m_frame( Qnil )
|
22
|
+
{
|
23
|
+
VALUE mModule = rb_define_module( "Hornetseye" );
|
24
|
+
VALUE cMalloc = rb_define_class_under( mModule, "Malloc", rb_cObject );
|
25
|
+
VALUE cFrame = rb_define_class_under( mModule, "Frame", rb_cObject );
|
26
|
+
VALUE rbSize = rb_funcall( cFrame, rb_intern( "storage_size" ), 3,
|
27
|
+
rb_const_get( mModule, rb_intern( typecode.c_str() ) ),
|
28
|
+
INT2NUM( width ), INT2NUM( height ) );
|
29
|
+
VALUE rbMemory;
|
30
|
+
if ( data != NULL ) {
|
31
|
+
rbMemory = Data_Wrap_Struct( cMalloc, 0, 0, (void *)data );
|
32
|
+
rb_ivar_set( rbMemory, rb_intern( "@size" ), rbSize );
|
33
|
+
} else
|
34
|
+
rbMemory = rb_funcall( cMalloc, rb_intern( "new" ), 1, rbSize );
|
35
|
+
m_frame = rb_funcall( cFrame, rb_intern( "import" ), 4,
|
36
|
+
rb_const_get( mModule, rb_intern( typecode.c_str() ) ),
|
37
|
+
INT2NUM( width ), INT2NUM( height ), rbMemory );
|
38
|
+
}
|
39
|
+
|
40
|
+
string Frame::typecode(void)
|
41
|
+
{
|
42
|
+
VALUE rbString = rb_funcall( rb_funcall( m_frame, rb_intern( "typecode" ), 0 ),
|
43
|
+
rb_intern( "to_s" ), 0 );
|
44
|
+
return StringValuePtr( rbString );
|
45
|
+
}
|
46
|
+
|
47
|
+
int Frame::width(void)
|
48
|
+
{
|
49
|
+
return NUM2INT( rb_funcall( m_frame, rb_intern( "width" ), 0 ) );
|
50
|
+
}
|
51
|
+
|
52
|
+
int Frame::height(void)
|
53
|
+
{
|
54
|
+
return NUM2INT( rb_funcall( m_frame, rb_intern( "height" ), 0 ) );
|
55
|
+
}
|
56
|
+
|
57
|
+
char *Frame::data(void)
|
58
|
+
{
|
59
|
+
VALUE rbMemory = rb_funcall( m_frame, rb_intern( "memory" ), 0 );
|
60
|
+
char *ptr;
|
61
|
+
Data_Get_Struct( rbMemory, char, ptr );
|
62
|
+
return ptr;
|
63
|
+
}
|
64
|
+
|
data/ext/frame.hh
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
/* HornetsEye - Computer Vision with Ruby
|
2
|
+
Copyright (C) 2006, 2007, 2008, 2009, 2010 Jan Wedekind
|
3
|
+
|
4
|
+
This program is free software: you can redistribute it and/or modify
|
5
|
+
it under the terms of the GNU General Public License as published by
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
7
|
+
(at your option) any later version.
|
8
|
+
|
9
|
+
This program is distributed in the hope that it will be useful,
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
GNU General Public License for more details.
|
13
|
+
|
14
|
+
You should have received a copy of the GNU General Public License
|
15
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
16
|
+
#ifndef FRAME_HH
|
17
|
+
#define FRAME_HH
|
18
|
+
|
19
|
+
#include <boost/smart_ptr.hpp>
|
20
|
+
#include <ruby.h>
|
21
|
+
#include <string>
|
22
|
+
|
23
|
+
class Frame
|
24
|
+
{
|
25
|
+
public:
|
26
|
+
Frame( const std::string &typecode, int width, int height, char *data = NULL );
|
27
|
+
Frame( VALUE rbFrame ): m_frame( rbFrame ) {}
|
28
|
+
virtual ~Frame(void) {}
|
29
|
+
std::string typecode(void);
|
30
|
+
int width(void);
|
31
|
+
int height(void);
|
32
|
+
char *data(void);
|
33
|
+
VALUE rubyObject(void) { return m_frame; }
|
34
|
+
protected:
|
35
|
+
VALUE m_frame;
|
36
|
+
};
|
37
|
+
|
38
|
+
typedef boost::shared_ptr< Frame > FramePtr;
|
39
|
+
|
40
|
+
#endif
|
data/ext/init.cc
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
You should have received a copy of the GNU General Public License
|
15
15
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
16
16
|
#include <ruby.h>
|
17
|
+
#include "colourspace.hh"
|
17
18
|
|
18
19
|
#ifdef WIN32
|
19
20
|
#define DLLEXPORT __declspec(dllexport)
|
@@ -30,6 +31,8 @@ extern "C" {
|
|
30
31
|
void Init_hornetseye_frame(void)
|
31
32
|
{
|
32
33
|
VALUE rbHornetseye = rb_define_module( "Hornetseye" );
|
34
|
+
VALUE cFrame = rb_define_class_under( rbHornetseye, "Frame_", rb_cObject );
|
35
|
+
rb_define_method( cFrame, "to_type", RUBY_METHOD_FUNC( frameWrapToType ), 1 );
|
33
36
|
rb_require( "hornetseye_frame_ext.rb" );
|
34
37
|
}
|
35
38
|
|
@@ -50,7 +50,7 @@ module Hornetseye
|
|
50
50
|
BGR = FourCC 'R', 'G', 'B', ' '
|
51
51
|
UYVY = FourCC 'U', 'Y', 'V', 'Y'
|
52
52
|
YUY2 = FourCC 'Y', 'U', 'Y', '2'
|
53
|
-
I420 = FourCC 'I', '4', '2', '0'
|
53
|
+
# I420 = FourCC 'I', '4', '2', '0'
|
54
54
|
YV12 = FourCC 'Y', 'V', '1', '2'
|
55
55
|
MJPG = FourCC 'M', 'J', 'P', 'G'
|
56
56
|
|
@@ -0,0 +1,121 @@
|
|
1
|
+
# hornetseye-frame - Colourspace conversions and compression
|
2
|
+
# Copyright (C) 2010 Jan Wedekind
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
#
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
# Namespace of Hornetseye computer vision library
|
18
|
+
module Hornetseye
|
19
|
+
|
20
|
+
class Frame_
|
21
|
+
|
22
|
+
class << self
|
23
|
+
|
24
|
+
attr_accessor :typecode, :width, :height
|
25
|
+
|
26
|
+
def inspect
|
27
|
+
to_s
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_s
|
31
|
+
"Frame(#{typecode},#{@width},#{@height})"
|
32
|
+
end
|
33
|
+
|
34
|
+
def shape
|
35
|
+
[ @width, @height ]
|
36
|
+
end
|
37
|
+
|
38
|
+
def storage_size
|
39
|
+
case typecode
|
40
|
+
when BGR
|
41
|
+
width * height * 3
|
42
|
+
when UYVY
|
43
|
+
width * height * 2
|
44
|
+
when YUY2
|
45
|
+
widtha = ( width + 3 ) & ~0x3
|
46
|
+
widtha * height * 2
|
47
|
+
when YV12
|
48
|
+
width * height * 3 / 2
|
49
|
+
when MJPG
|
50
|
+
width * height * 2
|
51
|
+
else
|
52
|
+
raise "Memory size of #{inspect} is not known"
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
|
58
|
+
attr_reader :memory
|
59
|
+
|
60
|
+
def initialize( value = nil )
|
61
|
+
@memory = value || Malloc.new( self.class.storage_size )
|
62
|
+
end
|
63
|
+
|
64
|
+
def inspect
|
65
|
+
"#{self.class.inspect}(#{ "0x%08x" % @memory.object_id })"
|
66
|
+
end
|
67
|
+
|
68
|
+
def typecode
|
69
|
+
self.class.typecode
|
70
|
+
end
|
71
|
+
|
72
|
+
def shape
|
73
|
+
self.class.shape
|
74
|
+
end
|
75
|
+
|
76
|
+
def width
|
77
|
+
self.class.width
|
78
|
+
end
|
79
|
+
|
80
|
+
def height
|
81
|
+
self.class.height
|
82
|
+
end
|
83
|
+
|
84
|
+
end
|
85
|
+
|
86
|
+
def Frame( typecode, width, height )
|
87
|
+
if typecode.is_a? FourCC
|
88
|
+
retval = Class.new Frame_
|
89
|
+
retval.typecode = typecode
|
90
|
+
retval.width = width
|
91
|
+
retval.height = height
|
92
|
+
retval
|
93
|
+
else
|
94
|
+
Hornetseye::MultiArray typecode, width, height
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
module_function :Frame
|
99
|
+
|
100
|
+
class Frame
|
101
|
+
|
102
|
+
class << self
|
103
|
+
|
104
|
+
def new( typecode, width, height )
|
105
|
+
Hornetseye::Frame( typecode, width, height ).new
|
106
|
+
end
|
107
|
+
|
108
|
+
def import( typecode, width, height, memory )
|
109
|
+
Hornetseye::Frame( typecode, width, height ).new memory
|
110
|
+
end
|
111
|
+
|
112
|
+
def storage_size( typecode, width, height )
|
113
|
+
Hornetseye::Frame( typecode, width, height ).storage_size
|
114
|
+
end
|
115
|
+
|
116
|
+
end
|
117
|
+
|
118
|
+
end
|
119
|
+
|
120
|
+
end
|
121
|
+
|
data/lib/hornetseye_frame_ext.rb
CHANGED
@@ -14,6 +14,8 @@
|
|
14
14
|
# You should have received a copy of the GNU General Public License
|
15
15
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
16
|
|
17
|
+
require 'malloc'
|
17
18
|
require 'multiarray'
|
18
19
|
require 'hornetseye-frame/fourcc'
|
20
|
+
require 'hornetseye-frame/frame'
|
19
21
|
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
7
|
+
- 2
|
8
8
|
- 0
|
9
|
-
version: 0.
|
9
|
+
version: 0.2.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Jan Wedekind
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-30 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -41,8 +41,8 @@ dependencies:
|
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
segments:
|
43
43
|
- 0
|
44
|
-
-
|
45
|
-
version: "0.
|
44
|
+
- 6
|
45
|
+
version: "0.6"
|
46
46
|
type: :runtime
|
47
47
|
version_requirements: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|
@@ -72,8 +72,14 @@ files:
|
|
72
72
|
- COPYING
|
73
73
|
- .document
|
74
74
|
- lib/hornetseye-frame/fourcc.rb
|
75
|
+
- lib/hornetseye-frame/frame.rb
|
75
76
|
- lib/hornetseye_frame_ext.rb
|
76
77
|
- ext/init.cc
|
78
|
+
- ext/frame.cc
|
79
|
+
- ext/colourspace.cc
|
80
|
+
- ext/frame.hh
|
81
|
+
- ext/colourspace.hh
|
82
|
+
- ext/error.hh
|
77
83
|
has_rdoc: yard
|
78
84
|
homepage: http://wedesoft.github.com/hornetseye-frame/
|
79
85
|
licenses: []
|