FFmpegExaminer::video_frame_rate () const
{
DCPOMATIC_ASSERT (_video_stream);
- /* This use of r_frame_rate is debateable; there's a few different
- * frame rates in the format context, but this one seems to be the most
- * reliable.
- */
- return av_q2d (av_stream_get_r_frame_rate (_format_context->streams[_video_stream.get()]));
+ return av_q2d(av_guess_frame_rate(_format_context, _format_context->streams[_video_stream.get()], 0));
}
dcp::Size
return n;
}
-int
+optional<int>
FFmpegExaminer::bits_per_pixel () const
{
if (video_codec_context()->pix_fmt == -1) {
- throw DecodeError (_("Could not find pixel format for video."));
+ return optional<int>();
}
AVPixFmtDescriptor const * d = av_pix_fmt_desc_get (video_codec_context()->pix_fmt);