Merge commit 'dae1d507af94261bafd3b11549884e5d1eca590e'

* commit 'dae1d507af94261bafd3b11549884e5d1eca590e':
  x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
  vf_fps: add final flushed frames to the dropped frame count
  rv34_parser: Adjust #if for disabling individual parsers

Merged-by: Michael Niedermayer <michaelni@gmx.at>
pull/8/head
Michael Niedermayer 12 years ago
commit 68f92a70f1
  1. 7
      libavcodec/x86/h264_chromamc.asm
  2. 1
      libavfilter/vf_fps.c
  3. 8
      libavutil/x86/x86util.asm

@ -427,11 +427,11 @@ cglobal %1_%2_chroma_mc2, 6, 7, 0
%macro NOTHING 2-3 %macro NOTHING 2-3
%endmacro %endmacro
%macro DIRECT_AVG 2 %macro DIRECT_AVG 2
PAVG %1, %2 PAVGB %1, %2
%endmacro %endmacro
%macro COPY_AVG 3 %macro COPY_AVG 3
movd %2, %3 movd %2, %3
PAVG %1, %2 PAVGB %1, %2
%endmacro %endmacro
INIT_MMX mmx INIT_MMX mmx
@ -448,7 +448,6 @@ chroma_mc2_mmx_func put, h264
%define CHROMAMC_AVG DIRECT_AVG %define CHROMAMC_AVG DIRECT_AVG
%define CHROMAMC_AVG4 COPY_AVG %define CHROMAMC_AVG4 COPY_AVG
%define PAVG pavgb
chroma_mc8_mmx_func avg, h264, _rnd chroma_mc8_mmx_func avg, h264, _rnd
chroma_mc8_mmx_func avg, vc1, _nornd chroma_mc8_mmx_func avg, vc1, _nornd
chroma_mc8_mmx_func avg, rv40 chroma_mc8_mmx_func avg, rv40
@ -456,7 +455,6 @@ chroma_mc4_mmx_func avg, h264
chroma_mc4_mmx_func avg, rv40 chroma_mc4_mmx_func avg, rv40
chroma_mc2_mmx_func avg, h264 chroma_mc2_mmx_func avg, h264
%define PAVG pavgusb
INIT_MMX 3dnow INIT_MMX 3dnow
chroma_mc8_mmx_func avg, h264, _rnd chroma_mc8_mmx_func avg, h264, _rnd
chroma_mc8_mmx_func avg, vc1, _nornd chroma_mc8_mmx_func avg, vc1, _nornd
@ -673,7 +671,6 @@ INIT_MMX ssse3
chroma_mc4_ssse3_func put, h264 chroma_mc4_ssse3_func put, h264
%define CHROMAMC_AVG DIRECT_AVG %define CHROMAMC_AVG DIRECT_AVG
%define PAVG pavgb
INIT_XMM ssse3 INIT_XMM ssse3
chroma_mc8_ssse3_func avg, h264, _rnd chroma_mc8_ssse3_func avg, h264, _rnd
chroma_mc8_ssse3_func avg, vc1, _nornd chroma_mc8_ssse3_func avg, vc1, _nornd

@ -109,6 +109,7 @@ static av_cold void uninit(AVFilterContext *ctx)
{ {
FPSContext *s = ctx->priv; FPSContext *s = ctx->priv;
if (s->fifo) { if (s->fifo) {
s->drop += av_fifo_size(s->fifo) / sizeof(AVFilterBufferRef*);
flush_fifo(s->fifo); flush_fifo(s->fifo);
av_fifo_free(s->fifo); av_fifo_free(s->fifo);
} }

@ -301,6 +301,14 @@
%endif %endif
%endmacro %endmacro
%macro PAVGB 2
%if cpuflag(mmxext)
pavgb %1, %2
%elif cpuflag(3dnow)
pavgusb %1, %2
%endif
%endmacro
%macro PSHUFLW 1+ %macro PSHUFLW 1+
%if mmsize == 8 %if mmsize == 8
pshufw %1 pshufw %1

Loading…
Cancel
Save