Skip to content

Commit 19738bb

Browse files
committed
Merge pull request #30 from cchampet/dev_pixel_format
Pixel to PixelProperties.
2 parents b340762 + b0e529f commit 19738bb

31 files changed

+619
-588
lines changed

app/avplay/AvReader.hpp

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,29 +24,15 @@ class AvReader : public Reader
2424

2525
_inputFile.analyse( p );
2626
_videoStream = _inputFile.getProperties().getVideoProperties().at(0).getStreamId();
27-
2827
_inputFile.activateStream( _videoStream );
2928

3029
_inputVideo = new avtranscoder::AvInputVideo( _inputFile.getStream( _videoStream ) );
31-
3230
_inputVideo->setup();
3331

3432
_sourceImage = new avtranscoder::VideoFrame( _inputFile.getStream( _videoStream ).getVideoCodec().getVideoFrameDesc() );
3533

36-
_pixel.setBitsPerPixel( getComponents() * getBitDepth() );
37-
_pixel.setComponents( getComponents() );
38-
_pixel.setColorComponents( avtranscoder::eComponentRgb );
39-
_pixel.setSubsampling( avtranscoder::eSubsamplingNone );
40-
_pixel.setAlpha( false );
41-
_pixel.setPlanar( false );
42-
43-
_videoFrameDescToDisplay.setWidth( _sourceImage->desc().getWidth() );
44-
_videoFrameDescToDisplay.setHeight( _sourceImage->desc().getHeight() );
45-
_videoFrameDescToDisplay.setDar( _sourceImage->desc().getDar() );
46-
47-
_videoFrameDescToDisplay.setPixel( _pixel.findPixel() );
48-
49-
_imageToDisplay = new avtranscoder::VideoFrame( _videoFrameDescToDisplay );
34+
avtranscoder::VideoFrameDesc videoFrameDescToDisplay( _sourceImage->desc().getWidth(), _sourceImage->desc().getHeight(), getPixelFormat() );
35+
_imageToDisplay = new avtranscoder::VideoFrame( videoFrameDescToDisplay );
5036
}
5137

5238
~AvReader()
@@ -68,12 +54,17 @@ class AvReader : public Reader
6854

6955
size_t getComponents()
7056
{
71-
return _inputFile.getProperties().getVideoProperties().at(0).getComponentsCount();
57+
return _inputFile.getProperties().getVideoProperties().at(0).getPixelProperties().getNbComponents();
7258
}
7359

7460
size_t getBitDepth()
7561
{
76-
return 8;
62+
return _inputFile.getProperties().getVideoProperties().at(0).getPixelProperties().getBitsPerPixel();
63+
}
64+
65+
AVPixelFormat getPixelFormat()
66+
{
67+
return _inputFile.getProperties().getVideoProperties().at(0).getPixelProperties().getAVPixelFormat();
7768
}
7869

7970
const char* readNextFrame()
@@ -105,15 +96,12 @@ class AvReader : public Reader
10596

10697
private:
10798
avtranscoder::InputFile _inputFile;
108-
99+
109100
avtranscoder::AvInputVideo* _inputVideo;
110101

111102
avtranscoder::VideoFrame* _sourceImage;
112103
avtranscoder::VideoFrame* _imageToDisplay;
113104

114-
avtranscoder::Pixel _pixel;
115-
avtranscoder::VideoFrameDesc _videoFrameDescToDisplay;
116-
117105
avtranscoder::VideoTransform _videoTransform;
118106
size_t _videoStream;
119107
};

