Re: [FFmpeg-devel] [PATCH] lavf/img2enc: mention -vframes in error output

2016-07-15 Thread Moritz Barsnick
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.

2016-07-15 Thread Mark Thompson
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

2016-07-15 Thread Ronald S. Bultje
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread Nicolas George
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

2016-07-15 Thread Petru Rares Sincraian
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread Lucas Cooper
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread James Zern
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

2016-07-15 Thread Josh de Kock
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

2016-07-15 Thread Michael Niedermayer
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

2016-07-15 Thread Marton Balint


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()

2016-07-15 Thread Marton Balint


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()

2016-07-15 Thread Marton Balint



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

2016-07-15 Thread Marton Balint


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

2016-07-15 Thread Marton Balint


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

2016-07-15 Thread James Zern
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

2016-07-15 Thread James Zern
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

2016-07-15 Thread James Zern
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

2016-07-15 Thread James Zern
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

2016-07-15 Thread James Almer
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

2016-07-15 Thread James Almer
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.

2016-07-15 Thread Ronald S. Bultje
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