[FFmpeg-cvslog] ffserver: remove useless assignment leftover
ffmpeg | branch: master | Reynaldo H. Verdejo Pinochet| Fri Sep 18 15:41:55 2015 -0700| [7a30f51446223567a6341416be38a7c30d748fd2] | committer: Reynaldo H. Verdejo Pinochet ffserver: remove useless assignment leftover Signed-off-by: Reynaldo H. Verdejo Pinochet > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7a30f51446223567a6341416be38a7c30d748fd2 --- ffserver_config.c |4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ffserver_config.c b/ffserver_config.c index 5df871c..4cc138e 100644 --- a/ffserver_config.c +++ b/ffserver_config.c @@ -167,11 +167,9 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed, naclp = >acl; else if (ext_acl) naclp = _acl; -else { +else fprintf(stderr, "%s:%d: ACL found not in or \n", filename, line_num); -errors++; /* FIXME: No effect whatsoever */ -} if (naclp) { while (*naclp) ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffserver: start dropping all unneededly harcoded str lengths
ffmpeg | branch: master | Reynaldo H. Verdejo Pinochet| Mon Sep 14 14:53:18 2015 -0700| [fb349359dc9ce7b794106ee5e5f4e33c1b56a449] | committer: Reynaldo H. Verdejo Pinochet ffserver: start dropping all unneededly harcoded str lengths Signed-off-by: Reynaldo H. Verdejo Pinochet > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fb349359dc9ce7b794106ee5e5f4e33c1b56a449 --- ffserver.c | 24 ++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/ffserver.c b/ffserver.c index f9e40b5..5b98e7a 100644 --- a/ffserver.c +++ b/ffserver.c @@ -71,6 +71,8 @@ #include "cmdutils.h" #include "ffserver_config.h" +#define PATH_LENGTH 1024 + const char program_name[] = "ffserver"; const int program_birth_year = 2000; @@ -388,16 +390,33 @@ static int compute_datarate(DataRateData *drd, int64_t count) static void start_children(FFServerStream *feed) { -char pathname[1024]; +char *pathname; char *slash; int i; +size_t cmd_length; if (no_launch) return; +cmd_length = strlen(my_program_name); + + /** +* FIXME: WIP Safeguard. Remove after clearing all harcoded +* '1024' path lengths +*/ +if (cmd_length > PATH_LENGTH - 1) { +http_log("Could not start children. Command line: '%s' exceeds " +"path length limit (%d)\n", my_program_name, PATH_LENGTH); +return; +} + +pathname = av_strdup (my_program_name); +if (!pathname) { +http_log("Could not allocate memory for children cmd line\n"); +return; +} /* replace "ffserver" with "ffmpeg" in the path of current * program. Ignore user provided path */ -av_strlcpy(pathname, my_program_name, sizeof(pathname)); slash = strrchr(pathname, '/'); if (!slash) @@ -445,6 +464,7 @@ static void start_children(FFServerStream *feed) signal(SIGPIPE, SIG_DFL); execvp(pathname, feed->child_argv); +av_free (pathname); _exit(1); } } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffserver: break early on _parse_acl_row()
ffmpeg | branch: master | Reynaldo H. Verdejo Pinochet| Fri Sep 18 15:32:39 2015 -0700| [eb613877bf2b0af8c43b6bf6ec97398cfe825102] | committer: Reynaldo H. Verdejo Pinochet ffserver: break early on _parse_acl_row() Signed-off-by: Reynaldo H. Verdejo Pinochet > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=eb613877bf2b0af8c43b6bf6ec97398cfe825102 --- ffserver_config.c | 50 +++--- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/ffserver_config.c b/ffserver_config.c index de8a454..5df871c 100644 --- a/ffserver_config.c +++ b/ffserver_config.c @@ -116,6 +116,8 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed, { char arg[1024]; FFServerIPAddressACL acl; +FFServerIPAddressACL *nacl; +FFServerIPAddressACL **naclp; int errors = 0; ffserver_get_arg(arg, sizeof(arg), ); @@ -150,33 +152,35 @@ void ffserver_parse_acl_row(FFServerStream *stream, FFServerStream* feed, } } -if (!errors) { -FFServerIPAddressACL *nacl = av_mallocz(sizeof(*nacl)); -FFServerIPAddressACL **naclp = 0; - -acl.next = 0; -*nacl = acl; +if (errors) +return; -if (stream) -naclp = >acl; -else if (feed) -naclp = >acl; -else if (ext_acl) -naclp = _acl; -else { -fprintf(stderr, "%s:%d: ACL found not in or \n", -filename, line_num); -errors++; -} +nacl = av_mallocz(sizeof(*nacl)); +naclp = 0; -if (naclp) { -while (*naclp) -naclp = &(*naclp)->next; +acl.next = 0; +*nacl = acl; -*naclp = nacl; -} else -av_free(nacl); +if (stream) +naclp = >acl; +else if (feed) +naclp = >acl; +else if (ext_acl) +naclp = _acl; +else { +fprintf(stderr, "%s:%d: ACL found not in or \n", +filename, line_num); +errors++; /* FIXME: No effect whatsoever */ } + +if (naclp) { +while (*naclp) +naclp = &(*naclp)->next; + +*naclp = nacl; +} else +av_free(nacl); + } /* add a codec and set the default parameters */ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] ffserver: explicitly free() duped filename
ffmpeg | branch: master | Reynaldo H. Verdejo Pinochet| Fri Sep 18 15:03:34 2015 -0700| [c677b42f795a77f264528424294f9a5c8949345f] | committer: Reynaldo H. Verdejo Pinochet ffserver: explicitly free() duped filename Signed-off-by: Reynaldo H. Verdejo Pinochet > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c677b42f795a77f264528424294f9a5c8949345f --- ffserver.c |1 + 1 file changed, 1 insertion(+) diff --git a/ffserver.c b/ffserver.c index 5b98e7a..032ce22 100644 --- a/ffserver.c +++ b/ffserver.c @@ -3860,6 +3860,7 @@ int main(int argc, char **argv) if ((ret = ffserver_parse_ffconfig(config.filename, )) < 0) { fprintf(stderr, "Error reading configuration file '%s': %s\n", config.filename, av_err2str(ret)); +av_freep(); exit(1); } av_freep(); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] x86/vp9mc: add missing preprocessor guards
ffmpeg | branch: master | James Almer| Fri Sep 18 15:14:53 2015 -0300| [e47564828b9b351f874f24d66306294b7741b768] | committer: James Almer x86/vp9mc: add missing preprocessor guards Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e47564828b9b351f874f24d66306294b7741b768 --- libavcodec/x86/vp9mc_16bpp.asm |4 1 file changed, 4 insertions(+) diff --git a/libavcodec/x86/vp9mc_16bpp.asm b/libavcodec/x86/vp9mc_16bpp.asm index d66da55..f60dab7 100644 --- a/libavcodec/x86/vp9mc_16bpp.asm +++ b/libavcodec/x86/vp9mc_16bpp.asm @@ -201,9 +201,11 @@ cglobal vp9_%1_8tap_1d_h_ %+ %%px %+ _12, 6, 6, %2, dst, dstride, src, sstride, INIT_XMM sse2 filter_h_fn put filter_h_fn avg +%if HAVE_AVX2_EXTERNAL INIT_YMM avx2 filter_h_fn put filter_h_fn avg +%endif %macro filter_v4_fn 1-2 12 %if ARCH_X86_64 @@ -422,6 +424,8 @@ cglobal vp9_%1_8tap_1d_v_ %+ %%px %+ _12, 4, 7, %2, dst, dstride, src, sstride, INIT_XMM sse2 filter_v_fn put filter_v_fn avg +%if HAVE_AVX2_EXTERNAL INIT_YMM avx2 filter_v_fn put filter_v_fn avg +%endif ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] libswscale/swscale: fix -Wunused-function
ffmpeg | branch: master | Ganesh Ajjanagadde| Fri Sep 18 16:35:33 2015 -0400| [b4cb597900152e5abf90ac62ebfa18c78931a580] | committer: Michael Niedermayer libswscale/swscale: fix -Wunused-function hyscale, hcscale are only used in old filter code, hence place header guard to silence -Wunused-function. Signed-off-by: Ganesh Ajjanagadde Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b4cb597900152e5abf90ac62ebfa18c78931a580 --- libswscale/swscale.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/libswscale/swscale.c b/libswscale/swscale.c index 120bba1..f4aa41b 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -240,6 +240,7 @@ static void lumRangeFromJpeg16_c(int16_t *_dst, int width) dst[i] = (dst[i]*(14071/4) + (33561947<<4)/4)>>12; } +#ifndef NEW_FILTER // *** horizontal scale Y line to temp buffer static av_always_inline void hyscale(SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src_in[4], @@ -311,6 +312,7 @@ static av_always_inline void hcscale(SwsContext *c, int16_t *dst1, if (c->chrConvertRange) c->chrConvertRange(dst1, dst2, dstWidth); } +#endif /* NEW_FILTER */ #define DEBUG_SWSCALE_BUFFERS 0 #define DEBUG_BUFFERS(...) \ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avfilter/vf_colorkey: Improve filter description
ffmpeg | branch: master | Timo Rothenpieler| Fri Sep 18 14:47:59 2015 +0200| [85c343faade5d20d3b336b0cd16e69eb928d256a] | committer: Timo Rothenpieler avfilter/vf_colorkey: Improve filter description Signed-off-by: Timo Rothenpieler > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=85c343faade5d20d3b336b0cd16e69eb928d256a --- libavfilter/vf_colorkey.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavfilter/vf_colorkey.c b/libavfilter/vf_colorkey.c index 993da8b..2f670d9 100644 --- a/libavfilter/vf_colorkey.c +++ b/libavfilter/vf_colorkey.c @@ -159,7 +159,7 @@ AVFILTER_DEFINE_CLASS(colorkey); AVFilter ff_vf_colorkey = { .name = "colorkey", -.description = NULL_IF_CONFIG_SMALL("colorkey filter"), +.description = NULL_IF_CONFIG_SMALL("Turns a certain color into transparency. Operates on RGB colors."), .priv_size = sizeof(ColorkeyContext), .priv_class= _class, .query_formats = query_formats, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/dcaenc: fix lfe fir coefficients
ffmpeg | branch: master | Paul B Mahol| Thu Sep 17 21:13:37 2015 +| [32e1af77ec128518a880ae6a5e3d17546ee10714] | committer: Paul B Mahol avcodec/dcaenc: fix lfe fir coefficients Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=32e1af77ec128518a880ae6a5e3d17546ee10714 --- libavcodec/dcaenc.c |9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/dcaenc.c b/libavcodec/dcaenc.c index 07ddae8..5a6bdac 100644 --- a/libavcodec/dcaenc.c +++ b/libavcodec/dcaenc.c @@ -174,10 +174,11 @@ static int encode_init(AVCodecContext *avctx) cb_to_level[i] = (int32_t)(0x7fff * pow(10, -0.005 * i)); } -/* FIXME: probably incorrect */ -for (i = 0; i < 256; i++) { -lfe_fir_64i[i] = (int32_t)(0x01ff * ff_dca_lfe_fir_64[i]); -lfe_fir_64i[511 - i] = (int32_t)(0x01ff * ff_dca_lfe_fir_64[i]); +for (k = 0; k < 32; k++) { +for (j = 0; j < 8; j++) { +lfe_fir_64i[64 * j + k] = (int32_t)(0xff80ULL * ff_dca_lfe_fir_64[8 * k + j]); +lfe_fir_64i[64 * (7-j) + (63 - k)] = (int32_t)(0xff80ULL * ff_dca_lfe_fir_64[8 * k + j]); +} } for (i = 0; i < 512; i++) { ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] Changelog: add forgotten entry
ffmpeg | branch: master | Paul B Mahol| Thu Sep 17 21:16:51 2015 +| [770b0ed0e01740f9179746f69b44571f24cefb80] | committer: Paul B Mahol Changelog: add forgotten entry Signed-off-by: Paul B Mahol > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=770b0ed0e01740f9179746f69b44571f24cefb80 --- Changelog |1 + 1 file changed, 1 insertion(+) diff --git a/Changelog b/Changelog index 653317f..62d3a7a 100644 --- a/Changelog +++ b/Changelog @@ -7,6 +7,7 @@ version : - ocr filter - alimiter filter - stereowiden filter +- stereotools filter version 2.8: ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avutil/attributes: add AV_GCC_VERSION_AT_MOST
ffmpeg | branch: master | James Almer| Fri Sep 18 01:00:43 2015 -0300| [36e1665d3d068f085d17d72aaf40d4373c8bc217] | committer: James Almer avutil/attributes: add AV_GCC_VERSION_AT_MOST Reviewed-by: Michael Niedermayer Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=36e1665d3d068f085d17d72aaf40d4373c8bc217 --- doc/Doxyfile |1 + libavutil/arm/bswap.h|4 ++-- libavutil/arm/intreadwrite.h |4 ++-- libavutil/attributes.h |2 ++ libavutil/x86/bswap.h|8 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/doc/Doxyfile b/doc/Doxyfile index 8697e6c..1ad9f30 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -1360,6 +1360,7 @@ PREDEFINED = "__attribute__(x)=" \ "offsetof(x,y)=0x42" \ av_alloc_size \ AV_GCC_VERSION_AT_LEAST(x,y)=1 \ + AV_GCC_VERSION_AT_MOST(x,y)=0 \ __GNUC__=1 \ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then diff --git a/libavutil/arm/bswap.h b/libavutil/arm/bswap.h index ae5fdb7..611ff0a 100644 --- a/libavutil/arm/bswap.h +++ b/libavutil/arm/bswap.h @@ -44,7 +44,7 @@ static av_always_inline av_const unsigned av_bswap16(unsigned x) } #endif -#if !AV_GCC_VERSION_AT_LEAST(4,5) +#if AV_GCC_VERSION_AT_MOST(4,4) #define av_bswap32 av_bswap32 static av_always_inline av_const uint32_t av_bswap32(uint32_t x) { @@ -60,7 +60,7 @@ static av_always_inline av_const uint32_t av_bswap32(uint32_t x) #endif /* HAVE_ARMV6_INLINE */ return x; } -#endif /* !AV_GCC_VERSION_AT_LEAST(4,5) */ +#endif /* AV_GCC_VERSION_AT_MOST(4,4) */ #endif /* __ARMCC_VERSION */ diff --git a/libavutil/arm/intreadwrite.h b/libavutil/arm/intreadwrite.h index 2340a9a..60fc860 100644 --- a/libavutil/arm/intreadwrite.h +++ b/libavutil/arm/intreadwrite.h @@ -23,14 +23,14 @@ #include "config.h" #include "libavutil/attributes.h" -#if HAVE_FAST_UNALIGNED && HAVE_INLINE_ASM && !AV_GCC_VERSION_AT_LEAST(4,7) +#if HAVE_FAST_UNALIGNED && HAVE_INLINE_ASM && AV_GCC_VERSION_AT_MOST(4,6) #define AV_RN16 AV_RN16 static av_always_inline unsigned AV_RN16(const void *p) { const uint8_t *q = p; unsigned v; -#if !AV_GCC_VERSION_AT_LEAST(4,6) +#if AV_GCC_VERSION_AT_MOST(4,5) __asm__ ("ldrh %0, %1" : "=r"(v) : "m"(*(const uint16_t *)q)); #elif defined __thumb__ __asm__ ("ldrh %0, %1" : "=r"(v) : "m"(q[0]), "m"(q[1])); diff --git a/libavutil/attributes.h b/libavutil/attributes.h index ebcdd6b..50e8eb3 100644 --- a/libavutil/attributes.h +++ b/libavutil/attributes.h @@ -28,8 +28,10 @@ #ifdef __GNUC__ #define AV_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y)) +#define AV_GCC_VERSION_AT_MOST(x,y) (__GNUC__ < (x) || __GNUC__ == (x) && __GNUC_MINOR__ <= (y)) #else #define AV_GCC_VERSION_AT_LEAST(x,y) 0 +#define AV_GCC_VERSION_AT_MOST(x,y) 0 #endif #ifndef av_always_inline diff --git a/libavutil/x86/bswap.h b/libavutil/x86/bswap.h index 67f1747..3efd578 100644 --- a/libavutil/x86/bswap.h +++ b/libavutil/x86/bswap.h @@ -30,16 +30,16 @@ #if HAVE_INLINE_ASM -#if !AV_GCC_VERSION_AT_LEAST(4,1) +#if AV_GCC_VERSION_AT_MOST(4,0) #define av_bswap16 av_bswap16 static av_always_inline av_const unsigned av_bswap16(unsigned x) { __asm__("rorw $8, %w0" : "+r"(x)); return x; } -#endif /* !AV_GCC_VERSION_AT_LEAST(4,1) */ +#endif /* AV_GCC_VERSION_AT_MOST(4,0) */ -#if !AV_GCC_VERSION_AT_LEAST(4,5) || defined(__INTEL_COMPILER) +#if AV_GCC_VERSION_AT_MOST(4,4) || defined(__INTEL_COMPILER) #define av_bswap32 av_bswap32 static av_always_inline av_const uint32_t av_bswap32(uint32_t x) { @@ -55,7 +55,7 @@ static inline uint64_t av_const av_bswap64(uint64_t x) return x; } #endif -#endif /* !AV_GCC_VERSION_AT_LEAST(4,5) */ +#endif /* AV_GCC_VERSION_AT_MOST(4,4) */ #endif /* HAVE_INLINE_ASM */ #endif /* AVUTIL_X86_BSWAP_H */ ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] x86/vp9: add avx2 subpel MC SIMD for 10/12bpp
ffmpeg | branch: master | James Almer| Thu Sep 17 22:49:58 2015 -0300| [2f9ab159607fd088f8ced1e603da14d203fbfffe] | committer: James Almer x86/vp9: add avx2 subpel MC SIMD for 10/12bpp Reviewed-by: Ronald S. Bultje Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2f9ab159607fd088f8ced1e603da14d203fbfffe --- libavcodec/x86/vp9dsp_init_16bpp_template.c | 22 ++ libavcodec/x86/vp9mc_16bpp.asm |6 ++ 2 files changed, 28 insertions(+) diff --git a/libavcodec/x86/vp9dsp_init_16bpp_template.c b/libavcodec/x86/vp9dsp_init_16bpp_template.c index 3e2737b..a1ce212 100644 --- a/libavcodec/x86/vp9dsp_init_16bpp_template.c +++ b/libavcodec/x86/vp9dsp_init_16bpp_template.c @@ -33,16 +33,31 @@ extern const int16_t ff_filters_16bpp[3][15][4][16]; decl_mc_funcs(4, sse2, int16_t, 16, BPC); decl_mc_funcs(8, sse2, int16_t, 16, BPC); +decl_mc_funcs(16, avx2, int16_t, 16, BPC); mc_rep_funcs(16, 8, 16, sse2, int16_t, 16, BPC); mc_rep_funcs(32, 16, 32, sse2, int16_t, 16, BPC); mc_rep_funcs(64, 32, 64, sse2, int16_t, 16, BPC); +mc_rep_funcs(32, 16, 32, avx2, int16_t, 16, BPC); +mc_rep_funcs(64, 32, 64, avx2, int16_t, 16, BPC); filters_8tap_2d_fn2(put, 16, BPC, 2, sse2, sse2, 16bpp) filters_8tap_2d_fn2(avg, 16, BPC, 2, sse2, sse2, 16bpp) +filters_8tap_2d_fn(put, 64, 32, BPC, 2, avx2, 16bpp) +filters_8tap_2d_fn(avg, 64, 32, BPC, 2, avx2, 16bpp) +filters_8tap_2d_fn(put, 32, 32, BPC, 2, avx2, 16bpp) +filters_8tap_2d_fn(avg, 32, 32, BPC, 2, avx2, 16bpp) +filters_8tap_2d_fn(put, 16, 32, BPC, 2, avx2, 16bpp) +filters_8tap_2d_fn(avg, 16, 32, BPC, 2, avx2, 16bpp) filters_8tap_1d_fn3(put, BPC, sse2, sse2, 16bpp) filters_8tap_1d_fn3(avg, BPC, sse2, sse2, 16bpp) +filters_8tap_1d_fn2(put, 64, BPC, avx2, 16bpp) +filters_8tap_1d_fn2(avg, 64, BPC, avx2, 16bpp) +filters_8tap_1d_fn2(put, 32, BPC, avx2, 16bpp) +filters_8tap_1d_fn2(avg, 32, BPC, avx2, 16bpp) +filters_8tap_1d_fn2(put, 16, BPC, avx2, 16bpp) +filters_8tap_1d_fn2(avg, 16, BPC, avx2, 16bpp) #endif /* HAVE_YASM */ @@ -56,6 +71,13 @@ av_cold void INIT_FUNC(VP9DSPContext *dsp) init_subpel3(1, avg, BPC, sse2); } +if (EXTERNAL_AVX2(cpu_flags)) { +init_subpel3_32_64(0, put, BPC, avx2); +init_subpel3_32_64(1, avg, BPC, avx2); +init_subpel2(2, 0, 16, put, BPC, avx2); +init_subpel2(2, 1, 16, avg, BPC, avx2); +} + #endif /* HAVE_YASM */ ff_vp9dsp_init_16bpp_x86(dsp); diff --git a/libavcodec/x86/vp9mc_16bpp.asm b/libavcodec/x86/vp9mc_16bpp.asm index 52fc5ee..d66da55 100644 --- a/libavcodec/x86/vp9mc_16bpp.asm +++ b/libavcodec/x86/vp9mc_16bpp.asm @@ -201,6 +201,9 @@ cglobal vp9_%1_8tap_1d_h_ %+ %%px %+ _12, 6, 6, %2, dst, dstride, src, sstride, INIT_XMM sse2 filter_h_fn put filter_h_fn avg +INIT_YMM avx2 +filter_h_fn put +filter_h_fn avg %macro filter_v4_fn 1-2 12 %if ARCH_X86_64 @@ -419,3 +422,6 @@ cglobal vp9_%1_8tap_1d_v_ %+ %%px %+ _12, 4, 7, %2, dst, dstride, src, sstride, INIT_XMM sse2 filter_v_fn put filter_v_fn avg +INIT_YMM avx2 +filter_v_fn put +filter_v_fn avg ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog