@@ -53,36 +53,26 @@ void ColorTransform::convert( const Image& src, Image& dst )
53
53
{
54
54
55
55
SwsContext* m_imageConvertContext = sws_getContext (
56
- m_width, m_height, m_inputPixel (),
57
- m_width, m_height, m_outputPixel (),
56
+ m_width, m_height, m_inputPixel. get (),
57
+ m_width, m_height, m_outputPixel. get (),
58
58
SWS_POINT, NULL , NULL , NULL );
59
59
60
60
// resize dst buffer ? using :
61
61
// av_image_get_buffer_size(enum AVPixelFormat pix_fmt, int width, int height, int align);
62
62
63
- unsigned char * dataIn [ AV_NUM_DATA_POINTERS ] ;
64
- unsigned char * dataOut [ AV_NUM_DATA_POINTERS ] ;
65
- int linesizeIn [ AV_NUM_DATA_POINTERS ] ;
66
- int linesizeOut[ AV_NUM_DATA_POINTERS ] ;
63
+ std::vector< std::vector< unsigned char > > dataIn ( AV_NUM_DATA_POINTERS ) ;
64
+ std::vector< std::vector< unsigned char > > dataOut ( AV_NUM_DATA_POINTERS ) ;
65
+ std::vector< int > lineSizeIn ( AV_NUM_DATA_POINTERS, 0 ) ;
66
+ std::vector< int > lineSizeOut ( AV_NUM_DATA_POINTERS, 0 ) ;
67
67
68
- // std::vector< int > lineSizeOut( AV_NUM_DATA_POINTERS, 0 );
69
-
70
- for ( size_t i = 0 ; i < AV_NUM_DATA_POINTERS; ++i )
71
- {
72
- dataIn [i] = NULL ;
73
- dataOut[i] = NULL ;
74
- linesizeIn [i] = 0 ;
75
- linesizeOut[i] = 0 ;
76
- }
77
-
78
- // dataIn [0] = const_cast< unsigned char* >( &src[0] );
68
+ // dataIn[0] = &src.getPtr();
79
69
// dataOut[0] = &dst[0];
80
- linesizeIn [0 ] = av_image_get_linesize ( m_inputPixel (), m_width , 3 );
81
- linesizeOut [0 ] = av_image_get_linesize ( m_outputPixel (), m_width , 3 );
70
+ lineSizeIn [0 ] = av_image_get_linesize ( m_inputPixel. get (), src. getWidth () , 3 );
71
+ lineSizeOut [0 ] = av_image_get_linesize ( m_outputPixel. get (), src. getWidth () , 3 );
82
72
83
- sws_scale ( m_imageConvertContext,
84
- dataIn, linesizeIn , 0 , m_height ,
85
- dataOut, linesizeOut );
73
+ // sws_scale( m_imageConvertContext,
74
+ // dataIn, lineSizeIn , 0, src.getHeight() ,
75
+ // dataOut, lineSizeOut );
86
76
}
87
77
88
78
}
0 commit comments