summaryrefslogtreecommitdiff
path: root/ffmpeg/libpostproc
diff options
context:
space:
mode:
Diffstat (limited to 'ffmpeg/libpostproc')
-rw-r--r--ffmpeg/libpostproc/Makefile3
-rw-r--r--ffmpeg/libpostproc/libpostproc.pc6
-rw-r--r--ffmpeg/libpostproc/postprocess.c6
-rw-r--r--ffmpeg/libpostproc/postprocess_template.c48
-rw-r--r--ffmpeg/libpostproc/version.h2
5 files changed, 37 insertions, 28 deletions
diff --git a/ffmpeg/libpostproc/Makefile b/ffmpeg/libpostproc/Makefile
index 3fb5a70..b9bb4be 100644
--- a/ffmpeg/libpostproc/Makefile
+++ b/ffmpeg/libpostproc/Makefile
@@ -7,3 +7,6 @@ HEADERS = postprocess.h \
version.h \
OBJS = postprocess.o
+
+# Windows resource file
+SLIBOBJS-$(HAVE_GNU_WINDRES) += postprocres.o
diff --git a/ffmpeg/libpostproc/libpostproc.pc b/ffmpeg/libpostproc/libpostproc.pc
index 5bdb784..b375c31 100644
--- a/ffmpeg/libpostproc/libpostproc.pc
+++ b/ffmpeg/libpostproc/libpostproc.pc
@@ -5,10 +5,10 @@ includedir=${prefix}/include
Name: libpostproc
Description: FFmpeg postprocessing library
-Version: 52.2.100
+Version: 52.3.100
Requires:
-Requires.private: libavutil = 52.22.100
+Requires.private: libavutil = 52.59.100
Conflicts:
-Libs: -L${libdir} -lpostproc
+Libs: -L${libdir} -lpostproc
Libs.private:
Cflags: -I${includedir}
diff --git a/ffmpeg/libpostproc/postprocess.c b/ffmpeg/libpostproc/postprocess.c
index facfd2c..da586ff 100644
--- a/ffmpeg/libpostproc/postprocess.c
+++ b/ffmpeg/libpostproc/postprocess.c
@@ -666,7 +666,7 @@ pp_mode *pp_get_mode_by_name_and_quality(const char *name, int quality)
char temp[GET_MODE_BUFFER_SIZE];
char *p= temp;
static const char filterDelimiters[] = ",/";
- static const char optionDelimiters[] = ":";
+ static const char optionDelimiters[] = ":|";
struct PPMode *ppMode;
char *filterToken;
@@ -719,6 +719,10 @@ pp_mode *pp_get_mode_by_name_and_quality(const char *name, int quality)
if(filterToken == NULL) break;
p+= strlen(filterToken) + 1; // p points to next filterToken
filterName= strtok(filterToken, optionDelimiters);
+ if (filterName == NULL) {
+ ppMode->error++;
+ break;
+ }
av_log(NULL, AV_LOG_DEBUG, "pp: %s::%s\n", filterToken, filterName);
if(*filterName == '-'){
diff --git a/ffmpeg/libpostproc/postprocess_template.c b/ffmpeg/libpostproc/postprocess_template.c
index ad0404f..74b0ab4 100644
--- a/ffmpeg/libpostproc/postprocess_template.c
+++ b/ffmpeg/libpostproc/postprocess_template.c
@@ -1313,7 +1313,7 @@ DERING_CORE((%0, %1, 8) ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,
"1: \n\t"
: : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "q"(tmp)
- : "%"REG_a, "%"REG_d
+ : "%"REG_a, "%"REG_d, "%"REG_SP
);
#else // HAVE_7REGS && (TEMPLATE_PP_MMXEXT || TEMPLATE_PP_3DNOW)
int y;
@@ -1875,40 +1875,40 @@ static inline void RENAME(deInterlaceMedian)(uint8_t src[], int stride)
// 0 1 2 3 4 5 6 7 8 9
// %0 eax eax+%1 eax+2%1 %0+4%1 edx edx+%1 edx+2%1 %0+8%1 edx+4%1
- "movq (%0), %%mm0 \n\t" //
- "movq (%%"REG_a", %1), %%mm2 \n\t" //
- "movq (%%"REG_a"), %%mm1 \n\t" //
+ "movq (%0), %%mm0 \n\t"
+ "movq (%%"REG_a", %1), %%mm2 \n\t"
+ "movq (%%"REG_a"), %%mm1 \n\t"
"movq %%mm0, %%mm3 \n\t"
- "pmaxub %%mm1, %%mm0 \n\t" //
- "pminub %%mm3, %%mm1 \n\t" //
- "pmaxub %%mm2, %%mm1 \n\t" //
+ "pmaxub %%mm1, %%mm0 \n\t"
+ "pminub %%mm3, %%mm1 \n\t"
+ "pmaxub %%mm2, %%mm1 \n\t"
"pminub %%mm1, %%mm0 \n\t"
"movq %%mm0, (%%"REG_a") \n\t"
- "movq (%0, %1, 4), %%mm0 \n\t" //
- "movq (%%"REG_a", %1, 2), %%mm1 \n\t" //
+ "movq (%0, %1, 4), %%mm0 \n\t"
+ "movq (%%"REG_a", %1, 2), %%mm1 \n\t"
"movq %%mm2, %%mm3 \n\t"
- "pmaxub %%mm1, %%mm2 \n\t" //
- "pminub %%mm3, %%mm1 \n\t" //
- "pmaxub %%mm0, %%mm1 \n\t" //
+ "pmaxub %%mm1, %%mm2 \n\t"
+ "pminub %%mm3, %%mm1 \n\t"
+ "pmaxub %%mm0, %%mm1 \n\t"
"pminub %%mm1, %%mm2 \n\t"
"movq %%mm2, (%%"REG_a", %1, 2) \n\t"
- "movq (%%"REG_d"), %%mm2 \n\t" //
- "movq (%%"REG_d", %1), %%mm1 \n\t" //
+ "movq (%%"REG_d"), %%mm2 \n\t"
+ "movq (%%"REG_d", %1), %%mm1 \n\t"
"movq %%mm2, %%mm3 \n\t"
- "pmaxub %%mm0, %%mm2 \n\t" //
- "pminub %%mm3, %%mm0 \n\t" //
- "pmaxub %%mm1, %%mm0 \n\t" //
+ "pmaxub %%mm0, %%mm2 \n\t"
+ "pminub %%mm3, %%mm0 \n\t"
+ "pmaxub %%mm1, %%mm0 \n\t"
"pminub %%mm0, %%mm2 \n\t"
"movq %%mm2, (%%"REG_d") \n\t"
- "movq (%%"REG_d", %1, 2), %%mm2 \n\t" //
- "movq (%0, %1, 8), %%mm0 \n\t" //
+ "movq (%%"REG_d", %1, 2), %%mm2 \n\t"
+ "movq (%0, %1, 8), %%mm0 \n\t"
"movq %%mm2, %%mm3 \n\t"
- "pmaxub %%mm0, %%mm2 \n\t" //
- "pminub %%mm3, %%mm0 \n\t" //
- "pmaxub %%mm1, %%mm0 \n\t" //
+ "pmaxub %%mm0, %%mm2 \n\t"
+ "pminub %%mm3, %%mm0 \n\t"
+ "pmaxub %%mm1, %%mm0 \n\t"
"pminub %%mm0, %%mm2 \n\t"
"movq %%mm2, (%%"REG_d", %1, 2) \n\t"
@@ -3216,17 +3216,19 @@ static inline void RENAME(duplicate)(uint8_t src[], int stride)
#if TEMPLATE_PP_MMX
__asm__ volatile(
"movq (%0), %%mm0 \n\t"
+ "movq %%mm0, (%0, %1, 4) \n\t"
"add %1, %0 \n\t"
"movq %%mm0, (%0) \n\t"
"movq %%mm0, (%0, %1) \n\t"
"movq %%mm0, (%0, %1, 2) \n\t"
+ "movq %%mm0, (%0, %1, 4) \n\t"
: "+r" (src)
: "r" ((x86_reg)-stride)
);
#else
int i;
uint8_t *p=src;
- for(i=0; i<3; i++){
+ for(i=0; i<5; i++){
p-= stride;
memcpy(p, src, 8);
}
diff --git a/ffmpeg/libpostproc/version.h b/ffmpeg/libpostproc/version.h
index d0d3d43..111db44 100644
--- a/ffmpeg/libpostproc/version.h
+++ b/ffmpeg/libpostproc/version.h
@@ -29,7 +29,7 @@
#include "libavutil/avutil.h"
#define LIBPOSTPROC_VERSION_MAJOR 52
-#define LIBPOSTPROC_VERSION_MINOR 2
+#define LIBPOSTPROC_VERSION_MINOR 3
#define LIBPOSTPROC_VERSION_MICRO 100
#define LIBPOSTPROC_VERSION_INT AV_VERSION_INT(LIBPOSTPROC_VERSION_MAJOR, \