diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c index ec7a78654958a912475775c13ae5aba1c76ebb51..3f8b22145746f665addb5b6d284d792555543f2d 100644 --- a/libavfilter/vf_gradfun.c +++ b/libavfilter/vf_gradfun.c @@ -135,7 +135,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args) gf->blur_line = ff_gradfun_blur_line_c; gf->filter_line = ff_gradfun_filter_line_c; - if (HAVE_MMX) + if (ARCH_X86) ff_gradfun_init_x86(gf); av_log(ctx, AV_LOG_VERBOSE, "threshold:%.2f radius:%d\n", thresh, gf->radius); diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index 2783086bca441c666dffb6f53fa91bb92ffcb37d..cbbe7614b94efe6a123f7606a3ca5fdfdae6ee9f 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -412,7 +412,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args) yadif->filter_line = filter_line_c; - if (HAVE_MMX) + if (ARCH_X86) ff_yadif_init_x86(yadif); av_log(ctx, AV_LOG_VERBOSE, "mode:%d parity:%d auto_enable:%d\n", diff --git a/libavfilter/x86/Makefile b/libavfilter/x86/Makefile index 46fc84f3ecaf60cec7792f6d425a7c55e64ffef8..4289f924da652ec3c47670f7cb51be91589bed61 100644 --- a/libavfilter/x86/Makefile +++ b/libavfilter/x86/Makefile @@ -1,3 +1,4 @@ -MMX-OBJS-$(CONFIG_YADIF_FILTER) += x86/yadif.o -MMX-OBJS-$(CONFIG_GRADFUN_FILTER) += x86/gradfun.o +OBJS-$(CONFIG_GRADFUN_FILTER) += x86/gradfun.o +OBJS-$(CONFIG_YADIF_FILTER) += x86/yadif.o + YASM-OBJS-$(CONFIG_HQDN3D_FILTER) += x86/hqdn3d.o diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index 16ef2749f14228c0d00f68df6f203761c97067c9..da571a8ee8e27b8bc953560d9cbe3925ad964894 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -621,6 +621,10 @@ static int rtsp_listen(AVFormatContext *s) /* ff_url_join. No authorization by now (NULL) */ ff_url_join(rt->control_uri, sizeof(rt->control_uri), "rtsp", NULL, host, port, "%s", path); + + if (port < 0) + port = RTSP_DEFAULT_PORT; + /* Create TCP connection */ ff_url_join(tcpname, sizeof(tcpname), "tcp", NULL, host, port, "?listen&listen_timeout=%d", rt->initial_timeout * 1000); diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h index 4997bf2158c078eb412d45fffdf872fa28e88aed..ef7a16ae062e44f2cca1e0cd823f499b270408cc 100644 --- a/libavutil/pixfmt.h +++ b/libavutil/pixfmt.h @@ -173,6 +173,14 @@ enum AVPixelFormat { AV_PIX_FMT_GBRP16BE, ///< planar GBR 4:4:4 48bpp, big endian AV_PIX_FMT_GBRP16LE, ///< planar GBR 4:4:4 48bpp, little endian + /** + * duplicated pixel formats for compatibility with libav. + * FFmpeg supports these formats since May 8 2012 and Jan 28 2012 (commits f9ca1ac7 and 143a5c55) + * Libav added them Oct 12 2012 with incompatible values (commit 6d5600e85) + */ + AV_PIX_FMT_YUVA422P_LIBAV, ///< planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples) + AV_PIX_FMT_YUVA444P_LIBAV, ///< planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples) + #ifndef AV_PIX_FMT_ABI_GIT_MASTER AV_PIX_FMT_RGBA64BE=0x123, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as big-endian AV_PIX_FMT_RGBA64LE, ///< packed RGBA 16:16:16:16, 64bpp, 16R, 16G, 16B, 16A, the 2-byte value for each R/G/B/A component is stored as little-endian @@ -210,6 +218,12 @@ enum AVPixelFormat { #endif }; +#if AV_HAVE_INCOMPATIBLE_FORK_ABI +#define AV_PIX_FMT_YUVA422P AV_PIX_FMT_YUVA422P_LIBAV +#define AV_PIX_FMT_YUVA444P AV_PIX_FMT_YUVA444P_LIBAV +#endif + + #define AV_PIX_FMT_Y400A AV_PIX_FMT_GRAY8A #define AV_PIX_FMT_GBR24P AV_PIX_FMT_GBRP