[FFmpeg-devel] [PATCH v2 1/3] ffmpeg_opt: pass output framerate as a hint to the encoder
Tobias Rapp
t.rapp at noa-archive.com
Mon Feb 20 17:05:00 EET 2017
On 20.02.2017 15:09, Mark Thompson wrote:
> On 06/02/17 12:33, Tobias Rapp wrote:
>> Sets framerate field in output codec context if explicitly specified on
>> the command-line.
>>
>> Signed-off-by: Tobias Rapp <t.rapp at noa-archive.com>
>> ---
>> ffmpeg_opt.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
>> index 6a47d32..3b532da 100644
>> --- a/ffmpeg_opt.c
>> +++ b/ffmpeg_opt.c
>> @@ -1535,6 +1535,8 @@ static OutputStream *new_video_stream(OptionsContext *o, AVFormatContext *oc, in
>> av_log(NULL, AV_LOG_FATAL, "Invalid framerate value: %s\n", frame_rate);
>> exit_program(1);
>> }
>> + if (frame_rate && ost->frame_rate.num && ost->frame_rate.den)
>> + video_enc->framerate = ost->frame_rate;
>> if (frame_rate && video_sync_method == VSYNC_PASSTHROUGH)
>> av_log(NULL, AV_LOG_ERROR, "Using -vsync 0 and -r can produce invalid output files\n");
>>
>>
>
> Is there a reason not to always set this, rather than only when it is specified explicitly on the command line as you have?
>
> (Like <https://git.libav.org/?p=libav.git;a=commit;h=d10102d23c9467d4eb84f58e0cd12be284b982f6>, though that is after the current merge point and I don't know if it interacts with anything else.)
I just tried to be extra cautious. Merging Libav commit
d10102d23c9467d4eb84f58e0cd12be284b982f6 would provide a more general
solution and might be preferred.
Regards,
Tobias
More information about the ffmpeg-devel
mailing list