pthread: do not touch has_b_frames
Adding the thread count in frame level multithreading to has_b_frames as an additional delay causes more problems than it solves. For example inconsistent behaviour during timestamp calculation in libavformat. Thread count and frame level multithreading are both set by the user. If the additional delay caused by frame level multithreading needs to be considered in the calling code it has all information to take it into account. Should it become necessary to calculate a maximum delay inside libavcodec it should be exported as its own field and not reusing an existing field. Based on a patch by Michael Niedermayer. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
This commit is contained in:
@@ -964,11 +964,6 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
||||
delay= st->codec->has_b_frames;
|
||||
presentation_delayed = 0;
|
||||
|
||||
// ignore delay caused by frame threading so that the mpeg2-without-dts
|
||||
// warning will not trigger
|
||||
if (delay && st->codec->active_thread_type&FF_THREAD_FRAME)
|
||||
delay -= st->codec->thread_count-1;
|
||||
|
||||
/* XXX: need has_b_frame, but cannot get it if the codec is
|
||||
not initialized */
|
||||
if (delay &&
|
||||
|
Reference in New Issue
Block a user