app/genericProcessor/genericProcessor.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,8 @@ void parseConfigFile( const std::string& configFilename, avtranscoder::Transcode
5858
if( ! filename.length() )
5959
{
6060
// video
61-
avtranscoder::VideoFrameDesc imageDesc;
62-
imageDesc.setWidth( dummyWidth );
63-
imageDesc.setHeight( dummyHeight );
64-
imageDesc.setDar( dummyWidth, dummyHeight );
65-
avtranscoder::Pixel inputPixel( dummyPixelFormat );
66-
imageDesc.setPixel( inputPixel );
67-
6861
avtranscoder::VideoCodec inputVideoCodec( avtranscoder::eCodecTypeEncoder, dummyVideoCodec );
62+
avtranscoder::VideoFrameDesc imageDesc( dummyWidth, dummyHeight, dummyPixelFormat );
6963
inputVideoCodec.setImageParameters( imageDesc );
7064

7165
transcoder.add( filename, streamIndex, subStreamIndex, transcodeProfile, inputVideoCodec );

src/AvTranscoder/codec/AudioCodec.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,16 @@ AudioCodec::AudioCodec( const ICodec& codec )
2323
AudioFrameDesc AudioCodec::getAudioFrameDesc() const
2424
{
2525
assert( _codecContext != NULL );
26-
AudioFrameDesc audioFrameDesc;
27-
28-
audioFrameDesc.setChannels( _codecContext->channels );
29-
audioFrameDesc.setSampleRate( _codecContext->sample_rate );
30-
audioFrameDesc.setSampleFormat( _codecContext->sample_fmt );
26+
27+
AudioFrameDesc audioFrameDesc( _codecContext->sample_rate, _codecContext->channels, _codecContext->sample_fmt );
3128
// audioFrameDesc.setFps( 25 );
3229

3330
return audioFrameDesc;
3431
}
3532

3633
void AudioCodec::setAudioParameters( const AudioFrameDesc& audioFrameDesc )
3734
{
38-
setAudioParameters( audioFrameDesc.getSampleRate(), audioFrameDesc.getChannels(), audioFrameDesc.getAVSampleFormat() );
35+
setAudioParameters( audioFrameDesc.getSampleRate(), audioFrameDesc.getChannels(), audioFrameDesc.getSampleFormat() );
3936
}
4037

4138
void AudioCodec::setAudioParameters( const size_t sampleRate, const size_t channels, const AVSampleFormat sampleFormat )

src/AvTranscoder/codec/VideoCodec.cpp

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,7 @@ VideoFrameDesc VideoCodec::getVideoFrameDesc() const
2424
{
2525
assert( _codecContext != NULL );
2626

27-
VideoFrameDesc videoFrameDesc;
28-
videoFrameDesc.setWidth ( _codecContext->width );
29-
videoFrameDesc.setHeight( _codecContext->height );
30-
videoFrameDesc.setDar( _codecContext->width, _codecContext->height );
31-
32-
Pixel pixel( _codecContext->pix_fmt );
33-
videoFrameDesc.setPixel( pixel );
34-
27+
VideoFrameDesc videoFrameDesc( _codecContext->width, _codecContext->height, _codecContext->pix_fmt );
3528
return videoFrameDesc;
3629
}
3730

@@ -46,13 +39,7 @@ std::pair< size_t, size_t > VideoCodec::getTimeBase() const
4639

4740
void VideoCodec::setImageParameters( const VideoFrameDesc& videoFrameDesc )
4841
{
49-
setImageParameters( videoFrameDesc.getWidth(), videoFrameDesc.getHeight(), videoFrameDesc.getPixelDesc() );
50-
}
51-
52-
53-
void VideoCodec::setImageParameters( const size_t width, const size_t height, const Pixel& pixel )
54-
{
55-
setImageParameters( width, height, pixel.findPixel() );
42+
setImageParameters( videoFrameDesc.getWidth(), videoFrameDesc.getHeight(), videoFrameDesc.getPixelFormat() );
5643
}
5744

5845
void VideoCodec::setImageParameters( const size_t width, const size_t height, const AVPixelFormat& pixel )

src/AvTranscoder/codec/VideoCodec.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ class AvExport VideoCodec : public ICodec
2020
std::pair< size_t, size_t > getTimeBase() const;
2121

2222
void setImageParameters( const VideoFrameDesc& videoFrameDesc );
23-
void setImageParameters( const size_t width, const size_t height, const Pixel& pixel );
2423
void setImageParameters( const size_t width, const size_t height, const AVPixelFormat& pixel );
2524

2625
void setTimeBase( const size_t num, const size_t den, const size_t ticksPerFrame = 1 );

src/AvTranscoder/essenceStream/GeneratorAudio.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ bool GeneratorAudio::readNextFrame( Frame& frameBuffer )
3030

3131
//av_samples_set_silence( data.getPtr(), offset, nb_samples, nb_channels, sample_fmt );
3232
int fill_char = (
33-
_frameDesc.getAVSampleFormat() == AV_SAMPLE_FMT_U8 ||
34-
_frameDesc.getAVSampleFormat() == AV_SAMPLE_FMT_U8P
33+
_frameDesc.getSampleFormat() == AV_SAMPLE_FMT_U8 ||
34+
_frameDesc.getSampleFormat() == AV_SAMPLE_FMT_U8P
3535
) ? 0x80 : 0x00;
3636

3737
if( frameBuffer.getSize() != _frameDesc.getDataSize() )

src/AvTranscoder/essenceStream/GeneratorVideo.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ bool GeneratorVideo::readNextFrame( Frame& frameBuffer )
3131
char fillChar = 0;
3232

3333
VideoFrameDesc desc( _frameDesc );
34-
Pixel rgbPixel( "rgb24" );
35-
desc.setPixel( rgbPixel );
34+
desc.setPixelFormat( "rgb24" );
3635

3736
VideoFrame intermediateBuffer( desc );
3837
intermediateBuffer.getBuffer().resize( _frameDesc.getDataSize() );

src/AvTranscoder/essenceStream/IInputEssence.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class AvExport IInputEssence
1313
virtual ~IInputEssence() {};
1414

1515
/**
16-
* @brief Setup the decoder
16+
* @brief Open the decoder
1717
*/
1818
virtual void setup() = 0;
1919

src/AvTranscoder/file/InputFile.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ void InputFile::analyse( IProgress& progress, const EAnalyseLevel level )
7272
{
7373
assert( _formatContext != NULL );
7474

75-
seekAtFrame( 0 );
75+
if( level > eAnalyseLevelHeader )
76+
seekAtFrame( 0 );
7677

7778
for( size_t streamId = 0; streamId < _formatContext->nb_streams; streamId++ )
7879
{
@@ -121,7 +122,8 @@ void InputFile::analyse( IProgress& progress, const EAnalyseLevel level )
121122
}
122123
}
123124

124-
seekAtFrame( 0 );
125+
if( level > eAnalyseLevelHeader )
126+
seekAtFrame( 0 );
125127
}
126128

127129
FileProperties InputFile::analyseFile( const std::string& filename, IProgress& progress, const EAnalyseLevel level )

src/AvTranscoder/file/InputFile.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class AvExport InputFile
3030
/**
3131
* @brief Open a media file
3232
* @param filename resource to access
33-
* \exception runtime_error launched if unable to open file
33+
* @exception ios_base::failure launched if unable to open file
3434
**/
3535
InputFile( const std::string& filename );
3636

0 commit comments

Comments
 (0)