Re: [FFmpeg-devel] [PATCH] lavf/img2enc: mention -vframes in error output
On Mon, Jul 11, 2016 at 13:31:08 -0800, Lou Logan wrote: > On Mon, 11 Jul 2016 21:08:40 + (UTC), Carl Eugen Hoyos wrote: > > Lou Logan lrcd.com> writes: > > > or use -vframes 1 to output single image)\n", > > > > Since this is a muxer and -vframes is an ffmpeg option, > > I am not convinced this is a good solution. > > Note that -vsync vfr also "fixes" ticket #5701. > > I know this is not a muxer specific option, but I thought it would > still be useful to general users, because, according to what I have I (sort of) read Carl Eugen's answer as a remark that this is a library, which is not necessarily driven by ffmpeg. So the message may need to be generic, such as: "Could not get frame filename number %d from pattern '%s' (either " "set -updatefirst, or use a pattern like %%03d within the filename " "pattern, or ensure that the application requests only one single " "frame (e.g. \"-frames:v 1\" option to ffmpeg)\n", (Note that "-updatefirst" is also an ffmpeg command line option if you prepend the dash. You could write: "... use the \"updatefirst\" muxer option, [...]") Moritz P.S.: Some muxers have a similar situation, referring to ffmpeg command line options from the library: av_log(s, AV_LOG_ERROR, "H.264 bitstream malformed, " "no startcode found, use the video bitstream filter 'h264_mp4toannexb' to fix it " "('-bsf:v h264_mp4toannexb' option with ffmpeg)\n"); ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] libavcodec/qsvdec.c: Restoring decoding functionality after unsuccessful merge from libav.
On 15/07/16 07:15, Chao Liu wrote: > Ivan Uskov nablet.com> writes: > >> >> Hello All, >> >> After commit d30cf57a7b2097b565db02ecfffbdc9c16423d0e qsv-based > decoding >> aborts with crash, there are many incorrect places appeared. The > attached >> patch fixes the issues but keeps new method of the 'sync' variable > allocation >> introduced in commit d30cf57a7b2097b565db02ecfffbdc9c16423d0e. >> >> Please review. >> > > I had the same crashes. After reading the code, you are certainly right. > Why nobody review this commit? Presumably noone was particularly interested at the time, and the submitter did not pursue it. Looking at it now, the change looks mostly ok to me. The error paths could maybe be cleaned up a bit, but I think that's mostly a preexisting problem. Can we loop without *sync being set? If so, removing the av_freep(&sync); inside the loop makes it leak in that case. A slightly clearer commit message might help too. Maybe something like: --- lavc/qsvdec: Fix decoding following incorrect merge Decoding was broken by d30cf57a7b2097b565db02ecfffbdc9c16423d0e - the merge didn't properly handle the sync pointers, so it always segfaulted after submitting a frame to libmfx. --- ? - Mark ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Restore compatibility with powerpc-apple-darwin9-gcc-4.2.1
Hi Pavel, On Fri, Jul 15, 2016 at 12:17 AM, Pavel Koshevoy wrote: > I've re-sent this patch via git send-email to make it easier to view. > It has been tested with gcc 4.2.1 on osx 10.5 by me, and with clang > and gcc 4.9 by Jing Yu on ubuntu -- > http://ffmpeg.org/pipermail/ffmpeg-devel/2016-July/196547.html > Is there any reason it shouldn't be applied? Patch looks fine, Michael can hopefully apply it. I could, but I don't have any means to test this, so I prefer to leave it to someone who can test. Ronald ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] Restore compatibility with powerpc-apple-darwin9-gcc-4.2.1
On Fri, Jul 15, 2016 at 07:00:17AM -0400, Ronald S. Bultje wrote: > Hi Pavel, > > On Fri, Jul 15, 2016 at 12:17 AM, Pavel Koshevoy > wrote: > > > I've re-sent this patch via git send-email to make it easier to view. > > It has been tested with gcc 4.2.1 on osx 10.5 by me, and with clang > > and gcc 4.9 by Jing Yu on ubuntu -- > > http://ffmpeg.org/pipermail/ffmpeg-devel/2016-July/196547.html > > Is there any reason it shouldn't be applied? > > > Patch looks fine, Michael can hopefully apply it. I could, but I don't have > any means to test this, so I prefer to leave it to someone who can test. my means to test easily are rather limited as well applied thanks [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In a rich man's house there is no place to spit but his face. -- Diogenes of Sinope signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] libavformat: Add FIFO pseudo-muxer
Le quintidi 25 messidor, an CCXXIV, Marton Balint a écrit : > Please point me to an application which uses ffmpeg non-blocking mode like > it is supposed to be used. I don't see any muxers wich return EAGAIN, only > protocols, and they only return EAGAIN if AVIO_FLAG_NONBLOCK is set. I > wonder how that can work for av_write_trailer, because - as I mentioned > earlier -, av_write_trailer must free private data, so you simply cannot > call it multiple times. > > Prove me wrong, but I have a feeling that the current AVIO_FLAG_NONBLOCK > mode in ffmpeg was mostly tested for input, never for output, it does not > work properly for output, and to be frank I don't want to get into fixing > it, when our goals can be achieved without dealing with this problem. Yes, it does not work. That is exactly the problem. Non-blocking mode never worked except for the low-level protocols (TCP, UDP) and a few devices. I can therefore not show you any application that use it, they do not exist. But non-blocking mode is important. Except for very simple applications, blocking mode is unusable. The only solution right now is for the application to use threads, and threads are very tricky to use, both because of portability concerns (see all the framework in FFmpeg to handle several threads implementations and all the trouble it has caused in the past) and because of the difficulty of implementing the communication without bugs and race conditions. The FIFO muxer, if implemented correctly, could be a big first step towards providing a working non-blocking mode. Regarding the issue of returning EAGAIN from write_trailer(), you have to realize that the few devices that actually work in non-blocking mode (I can vouch for ALSA, I suspect a few other work too), blocking cannot happen in the close phase, and therefore returning EAGAIN there is not necessary. But since other muxers could block there the case must be handled. Returning EAGAIN and not freeing everything is the only sane way to do it. I grant you that it would require an API for aborting-and-freeing immediately. This is not very hard to do, and is actually useful in its own self. > Therefore I would like to keep the fifo muxer as Jan submitted it, without > EAGAIN support. If there is a use case for non-blockingingness in a sense > you use the phrase, then it can be added later. I am against it. As it is, I consider it is way too specific to be added to the code base. Implementing the FIFO muxer correctly, on the other hand, would by far overshadow anything that could be done on the tee muxer in the foreseeable future. And since the work it requires on top of what Jan already did is rather small, I really do not understand why you are fighting against it. Regards, -- Nicolas George signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] fate: add test for avfft
Hi there, Here is a patch that changes the avfft test. This test is similar to libavcodec/tests/fft-fixed.c. I modified libavcodec/tests/fft.c a bit to adapt to make use of the new abi. At the moment I only did test for fft and mdct, If no more suggestions then I'll do tests for the remaining modules. Any suggestion is welcome :) Thanks, Petru Rares.From b77fa779cf961ddb4bbe89152ec2712b80979a02 Mon Sep 17 00:00:00 2001 From: Petru Rares Sincraian Date: Mon, 4 Jul 2016 17:23:14 +0200 Subject: [PATCH] fate: add test for avfft --- libavcodec/tests/avfft.c | 41 +++-- libavcodec/tests/fft.c | 113 +-- tests/fate/fft.mak | 33 +- 3 files changed, 138 insertions(+), 49 deletions(-) diff --git a/libavcodec/tests/avfft.c b/libavcodec/tests/avfft.c index 6bc48ea..6660b15 100644 --- a/libavcodec/tests/avfft.c +++ b/libavcodec/tests/avfft.c @@ -16,38 +16,11 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "config.h" -#include "libavutil/mem.h" -#include "libavcodec/avfft.h" - -int main(int argc, char **argv) -{ -int i; -#define LEN 1024 -FFTSample *ref = av_malloc_array(LEN, sizeof(*ref)); -FFTSample *data = av_malloc_array(LEN, sizeof(*data)); -RDFTContext *rdft_context = av_rdft_init(10, DFT_R2C); -RDFTContext *irdft_context = av_rdft_init(10, IDFT_C2R); - -if (!ref || !data || !rdft_context || !irdft_context) -return 2; -for (i=0; i 1) { -fprintf(stderr, "Failed at %d (%f %f)\n", i, ref[i], data[i]/LEN*2); -return 1; -} -} - -av_rdft_end(rdft_context); -av_rdft_end(irdft_context); -av_free(data); -av_free(ref); +/* + * This test is similar to fft-fixed.c or fft-fixed32.c + */ -return 0; -} +#define AVFFT 1 +#define FFT_FLOAT 0 +#define FFT_FIXED_32 0 +#include "fft.c" diff --git a/libavcodec/tests/fft.c b/libavcodec/tests/fft.c index 4717303..afd8ecb 100644 --- a/libavcodec/tests/fft.c +++ b/libavcodec/tests/fft.c @@ -39,7 +39,12 @@ #include "libavutil/mathematics.h" #include "libavutil/time.h" +#if AVFFT +#include "libavcodec/avfft.h" +#else #include "libavcodec/fft.h" +#endif + #if FFT_FLOAT #include "libavcodec/dct.h" #include "libavcodec/rdft.h" @@ -55,7 +60,7 @@ pim += (MUL16(are, bim) + MUL16(bre, aim)); \ } -#if FFT_FLOAT +#if FFT_FLOAT || AVFFT #define RANGE 1.0 #define REF_SCALE(x, bits) (x) #define FMT "%10.6f" @@ -211,6 +216,78 @@ static int check_diff(FFTSample *tab1, FFTSample *tab2, int n, double scale) return err; } +static inline void fft_init(FFTContext **s, int nbits, int inverse) +{ +#if AVFFT +*s = av_fft_init(nbits, inverse); +#else +ff_fft_init(*s, nbits, inverse); +#endif +} + +static inline void mdct_init(FFTContext **s, int nbits, int inverse, double scale) +{ +#if AVFFT +*s = av_mdct_init(nbits, inverse, scale); +#else +ff_mdct_init(*s, nbits, inverse, scale); +#endif +} + +static inline void mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input) +{ +#if AVFFT +av_mdct_calc(s, output, input); +#else +s->mdct_calc(s, output, input); +#endif +} + +static inline void imdct_calc(struct FFTContext *s, FFTSample *output, const FFTSample *input) +{ +#if AVFFT +av_imdct_calc(s, output, input); +#else +s->imdct_calc(s, output, input); +#endif +} + +static inline void fft_permute(FFTContext *s, FFTComplex *z) +{ +#if AVFFT +av_fft_permute(s, z); +#else +s->fft_permute(s, z); +#endif +} + +static inline void fft_calc(FFTContext *s, FFTComplex *z) +{ +#if AVFFT +av_fft_calc(s, z); +#else +s->fft_calc(s, z); +#endif +} + +static inline void mdct_end(FFTContext *s) +{ +#if AVFFT +av_mdct_end(s); +#else +ff_mdct_end(s); +#endif +} + +static inline void fft_end(FFTContext *s) +{ +#if AVFFT +av_fft_end(s); +#else +ff_fft_end(s); +#endif +} + static void help(void) { av_log(NULL, AV_LOG_INFO, @@ -241,7 +318,7 @@ int main(int argc, char **argv) FFTComplex *tab, *tab1, *tab_ref; FFTSample *tab2; enum tf_transform transform = TRANSFORM_FFT; -FFTContext m, s; +FFTContext *m, *s; #if FFT_FLOAT RDFTContext r; DCTContext d; @@ -252,6 +329,11 @@ int main(int argc, char **argv) double scale = 1.0; AVLFG prng; +#if !AVFFT + s = av_mallocz(sizeof(*s)); + m = av_mallocz(sizeof(*m)); +#endif + av_lfg_init(&prng, 1); for (;;) { @@ -313,7 +395,7 @@ int main(int argc, char **argv) av_log(NULL, AV_LOG_INFO, "IMDCT"); else av_log(NULL, AV_LOG_INFO, "MDCT"); -ff_mdct_init(&m, fft_nbits, do_inverse, scale); +mdct_init(&m, fft_nbits, do_inverse, scale); break; #endif /* CONFIG_MDCT */ case TRANSFORM_FFT: @@ -321,7 +403,7 @@ int main(int argc, char **argv) av_log(NULL, AV_LOG_INFO, "IFFT"); else av_log(NULL, AV_LOG_INFO,
Re: [FFmpeg-devel] [PATCH] refine the method option describe of hlsenc doc
On Wed, Jul 13, 2016 at 03:25:07PM +0800, Steven Liu wrote: > refine the grammar of patch > > Thanks for Moritz Barsnick reviewed! > > > Signed-off-by: LiuQi > Reviewed-by: Moritz Barsnick > --- > doc/muxers.texi | 11 +++ > 1 file changed, 11 insertions(+) aplied thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If a bugfix only changes things apparently unrelated to the bug with no further explanation, that is a good sign that the bugfix is wrong. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avfilter: Add max stats to PSNR log
This allows retroactive aggregation of the PSNR statistics (e.g. calculating average PSNR for entire video or a segment of the video). --- libavfilter/vf_psnr.c | 5 + 1 file changed, 5 insertions(+) diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c index 89acd3c..fd9019e 100644 --- a/libavfilter/vf_psnr.c +++ b/libavfilter/vf_psnr.c @@ -180,6 +180,11 @@ static AVFrame *do_psnr(AVFilterContext *ctx, AVFrame *main, fprintf(s->stats_file, "psnr_%c:%0.2f ", s->comps[j], get_psnr(comp_mse[c], 1, s->max[c])); } +fprintf(s->stats_file, "max_avg:%0.2f ", s->average_max); +for (j = 0; j < s->nb_components; j++) { +c = s->is_rgb ? s->rgba_map[j] : j; +fprintf(s->stats_file, "max_%c:%0.2f ", s->comps[j], s->max[c]); +} fprintf(s->stats_file, "\n"); } -- 2.8.0.rc3.226.g39d4020 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCHv6] lavf: add libopenmpt demuxer
On Thu, Jul 14, 2016 at 06:30:27PM +0100, Josh de Kock wrote: > Fixes ticket #5623 > > TODO: bump lavf minor > --- > Changelog| 1 + > configure| 4 ++ > libavformat/Makefile | 1 + > libavformat/allformats.c | 1 + > libavformat/libopenmpt.c | 176 > +++ > 5 files changed, 183 insertions(+) > create mode 100644 libavformat/libopenmpt.c applied thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB During times of universal deceit, telling the truth becomes a revolutionary act. -- George Orwell signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/2] avformat/format: Ensure that there are at least 16kb for probing before stoping due to a extension match
Fixes probing regression with openmpt Fixes regression of Ticket 2583 Signed-off-by: Michael Niedermayer --- libavformat/format.c |8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/format.c b/libavformat/format.c index 38ca2a3..94fd23d 100644 --- a/libavformat/format.c +++ b/libavformat/format.c @@ -224,8 +224,12 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, } } } else if (fmt1->extensions) { -if (av_match_ext(lpd.filename, fmt1->extensions)) -score = AVPROBE_SCORE_EXTENSION; +if (av_match_ext(lpd.filename, fmt1->extensions)) { +if (lpd.buf_size < 16384) { +score = AVPROBE_SCORE_EXTENSION / 2 - 1; +} else +score = AVPROBE_SCORE_EXTENSION; +} } if (av_match_name(lpd.mime_type, fmt1->mime_type)) { if (AVPROBE_SCORE_MIME > score) { -- 1.7.9.5 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 2/2] avformat/libmodplug: Remove code that has become redundant
Signed-off-by: Michael Niedermayer --- libavformat/libmodplug.c | 12 1 file changed, 12 deletions(-) diff --git a/libavformat/libmodplug.c b/libavformat/libmodplug.c index f18c610..0921704 100644 --- a/libavformat/libmodplug.c +++ b/libavformat/libmodplug.c @@ -350,17 +350,6 @@ static int modplug_read_seek(AVFormatContext *s, int stream_idx, int64_t ts, int static const char modplug_extensions[] = "669,abc,amf,ams,dbm,dmf,dsm,far,it,mdl,med,mid,mod,mt2,mtm,okt,psm,ptm,s3m,stm,ult,umx,xm,itgz,itr,itz,mdgz,mdr,mdz,s3gz,s3r,s3z,xmgz,xmr,xmz"; -static int modplug_probe(AVProbeData *p) -{ -if (av_match_ext(p->filename, modplug_extensions)) { -if (p->buf_size < 16384) -return AVPROBE_SCORE_EXTENSION/2-1; -else -return AVPROBE_SCORE_EXTENSION; -} -return 0; -} - static const AVClass modplug_class = { .class_name = "ModPlug demuxer", .item_name = av_default_item_name, @@ -372,7 +361,6 @@ AVInputFormat ff_libmodplug_demuxer = { .name = "libmodplug", .long_name = NULL_IF_CONFIG_SMALL("ModPlug demuxer"), .priv_data_size = sizeof(ModPlugContext), -.read_probe = modplug_probe, .read_header= modplug_read_header, .read_packet= modplug_read_packet, .read_close = modplug_read_close, -- 1.7.9.5 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] avcodec/als: floating point support in ALS decoder
On Wed, Jul 06, 2016 at 10:58:40AM +0530, Umair Khan wrote: > On Sat, Jun 25, 2016 at 10:52 PM, Umair Khan wrote: > > Hi, > > > > Patch attached. > > I'm working on fixing some other bugs in the decoder and hence I'd > like to withdraw this patch from the list. if there are any bugs that you want help with or are stuck dont hesitate to ask! [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I know you won't believe me, but the highest form of Human Excellence is to question oneself and others. -- Socrates signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] libavcodec/libvpx: Add VPx alpha decode support
On Thu, Jul 14, 2016 at 8:16 PM, James Zern wrote: > On Thu, Jul 14, 2016 at 12:15 PM, Vignesh Venkatasubramanian > wrote: >> +ret = vpx_init( >> +avctx, >> +(avctx->codec_id == AV_CODEC_ID_VP8) ? >> +&vpx_codec_vp8_dx_algo : &vpx_codec_vp9_dx_algo, >> +1); >> +if (ret) > > I can adjust this formatting to be more k&r like when I submit it. > Before that I'll leave this open for other comments for a bit. This will need CONFIG_LIBVPX_VP(8|9)_DECODER protection too. ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] lavf: remove libmodplug demuxer
replaced by the libopenmpt demuxer --- Changelog| 1 + configure| 4 - libavformat/Makefile | 1 - libavformat/allformats.c | 1 - libavformat/libmodplug.c | 382 --- 5 files changed, 1 insertion(+), 388 deletions(-) delete mode 100644 libavformat/libmodplug.c diff --git a/Changelog b/Changelog index f2a1dcd..6b586c3 100644 --- a/Changelog +++ b/Changelog @@ -3,6 +3,7 @@ releases are sorted from youngest to oldest. version : - libopenmpt demuxer +- libmodplug removed version 3.1: diff --git a/configure b/configure index 0c7b5e9..b6800b3 100755 --- a/configure +++ b/configure @@ -236,7 +236,6 @@ External library support: --enable-libiec61883 enable iec61883 via libiec61883 [no] --enable-libilbc enable iLBC de/encoding via libilbc [no] --enable-libkvazaar enable HEVC encoding via libkvazaar [no] - --enable-libmodplug enable ModPlug via libmodplug [no] --enable-libmp3lame enable MP3 encoding via libmp3lame [no] --enable-libnut enable NUT (de)muxing via libnut, native (de)muxer exists [no] @@ -1498,7 +1497,6 @@ EXTERNAL_LIBRARY_LIST=" libiec61883 libilbc libkvazaar -libmodplug libmp3lame libnut libopencore_amrnb @@ -2762,7 +2760,6 @@ libgsm_ms_encoder_deps="libgsm" libilbc_decoder_deps="libilbc" libilbc_encoder_deps="libilbc" libkvazaar_encoder_deps="libkvazaar" -libmodplug_demuxer_deps="libmodplug" libmp3lame_encoder_deps="libmp3lame" libmp3lame_encoder_select="audio_frame_queue" libopencore_amrnb_decoder_deps="libopencore_amrnb" @@ -5666,7 +5663,6 @@ enabled libgsm&& { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do enabled libilbc && require libilbc ilbc.h WebRtcIlbcfix_InitDecode -lilbc enabled libkvazaar&& require_pkg_config "kvazaar >= 0.8.1" kvazaar.h kvz_api_get enabled libmfx&& require_pkg_config libmfx "mfx/mfxvideo.h" MFXInit -enabled libmodplug&& require_pkg_config libmodplug libmodplug/modplug.h ModPlug_Load enabled libmp3lame&& require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame enabled libnut&& require libnut libnut.h nut_demuxer_init -lnut enabled libnpp&& require libnpp npp.h nppGetLibVersion -lnppi -lnppc diff --git a/libavformat/Makefile b/libavformat/Makefile index 6451c1c..0b998f0 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -524,7 +524,6 @@ OBJS-$(CONFIG_YUV4MPEGPIPE_MUXER)+= yuv4mpegenc.o # external libraries OBJS-$(CONFIG_CHROMAPRINT_MUXER) += chromaprint.o OBJS-$(CONFIG_LIBGME_DEMUXER)+= libgme.o -OBJS-$(CONFIG_LIBMODPLUG_DEMUXER)+= libmodplug.o OBJS-$(CONFIG_LIBNUT_DEMUXER)+= libnut.o OBJS-$(CONFIG_LIBNUT_MUXER) += libnut.o OBJS-$(CONFIG_LIBOPENMPT_DEMUXER)+= libopenmpt.o diff --git a/libavformat/allformats.c b/libavformat/allformats.c index 58c33a6..346116c 100644 --- a/libavformat/allformats.c +++ b/libavformat/allformats.c @@ -373,7 +373,6 @@ void av_register_all(void) /* external libraries */ REGISTER_MUXER (CHROMAPRINT, chromaprint); REGISTER_DEMUXER (LIBGME, libgme); -REGISTER_DEMUXER (LIBMODPLUG, libmodplug); REGISTER_MUXDEMUX(LIBNUT, libnut); REGISTER_DEMUXER (LIBOPENMPT, libopenmpt); diff --git a/libavformat/libmodplug.c b/libavformat/libmodplug.c deleted file mode 100644 index f18c610..000 --- a/libavformat/libmodplug.c +++ /dev/null @@ -1,382 +0,0 @@ -/* - * This file is part of FFmpeg. - * - * FFmpeg is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * FFmpeg is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** -* @file -* ModPlug demuxer -* @todo better probing than extensions matching -*/ - -#define MODPLUG_STATIC -#include -#include "libavutil/avstring.h" -#include "libavutil/eval.h" -#include "libavutil/opt.h" -#include "avformat.h" -#include "internal.h" - -typedef struct ModPlugContext { -const AVClass *class; -ModPlugFile *f; -uint8_t *buf; ///< input file content - -/* options */ -int noise_reduction; -int reverb_depth; -int reverb_delay; -int bass_amount; -int bass_range; -int surround_depth; -int surround_delay; - -int
Re: [FFmpeg-devel] [PATCH] lavf: remove libmodplug demuxer
On Sat, Jul 16, 2016 at 12:30:36AM +0100, Josh de Kock wrote: > replaced by the libopenmpt demuxer None of the ubuntu distributions contain libopenmpt it seems (didnt check other linux distros) also even 12.04 LTS contains libmodplug [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you drop bombs on a foreign country and kill a hundred thousand innocent people, expect your government to call the consequence "unprovoked inhuman terrorist attacks" and use it to justify dropping more bombs and killing more people. The technology changed, the idea is old. signature.asc Description: Digital signature ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v2 03/10] avformat/tee: Support flushing by writing NULL pkt
On Mon, 11 Jul 2016, sebechlebsky...@gmail.com wrote: From: Jan Sebechlebsky This will add support for flushing by writing NULL packet to the tee muxer, which propagates the action to slave muxers as expected. Signed-off-by: Jan Sebechlebsky --- Unfortunately, I've realized that I've forgotten to set AVFMT_ALLOW_FLUSH flag to the tee muxer to make it flushable. I've also changed commit message, because crash without AVFMT_ALLOW_FLUSH would not happen if write_packet is not called directly with NULL argument. This version should be allright. Thanks, applied. Regards, Marton ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH v2 1/7] avformat/utils: Add ff_stream_encode_params_copy()
On Wed, 13 Jul 2016, sebechlebsky...@gmail.com wrote: From: Jan Sebechlebsky Signed-off-by: Jan Sebechlebsky --- Chanages from the last version of patch: -> dst->metadata dictionary is freed before entries are copied from src->metadata Thanks, applied. Regards, Marton ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 2/7] avformat/tee: Use ff_stream_encode_params_copy()
On Wed, 13 Jul 2016, Jan Sebechlebsky wrote: On 07/13/2016 12:56 PM, Jan Sebechlebsky wrote: On 07/12/2016 10:23 AM, Nicolas George wrote: Le quartidi 24 messidor, an CCXXIV, Jan Sebechlebsky a écrit : I think it is used in decoding only - the documentation of AVStream mentions only decoding and I also tried to search references to that field if it is not used in some of the muxers. If you think it should be copied too I will add it. If you have checked it was never used in muxers, then ok. But you may want to have a look at the "MKV Header: Writing duration early" mail that arrived a few minutes ago. Regards, I think we can safely omit it, it's not used in any current muxers. Soft Works contributors may use duration field in muxing context, I think they (or we) can then add copying of this field to ff_stream_encode_params_copy with their patch . The documentation of the field should be then modified as well. Regards, Jan Resending this to mailing list - sorry I've accidentally replied privately again. Thanks, applied. Regards, Marton ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 5/7] avformat/utils: Add ff_format_output_open() function
On Mon, 11 Jul 2016, Marton Balint wrote: On Mon, 4 Jul 2016, sebechlebsky...@gmail.com wrote: From: Jan Sebechlebsky Add ff_format_output_open utility function to wrap io_open callback of AVFormatContext structure. Signed-off-by: Jan Sebechlebsky --- LGTM, will apply in a few days. Applied, thanks. Marton ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 6/7] avformat/tee: Use ff_format_output_open() function
On Mon, 11 Jul 2016, Nicolas George wrote: Le septidi 17 messidor, an CCXXIV, sebechlebsky...@gmail.com a écrit : From: Jan Sebechlebsky Signed-off-by: Jan Sebechlebsky --- libavformat/tee.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) LGTM. Applied, thanks. Marton ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 0/3] bump libvpx-vp9 minimum to 1.4.0
This compiles against 0.9.0->1.5.0 and tip of tree with checks at each for expected encoder/decoder availability and colorspaces. Note libvpxdec's ifdefs are within shared code, splitting set_pix_fmt() would be an option. James Zern (3): configure: require libvpx-1.4.0 for vp9 support libvpx: remove pre-1.4.0 checks for vp9 libvpxenc: remove pre-1.4.0 checks for vp9 configure | 8 libavcodec/libvpx.c| 12 +--- libavcodec/libvpxenc.c | 20 +++- 3 files changed, 8 insertions(+), 32 deletions(-) -- 2.8.0.rc3.226.g39d4020 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 1/3] configure: require libvpx-1.4.0 for vp9 support
this will simplify libvpxenc/dec.c and ensure a more stable vp9 encoder is present. Signed-off-by: James Zern --- configure | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 0c7b5e9..511ecfe 100755 --- a/configure +++ b/configure @@ -5717,13 +5717,13 @@ enabled libvpx&& { die "ERROR: libvpx encoder version must be >=0.9.7"; } enabled libvpx_vp9_decoder && { -use_pkg_config "vpx >= 1.3.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx || -check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx" -lvpx || +use_pkg_config "vpx >= 1.4.0" "vpx/vpx_decoder.h vpx/vp8dx.h" vpx_codec_vp9_dx || +check_lib2 "vpx/vpx_decoder.h vpx/vp8dx.h" "vpx_codec_vp9_dx VP9D_GET_FRAME_SIZE" -lvpx || disable libvpx_vp9_decoder; } enabled libvpx_vp9_encoder && { -use_pkg_config "vpx >= 1.3.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx || -check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VP9E_SET_AQ_MODE" -lvpx || +use_pkg_config "vpx >= 1.4.0" "vpx/vpx_encoder.h vpx/vp8cx.h" vpx_codec_vp9_cx || +check_lib2 "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VP9E_SET_MAX_INTER_BITRATE_PCT" -lvpx || disable libvpx_vp9_encoder; } if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then -- 2.8.0.rc3.226.g39d4020 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 2/3] libvpx: remove pre-1.4.0 checks for vp9
Signed-off-by: James Zern --- libavcodec/libvpx.c | 12 +--- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/libavcodec/libvpx.c b/libavcodec/libvpx.c index 1eca97a..36f915a 100644 --- a/libavcodec/libvpx.c +++ b/libavcodec/libvpx.c @@ -40,9 +40,7 @@ static const enum AVPixelFormat vp9_pix_fmts_highcol[] = { AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV440P, AV_PIX_FMT_YUV444P, -#if VPX_IMAGE_ABI_VERSION >= 3 AV_PIX_FMT_GBRP, -#endif AV_PIX_FMT_NONE }; @@ -60,30 +58,22 @@ static const enum AVPixelFormat vp9_pix_fmts_highbd[] = { AV_PIX_FMT_YUV422P12, AV_PIX_FMT_YUV440P12, AV_PIX_FMT_YUV444P12, -#if VPX_IMAGE_ABI_VERSION >= 3 AV_PIX_FMT_GBRP, AV_PIX_FMT_GBRP10, AV_PIX_FMT_GBRP12, -#endif AV_PIX_FMT_NONE }; #endif av_cold void ff_vp9_init_static(AVCodec *codec) { -if (vpx_codec_version_major() < 1 -|| (vpx_codec_version_major() == 1 && vpx_codec_version_minor() < 3)) -codec->capabilities |= AV_CODEC_CAP_EXPERIMENTAL; codec->pix_fmts = vp9_pix_fmts_def; #if CONFIG_LIBVPX_VP9_ENCODER -if (vpx_codec_version_major() > 1 -|| (vpx_codec_version_major() == 1 && vpx_codec_version_minor() >= 4)) { -#ifdef VPX_CODEC_CAP_HIGHBITDEPTH +{ vpx_codec_caps_t codec_caps = vpx_codec_get_caps(vpx_codec_vp9_cx()); if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) codec->pix_fmts = vp9_pix_fmts_highbd; else -#endif codec->pix_fmts = vp9_pix_fmts_highcol; } #endif -- 2.8.0.rc3.226.g39d4020 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH 3/3] libvpxenc: remove pre-1.4.0 checks for vp9
Signed-off-by: James Zern --- libavcodec/libvpxenc.c | 20 +++- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c index c5b1b86..7489c2f 100644 --- a/libavcodec/libvpxenc.c +++ b/libavcodec/libvpxenc.c @@ -128,9 +128,7 @@ static const char *const ctlidstr[] = { [VP9E_SET_TILE_ROWS] = "VP9E_SET_TILE_ROWS", [VP9E_SET_FRAME_PARALLEL_DECODING] = "VP9E_SET_FRAME_PARALLEL_DECODING", [VP9E_SET_AQ_MODE] = "VP9E_SET_AQ_MODE", -#if VPX_ENCODER_ABI_VERSION > 8 [VP9E_SET_COLOR_SPACE] = "VP9E_SET_COLOR_SPACE", -#endif #if VPX_ENCODER_ABI_VERSION >= 11 [VP9E_SET_COLOR_RANGE] = "VP9E_SET_COLOR_RANGE", #endif @@ -157,7 +155,7 @@ static av_cold void dump_enc_cfg(AVCodecContext *avctx, av_log(avctx, level, "vpx_codec_enc_cfg\n"); av_log(avctx, level, "generic settings\n" " %*s%u\n %*s%u\n %*s%u\n %*s%u\n %*s%u\n" -#if CONFIG_LIBVPX_VP9_ENCODER && defined(VPX_IMG_FMT_HIGHBITDEPTH) +#if CONFIG_LIBVPX_VP9_ENCODER " %*s%u\n %*s%u\n" #endif " %*s{%u/%u}\n %*s%u\n %*s%d\n %*s%u\n", @@ -166,7 +164,7 @@ static av_cold void dump_enc_cfg(AVCodecContext *avctx, width, "g_profile:", cfg->g_profile, width, "g_w:", cfg->g_w, width, "g_h:", cfg->g_h, -#if CONFIG_LIBVPX_VP9_ENCODER && defined(VPX_IMG_FMT_HIGHBITDEPTH) +#if CONFIG_LIBVPX_VP9_ENCODER width, "g_bit_depth:", cfg->g_bit_depth, width, "g_input_bit_depth:", cfg->g_input_bit_depth, #endif @@ -279,9 +277,7 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, vpx_img_fmt_t *img_fmt) { VP8Context av_unused *ctx = avctx->priv_data; -#ifdef VPX_IMG_FMT_HIGHBITDEPTH enccfg->g_bit_depth = enccfg->g_input_bit_depth = 8; -#endif switch (avctx->pix_fmt) { case AV_PIX_FMT_YUV420P: case AV_PIX_FMT_YUVA420P: @@ -292,19 +288,16 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, enccfg->g_profile = 1; *img_fmt = VPX_IMG_FMT_I422; return 0; -#if VPX_IMAGE_ABI_VERSION >= 3 case AV_PIX_FMT_YUV440P: enccfg->g_profile = 1; *img_fmt = VPX_IMG_FMT_I440; return 0; case AV_PIX_FMT_GBRP: ctx->vpx_cs = VPX_CS_SRGB; -#endif case AV_PIX_FMT_YUV444P: enccfg->g_profile = 1; *img_fmt = VPX_IMG_FMT_I444; return 0; -#ifdef VPX_IMG_FMT_HIGHBITDEPTH case AV_PIX_FMT_YUV420P10: case AV_PIX_FMT_YUV420P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { @@ -327,7 +320,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, return 0; } break; -#if VPX_IMAGE_ABI_VERSION >= 3 case AV_PIX_FMT_YUV440P10: case AV_PIX_FMT_YUV440P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { @@ -342,7 +334,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, case AV_PIX_FMT_GBRP10: case AV_PIX_FMT_GBRP12: ctx->vpx_cs = VPX_CS_SRGB; -#endif case AV_PIX_FMT_YUV444P10: case AV_PIX_FMT_YUV444P12: if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) { @@ -355,7 +346,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, return 0; } break; -#endif default: break; } @@ -363,7 +353,6 @@ static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps, return AVERROR_INVALIDDATA; } -#if VPX_ENCODER_ABI_VERSION > 8 static void set_colorspace(AVCodecContext *avctx) { enum vpx_color_space vpx_cs; @@ -389,7 +378,6 @@ static void set_colorspace(AVCodecContext *avctx) } codecctl_int(avctx, VP9E_SET_COLOR_SPACE, vpx_cs); } -#endif #if VPX_ENCODER_ABI_VERSION >= 11 static void set_color_range(AVCodecContext *avctx) @@ -668,9 +656,7 @@ FF_ENABLE_DEPRECATION_WARNINGS codecctl_int(avctx, VP9E_SET_FRAME_PARALLEL_DECODING, ctx->frame_parallel); if (ctx->aq_mode >= 0) codecctl_int(avctx, VP9E_SET_AQ_MODE, ctx->aq_mode); -#if VPX_ENCODER_ABI_VERSION > 8 set_colorspace(avctx); -#endif #if VPX_ENCODER_ABI_VERSION >= 11 set_color_range(avctx); #endif @@ -682,7 +668,7 @@ FF_ENABLE_DEPRECATION_WARNINGS //provide dummy value to initialize wrapper, values will be updated each _encode() vpx_img_wrap(&ctx->rawimg, img_fmt, avctx->width, avctx->height, 1, (unsigned char*)1); -#if CONFIG_LIBVPX_VP9_ENCODER && defined(VPX_IMG_FMT_HIGHBITDEPTH) +#if CONFIG_LIBVPX_VP9_ENCODER if (avctx->codec_id == AV_CODEC_ID_VP9 && (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH)) ctx->rawimg.bit_depth = enccfg.g_bit_depth; #endif -- 2.8.0.rc3.226.g39d4020 ___ ffmpeg-deve
Re: [FFmpeg-devel] [PATCH 2/3] libvpx: remove pre-1.4.0 checks for vp9
On 7/15/2016 10:15 PM, James Zern wrote: > Signed-off-by: James Zern > --- > libavcodec/libvpx.c | 12 +--- > 1 file changed, 1 insertion(+), 11 deletions(-) > > diff --git a/libavcodec/libvpx.c b/libavcodec/libvpx.c > index 1eca97a..36f915a 100644 > --- a/libavcodec/libvpx.c > +++ b/libavcodec/libvpx.c > @@ -40,9 +40,7 @@ static const enum AVPixelFormat vp9_pix_fmts_highcol[] = { > AV_PIX_FMT_YUV422P, > AV_PIX_FMT_YUV440P, > AV_PIX_FMT_YUV444P, > -#if VPX_IMAGE_ABI_VERSION >= 3 > AV_PIX_FMT_GBRP, > -#endif > AV_PIX_FMT_NONE > }; > > @@ -60,30 +58,22 @@ static const enum AVPixelFormat vp9_pix_fmts_highbd[] = { > AV_PIX_FMT_YUV422P12, > AV_PIX_FMT_YUV440P12, > AV_PIX_FMT_YUV444P12, > -#if VPX_IMAGE_ABI_VERSION >= 3 > AV_PIX_FMT_GBRP, > AV_PIX_FMT_GBRP10, > AV_PIX_FMT_GBRP12, > -#endif > AV_PIX_FMT_NONE > }; > #endif > > av_cold void ff_vp9_init_static(AVCodec *codec) > { > -if (vpx_codec_version_major() < 1 > -|| (vpx_codec_version_major() == 1 && vpx_codec_version_minor() < 3)) > -codec->capabilities |= AV_CODEC_CAP_EXPERIMENTAL; > codec->pix_fmts = vp9_pix_fmts_def; Remove this one. Unless i'm missing something, now that 1.4.0 is the minimum version, one of the latter two are guaranteed to be used instead. > #if CONFIG_LIBVPX_VP9_ENCODER You can remove all the CONFIG_LIBVPX_VP9_ENCODER checks in this file. Makefile only compiles it if vp9 is enabled anyway. > -if (vpx_codec_version_major() > 1 > -|| (vpx_codec_version_major() == 1 && vpx_codec_version_minor() >= > 4)) { > -#ifdef VPX_CODEC_CAP_HIGHBITDEPTH > +{ > vpx_codec_caps_t codec_caps = vpx_codec_get_caps(vpx_codec_vp9_cx()); > if (codec_caps & VPX_CODEC_CAP_HIGHBITDEPTH) > codec->pix_fmts = vp9_pix_fmts_highbd; > else > -#endif > codec->pix_fmts = vp9_pix_fmts_highcol; > } > #endif > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH 0/3] bump libvpx-vp9 minimum to 1.4.0
On 7/15/2016 10:15 PM, James Zern wrote: > This compiles against 0.9.0->1.5.0 and tip of tree with checks at each for > expected encoder/decoder availability and colorspaces. > Note libvpxdec's ifdefs are within shared code, splitting set_pix_fmt() would > be an option. Yeah, set_pix_fmt() is mostly vp9 code, so that's a good idea. > > James Zern (3): > configure: require libvpx-1.4.0 for vp9 support > libvpx: remove pre-1.4.0 checks for vp9 > libvpxenc: remove pre-1.4.0 checks for vp9 > > configure | 8 > libavcodec/libvpx.c| 12 +--- > libavcodec/libvpxenc.c | 20 +++- > 3 files changed, 8 insertions(+), 32 deletions(-) > ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] vp9: add 32x32 idct AVX2 implementation.
Hi, On Wed, Jul 13, 2016 at 12:37 PM, Ronald S. Bultje wrote: > About 1.8x speedup compared to AVX version for full IDCT. Other > sub-IDCT scenarios also see speedups. Full --bench output for > idct_32x32_add_{bpp}_${subidct}_${opt} (50k cycles): > > nop: 16.5 > vp9_inv_dct_dct_32x32_add_8_1_c: 2284.4 > vp9_inv_dct_dct_32x32_add_8_1_sse2: 145.0 > vp9_inv_dct_dct_32x32_add_8_1_ssse3: 137.4 > vp9_inv_dct_dct_32x32_add_8_1_avx: 137.1 > vp9_inv_dct_dct_32x32_add_8_1_avx2: 73.2 > vp9_inv_dct_dct_32x32_add_8_2_c: 14680.8 > vp9_inv_dct_dct_32x32_add_8_2_sse2: 2617.2 > vp9_inv_dct_dct_32x32_add_8_2_ssse3: 982.9 > vp9_inv_dct_dct_32x32_add_8_2_avx: 958.5 > vp9_inv_dct_dct_32x32_add_8_2_avx2: 704.2 > vp9_inv_dct_dct_32x32_add_8_4_c: 14443.1 > vp9_inv_dct_dct_32x32_add_8_4_sse2: 2717.1 > vp9_inv_dct_dct_32x32_add_8_4_ssse3: 965.7 > vp9_inv_dct_dct_32x32_add_8_4_avx: 1000.7 > vp9_inv_dct_dct_32x32_add_8_4_avx2: 717.1 > vp9_inv_dct_dct_32x32_add_8_8_c: 14436.4 > vp9_inv_dct_dct_32x32_add_8_8_sse2: 2671.8 > vp9_inv_dct_dct_32x32_add_8_8_ssse3: 1038.5 > vp9_inv_dct_dct_32x32_add_8_8_avx: 983.0 > vp9_inv_dct_dct_32x32_add_8_8_avx2: 729.4 > vp9_inv_dct_dct_32x32_add_8_16_c: 14614.7 > vp9_inv_dct_dct_32x32_add_8_16_sse2: 2701.7 > vp9_inv_dct_dct_32x32_add_8_16_ssse3: 1334.4 > vp9_inv_dct_dct_32x32_add_8_16_avx: 1276.7 > vp9_inv_dct_dct_32x32_add_8_16_avx2: 719.5 > vp9_inv_dct_dct_32x32_add_8_32_c: 14363.6 > vp9_inv_dct_dct_32x32_add_8_32_sse2: 2575.6 > vp9_inv_dct_dct_32x32_add_8_32_ssse3: 2633.9 > vp9_inv_dct_dct_32x32_add_8_32_avx: 2539.6 > vp9_inv_dct_dct_32x32_add_8_32_avx2: 1395.0 > --- > libavcodec/x86/vp9dsp_init.c | 2 + > libavcodec/x86/vp9itxfm.asm | 223 > ++- > 2 files changed, 222 insertions(+), 3 deletions(-) Ping. Ronald ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel