fftools/ffmpeg_dec: move setting compute_edt to demuxer

It is done based on demuxer information, so that is the more appropriate
place for this code.

This is a step towards decoupling Decoder and InputStream.
release/7.0
Anton Khirnov 10 months ago
parent 052c83e356
commit b27de18e4f
  1. 9
      fftools/ffmpeg_dec.c
  2. 9
      fftools/ffmpeg_demux.c

@ -999,15 +999,6 @@ int dec_open(InputStream *ist, Scheduler *sch, unsigned sch_idx,
dp->dec_ctx->opaque = dp; dp->dec_ctx->opaque = dp;
dp->dec_ctx->get_format = get_format; dp->dec_ctx->get_format = get_format;
if (dp->dec_ctx->codec_id == AV_CODEC_ID_DVB_SUBTITLE &&
(ist->decoding_needed & DECODING_FOR_OST)) {
av_dict_set(dec_opts, "compute_edt", "1", AV_DICT_DONT_OVERWRITE);
if (ist->decoding_needed & DECODING_FOR_FILTER)
av_log(dp, AV_LOG_WARNING,
"Warning using DVB subtitles for filtering and output at the "
"same time is not fully supported, also see -compute_edt [0|1]\n");
}
/* Useful for subtitles retiming by lavf (FIXME), skipping samples in /* Useful for subtitles retiming by lavf (FIXME), skipping samples in
* audio, and video decoders such as cuvid or mediacodec */ * audio, and video decoders such as cuvid or mediacodec */
dp->dec_ctx->pkt_timebase = ist->st->time_base; dp->dec_ctx->pkt_timebase = ist->st->time_base;

@ -913,6 +913,15 @@ static int ist_use(InputStream *ist, int decoding_needed)
} else } else
ds->dec_opts.framerate = ist->st->avg_frame_rate; ds->dec_opts.framerate = ist->st->avg_frame_rate;
if (ist->dec->id == AV_CODEC_ID_DVB_SUBTITLE &&
(ist->decoding_needed & DECODING_FOR_OST)) {
av_dict_set(&ist->decoder_opts, "compute_edt", "1", AV_DICT_DONT_OVERWRITE);
if (ist->decoding_needed & DECODING_FOR_FILTER)
av_log(ist, AV_LOG_WARNING,
"Warning using DVB subtitles for filtering and output at the "
"same time is not fully supported, also see -compute_edt [0|1]\n");
}
ret = dec_open(ist, d->sch, ds->sch_idx_dec, ret = dec_open(ist, d->sch, ds->sch_idx_dec,
&ist->decoder_opts, &ds->dec_opts); &ist->decoder_opts, &ds->dec_opts);
if (ret < 0) if (ret < 0)

Loading…
Cancel
Save