mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
fftools/ffmpeg_enc: don't write frame rate/SAR to AVStream directly
Have the muxer code read them out of the encoder context in of_stream_init() instead. This is a step towards decoupling encoders from muxers.
This commit is contained in:
parent
7f7fe2a10b
commit
e3e66b14af
@ -206,7 +206,6 @@ int enc_open(void *opaque, const AVFrame *frame)
|
||||
if (ost->type == AVMEDIA_TYPE_AUDIO || ost->type == AVMEDIA_TYPE_VIDEO) {
|
||||
enc_ctx->time_base = frame->time_base;
|
||||
enc_ctx->framerate = fd->frame_rate_filter;
|
||||
ost->st->avg_frame_rate = fd->frame_rate_filter;
|
||||
}
|
||||
|
||||
switch (enc_ctx->codec_type) {
|
||||
@ -233,7 +232,7 @@ int enc_open(void *opaque, const AVFrame *frame)
|
||||
frame->height > 0);
|
||||
enc_ctx->width = frame->width;
|
||||
enc_ctx->height = frame->height;
|
||||
enc_ctx->sample_aspect_ratio = ost->st->sample_aspect_ratio =
|
||||
enc_ctx->sample_aspect_ratio =
|
||||
ost->frame_aspect_ratio.num ? // overridden by the -aspect cli option
|
||||
av_mul_q(ost->frame_aspect_ratio, (AVRational){ enc_ctx->height, enc_ctx->width }) :
|
||||
frame->sample_aspect_ratio;
|
||||
|
@ -620,6 +620,9 @@ int of_stream_init(OutputFile *of, OutputStream *ost,
|
||||
if (ost->st->time_base.num <= 0 || ost->st->time_base.den <= 0)
|
||||
ost->st->time_base = av_add_q(enc_ctx->time_base, (AVRational){0, 1});
|
||||
|
||||
ost->st->avg_frame_rate = enc_ctx->framerate;
|
||||
ost->st->sample_aspect_ratio = enc_ctx->sample_aspect_ratio;
|
||||
|
||||
ret = avcodec_parameters_from_context(ms->par_in, enc_ctx);
|
||||
if (ret < 0) {
|
||||
av_log(ost, AV_LOG_FATAL,
|
||||
|
Loading…
Reference in New Issue
Block a user