From 0eae920c3c49d1329ca22e5a8b5479fac354b55a Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Sun, 9 Dec 2012 19:19:51 +0100 Subject: [PATCH 1/3] h264: initialize frame-mt context copies properly --- libavcodec/h264.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavcodec/h264.c b/libavcodec/h264.c index e4887ffa67..12af8108fb 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -1125,6 +1125,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; } From 0995ad8db4bca55569f8f34ef6ac10552daeae13 Mon Sep 17 00:00:00 2001 From: Janne Grunau Date: Thu, 13 Dec 2012 22:42:11 +0100 Subject: [PATCH 2/3] x86inc: fully concatenate tokens to fix macro expansion for nasm Fixes build errors with nasm introduced in 6f40e9f070f7 for stack memory alignment. Noticed by BugMaster. --- libavutil/x86/x86inc.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm index de0f22c2dc..60d05f45ae 100644 --- a/libavutil/x86/x86inc.asm +++ b/libavutil/x86/x86inc.asm @@ -153,10 +153,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 From c0dc57f1264dad1e121772d03abdb9e14ed8857f Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Thu, 13 Dec 2012 13:20:51 -0500 Subject: [PATCH 3/3] asyncts: merge two conditions --- libavfilter/af_asyncts.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/libavfilter/af_asyncts.c b/libavfilter/af_asyncts.c index faefdf4be7..d6d893210c 100644 --- a/libavfilter/af_asyncts.c +++ b/libavfilter/af_asyncts.c @@ -196,19 +196,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))