diff options
-rw-r--r-- | libavcodec/h264.c | 2 | ||||
-rw-r--r-- | libavfilter/af_asyncts.c | 9 | ||||
-rw-r--r-- | libavutil/x86/x86inc.asm | 4 |
3 files changed, 6 insertions, 9 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 85e10afac8..1fd1f38d58 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1169,6 +1169,8 @@ static int decode_init_thread_copy(AVCodecContext *avctx) memset(h->sps_buffers, 0, sizeof(h->sps_buffers)); memset(h->pps_buffers, 0, sizeof(h->pps_buffers)); + h->s.context_initialized = 0; + return 0; } diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index d3123f503e..fb3377c642 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -190,19 +190,14 @@ static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *buf) int out_size, ret; int64_t delta; - /* buffer data until we get the first timestamp */ - if (s->pts == AV_NOPTS_VALUE) { + /* buffer data until we get the next timestamp */ + if (s->pts == AV_NOPTS_VALUE || pts == AV_NOPTS_VALUE) { if (pts != AV_NOPTS_VALUE) { s->pts = pts - get_delay(s); } return write_to_fifo(s, buf); } - /* now wait for the next timestamp */ - if (pts == AV_NOPTS_VALUE) { - return write_to_fifo(s, buf); - } - if (s->first_pts != AV_NOPTS_VALUE) { handle_trimming(ctx); if (!avresample_available(s->avr)) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index 1f1e4b1cd7..59ddc9ddd1 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -172,10 +172,10 @@ CPUNOP amdnop %define r%1mp %2 %elif ARCH_X86_64 ; memory %define r%1m [rstk + stack_offset + %3] - %define r%1mp qword r %+ %1m + %define r%1mp qword r %+ %1 %+ m %else %define r%1m [rstk + stack_offset + %3] - %define r%1mp dword r %+ %1m + %define r%1mp dword r %+ %1 %+ m %endif %define r%1 %2 %endmacro |