-
Notifications
You must be signed in to change notification settings - Fork 50
Add analyse level full #291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
… stream And compute the exact number of frames.
…into addAnalyseLevelFull
Use the number of decoded frames in analyseGopStructure method.
* Add log. * Avoid complicate if/else...
From the number of frames and the fps.
…e of full analysis
The current frame is already decoded when we call the callback.
And show the progress.
2 similar comments
2 similar comments
2 similar comments
VideoFrame frame(VideoFrameDesc(getWidth(), getHeight(), getPixelFormatName(getPixelProperties().getAVPixelFormat())), false); | ||
|
||
_nbFrames = nbDecodedFrames; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this have a real sense to set the number of images with the GOP image number?
|
||
// Returns at the beginning of the stream | ||
const_cast<InputFile&>(_fileProperties->getInputFile()).seekAtFrame(0, AVSEEK_FLAG_BYTE); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't we use a switch statement here? We might have this const_cast<InputFile&>(_fileProperties->getInputFile()).seekAtFrame(0, AVSEEK_FLAG_BYTE);
line twice, but it could be clearer, don't you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something like that? ad44be7
LOG_INFO("Need a deeper analysis: see eAnalyseLevelFirstGop.") | ||
return 0; | ||
} | ||
else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessary! :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Humm... I think it is ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is not!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a61d95f :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, you changed it into the getDuration() method, but not into this getNbFrames()!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Et voilà" 0f7508f :)
LOG_INFO("Need a deeper analysis: see eAnalyseLevelFirstGop.") | ||
return 0; | ||
} | ||
else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not necessary too!
Use a switch statement instead of several if.
Else statement was not necessary!
5 similar comments
2 similar comments
Else statement was not necessary!
I compiled ffmpeg-2.7.7 and avTranscoder in release mode without any specific options, and I get 1min of process to decode and compute all the properties (bitrate, duration, nbFrames) of an AVC stream of 3min (stored in local).