[FFmpeg-devel] [PATCH] Fig bug when incrementing initial_prog_date_time when

2016-12-17 Thread Robert Nagy
From 8b7499f6ddb32bd1f9ee5f2413bf30664af58799 Mon Sep 17 00:00:00 2001
From: Jesper Ek 
Date: Wed, 7 Dec 2016 15:56:33 +0100
Subject: [PATCH] Fig bug when incrementing initial_prog_date_time when
 removing segments

initial_prog_date_time shouldn't be adjusted when deleting segments
from disk, but rather when segments are removed from the playlist.
---
 libavformat/hlsenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index acf3a30..d03cf02 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -185,7 +185,6 @@ static int hls_delete_old_segments(HLSContext *hls) {
 segment = hls->old_segments;
 while (segment) {
 playlist_duration -= segment->duration;
-hls->initial_prog_date_time += segment->duration;
 previous_segment = segment;
 segment = previous_segment->next;
 if (playlist_duration <= -previous_segment->duration) {
@@ -414,6 +413,7 @@ static int hls_append_segment(struct AVFormatContext
*s, HLSContext *hls, double

 if (hls->max_nb_segments && hls->nb_entries >= hls->max_nb_segments) {
 en = hls->segments;
+hls->initial_prog_date_time += en->duration;
 hls->segments = en->next;
 if (en && hls->flags & HLS_DELETE_SEGMENTS &&
 !(hls->flags & HLS_SINGLE_FILE || hls->wrap)) {
-- 
2.10.0
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avutil: Added selftest for libavutil/audio_fifo.c

2016-12-17 Thread Thomas Turner
Signed-off-by: Thomas Turner 
---
 libavutil/Makefile   |   1 +
 libavutil/tests/audio_fifo.c | 196 +
 tests/fate/libavutil.mak |   4 +
 tests/ref/fate/audio_fifo| 228 +++
 4 files changed, 429 insertions(+)
 create mode 100644 libavutil/tests/audio_fifo.c
 create mode 100644 tests/ref/fate/audio_fifo

diff --git a/libavutil/Makefile b/libavutil/Makefile
index 9841645..2dd91b8 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -182,6 +182,7 @@ SKIPHEADERS-$(CONFIG_OPENCL)   += opencl.h
 TESTPROGS = adler32 \
 aes \
 atomic  \
+audio_fifo  \
 avstring\
 base64  \
 blowfish\
diff --git a/libavutil/tests/audio_fifo.c b/libavutil/tests/audio_fifo.c
new file mode 100644
index 000..6dffe85
--- /dev/null
+++ b/libavutil/tests/audio_fifo.c
@@ -0,0 +1,196 @@
+/*
+ * 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
+ */
+
+#include 
+#include 
+#include "libavutil/audio_fifo.c"
+#include "libavutil/audio_fifo.h"
+#include "libavutil/error.h"
+
+#define MAX_CHANNELS32
+
+#define ERROR(str)\
+fprintf(stderr, "%s\n", str); \
+exit(1);
+
+typedef struct TestStruct {
+const enum AVSampleFormat format;
+const int nb_ch;
+void const *data_planes[MAX_CHANNELS];
+int nb_samples_pch;
+} TestStruct;
+
+static const uint8_t data_U8 [] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};
+static const int16_t data_S16[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};
+static const float   data_FLT[] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 
8.0, 9.0, 10.0, 11.0};
+
+
+static const TestStruct test_struct[] = {
+{.format = AV_SAMPLE_FMT_U8   , .nb_ch = 1, .data_planes = {data_U8 ,  
   }, .nb_samples_pch = 12},
+{.format = AV_SAMPLE_FMT_U8P  , .nb_ch = 2, .data_planes = {data_U8 , 
data_U8 +6, }, .nb_samples_pch = 6 },
+{.format = AV_SAMPLE_FMT_S16  , .nb_ch = 1, .data_planes = {data_S16,  
   }, .nb_samples_pch = 12},
+{.format = AV_SAMPLE_FMT_S16P , .nb_ch = 2, .data_planes = {data_S16, 
data_S16+6, }, .nb_samples_pch = 6 },
+{.format = AV_SAMPLE_FMT_FLT  , .nb_ch = 1, .data_planes = {data_FLT,  
   }, .nb_samples_pch = 12},
+{.format = AV_SAMPLE_FMT_FLTP , .nb_ch = 2, .data_planes = {data_FLT, 
data_FLT+6, }, .nb_samples_pch = 6 }
+};
+
+static void* allocate_memory(size_t size)
+{
+void *ptr = malloc(size);
+if (ptr == NULL){
+fprintf(stderr, "failed to allocate memory!\n");
+exit(1);
+}
+return ptr;
+}
+
+static void print_audio_bytes(const TestStruct *test_sample, void 
**data_planes, int nb_samples)
+{
+int p, b, f;
+int byte_offset  = av_get_bytes_per_sample(test_sample->format);
+int buffers  = av_sample_fmt_is_planar(test_sample->format) 
+ ? test_sample->nb_ch : 1;
+int line_size= (buffers > 1) ? nb_samples * byte_offset
+ : nb_samples * byte_offset * 
test_sample->nb_ch;
+for (p = 0; p < buffers; ++p){
+for(b = 0; b < line_size; b+=byte_offset){
+for (f = 0; f < byte_offset; f++){
+int order = !HAVE_BIGENDIAN ? (byte_offset - f - 1) : f;
+printf("%02x", *((uint8_t*)data_planes[p] + b + order));
+}
+putchar(' ');
+}
+putchar('\n');
+}
+}
+
+static int read_samples_from_audio_fifo(AVAudioFifo* afifo, void ***output, 
int nb_samples)
+{
+int i, planes;
+int samples= FFMIN(nb_samples, afifo->nb_samples);
+int tot_elements   = !(planes = av_sample_fmt_is_planar(afifo->sample_fmt))
+ ? samples : afifo->channels * samples;
+void **data_planes = allocate_mem

[FFmpeg-devel] [PATCH] avutil: Improved test coverage for avstring.c

2016-12-17 Thread Thomas Turner
Signed-off-by: Thomas Turner 
---
 libavutil/tests/avstring.c | 25 -
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/libavutil/tests/avstring.c b/libavutil/tests/avstring.c
index 1242b3f..1e22b4f 100644
--- a/libavutil/tests/avstring.c
+++ b/libavutil/tests/avstring.c
@@ -25,7 +25,7 @@
 int main(void)
 {
 int i;
-char *fullpath;
+char *fullpath, *ptr;
 static const char * const strings[] = {
 "''",
 "",
@@ -54,6 +54,8 @@ int main(void)
 "'\\fo\\o:': blahblah",
 "\\'fo\\o\\:':  foo  '  :blahblah"
 };
+const char *haystack = "Education consists mainly in what we have 
unlearned.";
+const char * const needle[] = {"learned.", "unlearned.", "Unlearned"};
 
 printf("Testing av_get_token()\n");
 for (i = 0; i < FF_ARRAY_ELEMS(strings); i++) {
@@ -79,5 +81,26 @@ int main(void)
 TEST_APPEND_PATH_COMPONENT("path", "/comp", "path/comp");
 TEST_APPEND_PATH_COMPONENT("path/", "/comp", "path/comp");
 TEST_APPEND_PATH_COMPONENT("path/path2/", "/comp/comp2", 
"path/path2/comp/comp2");
+
+/*Testing av_strnstr()*/
+#define TEST_STRNSTR(haystack, needle, hay_length, expected) \
+ptr = av_strnstr(haystack, needle, hay_length); \
+if (ptr != expected){ \
+printf("%s should equal: %s\n", ptr, expected); \
+}
+TEST_STRNSTR(haystack, needle [0], strlen(haystack), haystack+44);
+TEST_STRNSTR(haystack, needle [1], strlen(haystack), haystack+42);
+TEST_STRNSTR(haystack, needle [2], strlen(haystack), NULL   );
+TEST_STRNSTR(haystack, strings[1], strlen(haystack), haystack   );
+
+/*Testing av_d2str()*/
+#define TEST_D2STR(value, expected) \
+ptr = av_d2str(value); \
+if(strcmp(ptr, expected) != 0){ \
+printf("av_d2str failed to convert: %lf to string: %s", 
(double)value, expected); \
+}
+TEST_D2STR(0 ,  "0.00");
+TEST_D2STR(-1.2333234, "-1.233323");
+TEST_D2STR(-1.2333237, "-1.233324");
 return 0;
 }
-- 
1.9.1

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/1] libavcodec/movtextdec.c: fixing decoding for UTF-8 (ticket 6021)

2016-12-17 Thread Michael Niedermayer
On Sat, Dec 17, 2016 at 03:39:02AM +, Erik Bråthen Solem wrote:
[...]
> @@ -491,7 +501,8 @@ static int mov_text_decode_frame(AVCodecContext *avctx,
>  
>  for (size_t i = 0; i < box_count; i++) {
>  if (tsmb_type == box_types[i].type) {
> -if (m->tracksize + m->size_var + box_types[i].base_size 
> > avpkt->size)
> +if (m->tracksize + m->size_var +

> +ox_types[i].base_size > avpkt->size)

do you mean box_types, theres no ox_types identifer (at least not in
git master)

[...]
-- 
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 2/5] libautil: add support for AV_HWDEVICE_TYPE_D3D11VA

2016-12-17 Thread wm4
On Fri, 16 Dec 2016 19:04:33 +0100
Hendrik Leppkes  wrote:

> 
> IMHO this mutex should just generally go away, as you can simply lock
> externally if you need to, it feels rather ugly and hackish to add it
> here. Add to that Antons work to make hwaccel with threads fully
> synchronized to the calling thread, and everything can be achieved
> with external locking if you want multiple threads using the same
> device.

Where is the thread-safety or unsafety of these things defined?

MIO it's completely insane not to let at least some AVHWFramesContext
functions be thread-safe.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avutil: Improved test coverage for avstring.c

2016-12-17 Thread Michael Niedermayer
On Sat, Dec 17, 2016 at 03:23:05AM -0800, Thomas Turner wrote:
> Signed-off-by: Thomas Turner 
> ---
>  libavutil/tests/avstring.c | 25 -
>  1 file changed, 24 insertions(+), 1 deletion(-)
> 
> diff --git a/libavutil/tests/avstring.c b/libavutil/tests/avstring.c
> index 1242b3f..1e22b4f 100644
> --- a/libavutil/tests/avstring.c
> +++ b/libavutil/tests/avstring.c
> @@ -25,7 +25,7 @@
>  int main(void)
>  {
>  int i;
> -char *fullpath;
> +char *fullpath, *ptr;
>  static const char * const strings[] = {
>  "''",
>  "",
> @@ -54,6 +54,8 @@ int main(void)
>  "'\\fo\\o:': blahblah",
>  "\\'fo\\o\\:':  foo  '  :blahblah"
>  };
> +const char *haystack = "Education consists mainly in what we have 
> unlearned.";
> +const char * const needle[] = {"learned.", "unlearned.", "Unlearned"};
>  
>  printf("Testing av_get_token()\n");
>  for (i = 0; i < FF_ARRAY_ELEMS(strings); i++) {
> @@ -79,5 +81,26 @@ int main(void)
>  TEST_APPEND_PATH_COMPONENT("path", "/comp", "path/comp");
>  TEST_APPEND_PATH_COMPONENT("path/", "/comp", "path/comp");
>  TEST_APPEND_PATH_COMPONENT("path/path2/", "/comp/comp2", 
> "path/path2/comp/comp2");
> +
> +/*Testing av_strnstr()*/
> +#define TEST_STRNSTR(haystack, needle, hay_length, expected) \
> +ptr = av_strnstr(haystack, needle, hay_length); \
> +if (ptr != expected){ \
> +printf("%s should equal: %s\n", ptr, expected); \
> +}
> +TEST_STRNSTR(haystack, needle [0], strlen(haystack), haystack+44);
> +TEST_STRNSTR(haystack, needle [1], strlen(haystack), haystack+42);
> +TEST_STRNSTR(haystack, needle [2], strlen(haystack), NULL   );
> +TEST_STRNSTR(haystack, strings[1], strlen(haystack), haystack   );

this produces 2 warnings

libavutil/tests/avstring.c:93:5: warning: reading through null pointer 
(argument 3) [-Wformat]
libavutil/tests/avstring.c:93:5: warning: format ‘%s’ expects argument of type 
‘char *’, but argument 3 has type ‘void *’ [-Wformat]


> +
> +/*Testing av_d2str()*/
> +#define TEST_D2STR(value, expected) \
> +ptr = av_d2str(value); \
> +if(strcmp(ptr, expected) != 0){ \

> +printf("av_d2str failed to convert: %lf to string: %s", 
> (double)value, expected); \
^^
%lf is the same as %f which is for double already. float gets
converted to double for functions like printf(). I imagine lf might
result in different formating but we dont use %lf in a print function
anywhere else
i would suggest to avoid adding "print %lf" as it doesnt test anything
we use

[...]

-- 
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] doc/examples/decoder_targeted: Limit max pixels for fuzzing

2016-12-17 Thread Michael Niedermayer
Signed-off-by: Michael Niedermayer 
---
 doc/examples/decoder_targeted.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/examples/decoder_targeted.c b/doc/examples/decoder_targeted.c
index f254f603ee..e7e02b027e 100644
--- a/doc/examples/decoder_targeted.c
+++ b/doc/examples/decoder_targeted.c
@@ -147,6 +147,9 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t 
size) {
 AVCodecContext* ctx = avcodec_alloc_context3(NULL);
 if (!ctx)
 error("Failed memory allocation");
+
+ctx->max_pixels = 4096 * 4096; //To reduce false positive OOM and hangs
+
 int res = avcodec_open2(ctx, c, NULL);
 if (res < 0)
 return res;
-- 
2.11.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avutil: Added selftest for libavutil/audio_fifo.c

2016-12-17 Thread Michael Niedermayer
On Sat, Dec 17, 2016 at 03:16:30AM -0800, Thomas Turner wrote:
> Signed-off-by: Thomas Turner 
> ---
>  libavutil/Makefile   |   1 +
>  libavutil/tests/audio_fifo.c | 196 +
>  tests/fate/libavutil.mak |   4 +
>  tests/ref/fate/audio_fifo| 228 
> +++
>  4 files changed, 429 insertions(+)
>  create mode 100644 libavutil/tests/audio_fifo.c
>  create mode 100644 tests/ref/fate/audio_fifo
> 
> diff --git a/libavutil/Makefile b/libavutil/Makefile
> index 9841645..2dd91b8 100644
> --- a/libavutil/Makefile
> +++ b/libavutil/Makefile
> @@ -182,6 +182,7 @@ SKIPHEADERS-$(CONFIG_OPENCL)   += opencl.h
>  TESTPROGS = adler32 \
>  aes \
>  atomic  \
> +audio_fifo  \
>  avstring\
>  base64  \
>  blowfish\
> diff --git a/libavutil/tests/audio_fifo.c b/libavutil/tests/audio_fifo.c
> new file mode 100644
> index 000..6dffe85
> --- /dev/null
> +++ b/libavutil/tests/audio_fifo.c
> @@ -0,0 +1,196 @@
> +/*
> + * 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
> + */
> +
> +#include 
> +#include 
> +#include "libavutil/audio_fifo.c"
> +#include "libavutil/audio_fifo.h"
> +#include "libavutil/error.h"
> +
> +#define MAX_CHANNELS32
> +
> +#define ERROR(str)\
> +fprintf(stderr, "%s\n", str); \
> +exit(1);

this should be wraped in do{...}while(0)
so that code like

if (...)
ERROR(str);

works as expectec

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Opposition brings concord. Out of discord comes the fairest harmony.
-- Heraclitus


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 7/7] avcodec/mips: version 1 of vc1dsp optimizations for loongson mmi

2016-12-17 Thread Michael Niedermayer
On Mon, Oct 10, 2016 at 04:11:37PM +0800, 周晓勇 wrote:
> From 1fd9812dbd80fc4d8d856378b718189f50a68a6f Mon Sep 17 00:00:00 2001
> From: Zhou Xiaoyong 
> Date: Mon, 10 Oct 2016 15:43:49 +0800
> Subject: [PATCH 7/7] avcodec/mips: version 1 of vc1dsp optimizations for
>  loongson mmi
> 
> 
> ---
>  libavcodec/mips/Makefile   |2 +
>  libavcodec/mips/constants.c|4 +
>  libavcodec/mips/constants.h|4 +
>  libavcodec/mips/vc1dsp_init_mips.c |  108 ++
>  libavcodec/mips/vc1dsp_mips.h  |  194 
>  libavcodec/mips/vc1dsp_mmi.c   | 2081 
> 
>  libavcodec/vc1dsp.c|2 +
>  libavcodec/vc1dsp.h|1 +
>  8 files changed, 2396 insertions(+)
>  create mode 100644 libavcodec/mips/vc1dsp_init_mips.c
>  create mode 100644 libavcodec/mips/vc1dsp_mips.h
>  create mode 100644 libavcodec/mips/vc1dsp_mmi.c

applied

thx

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Why not whip the teacher when the pupil misbehaves? -- 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] lavc: Fix ticket 6024, truncated mode decoding

2016-12-17 Thread Michael Niedermayer
On Thu, Dec 15, 2016 at 10:19:23AM -0700, pkoshe...@gmail.com wrote:
> From: Pavel Koshevoy 
> 
> The assumption that avcodec_send_packet makes regarding decoders
> consuming the entire packet is not true if the codec supports
> truncated decoding mode and the truncated flag is turned on.
> 
> Steps to reproduce:
> ./ffmpeg_g -flags truncated \
> -i "http://samples.ffmpeg.org/MPEG2/test-ebu-422.4.pakets.ts"; \
> -c:v ffv1 -c:a copy -y /tmp/truncated.nut
> ---
>  libavcodec/utils.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

applied

thx

PS: do you want to add a fate test for this ?

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Observe your enemies, for they first find out your faults. -- Antisthenes


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH v3 00/25] Add timed metadata tracks, track references, channel layout

2016-12-17 Thread Michael Niedermayer
On Mon, Sep 19, 2016 at 04:25:23PM +0300, Erkki Seppälä wrote:
> Hello again!
> 
> Here is the patch set version 3 with the goal of adding the following
> features to the ISO base media file format support of FFmpeg (also
> available at
> https://github.com/nokiatech/FFmpeg/tree/timed-metadata-v3):

whats the status of this ?
some patches have been reviewed and need changes others are blocked
by them ...

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Into a blind darkness they enter who follow after the Ignorance,
they as if into a greater darkness enter who devote themselves
to the Knowledge alone. -- Isha Upanishad


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH v3 19/25] avcodec/avcodec, avformat/movenc: support embedding channel layout to stream side data

2016-12-17 Thread Michael Niedermayer
On Mon, Sep 19, 2016 at 04:25:42PM +0300, Erkki Seppälä wrote:
> Added support for passing complex channel layout configuration as side
> packet data (AV_PKT_DATA_AUDIO_TRACK_CHANNEL_LAYOUT) to ISO media files
> as specified by ISO/IEC 14496-12. AVAudioTrackChannelLayout has the
> fields to setting both predefined audio layouts, completely configuring
> the azimuth and elevation of each speaker as well as describing the
> number of audio objects in the scene.
> 
> This information isn't integrated into the existing channel layout
> system though, which is much more restricted compared to what the
> standard permits. However, the side packet data is structured so that it
> does not require too much ISO base media file format knowledge in client
> code. In addition, it should be possible to extend the enumeration and
> the record to allow for using the same side data for a more native
> solution.
> 
> The names of the channels and layouts are available in
> channel_layout_isoiec23001_8.h with slightly obtuse names such as
> AV_SPEAKER_POSITION_ISOIEC230081_8_L and
> AV_CH_LAYOUT_ISOIEC230081_8_1_0_0 to encourage path forward to a more
> native solution for FFmpeg.
> 
> This channel layout information ends up to a chnl box in the written
> file in an isom track.
> 
> Signed-off-by: Erkki Seppälä 
> Signed-off-by: OZOPlayer 
> ---

>  libavcodec/avcodec.h | 71 +++
>  libavformat/movenc.c | 87 +++-
>  libavutil/channel_layout_isoiec23001_8.h | 97 
> 
>  3 files changed, 254 insertions(+), 1 deletion(-)
>  create mode 100644 libavutil/channel_layout_isoiec23001_8.h

(non cosmetic) patches should not span across libs


> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 0079d22..7b52975 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -39,6 +39,7 @@
>  #include "libavutil/log.h"
>  #include "libavutil/pixfmt.h"
>  #include "libavutil/rational.h"

> +#include "libavutil/channel_layout_isoiec23001_8.h"

including a private header from a public one is not possible
(it is private in this patch even if subsequently that changes)

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH v3 22/25] avutil: added channel_layout_isoiec23001_8.h to HEADERS

2016-12-17 Thread Michael Niedermayer
On Mon, Sep 19, 2016 at 04:25:45PM +0300, Erkki Seppälä wrote:
> ---
>  libavutil/Makefile | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavutil/Makefile b/libavutil/Makefile
> index 1e06176..731b852 100644
> --- a/libavutil/Makefile
> +++ b/libavutil/Makefile
> @@ -18,6 +18,7 @@ HEADERS = adler32.h 
> \
>cast5.h   \
>camellia.h\
>channel_layout.h  \
> +  channel_layout_isoiec23001_8.h\
>common.h  \
>cpu.h \
>crc.h \

there should be an explanation in the commit message why the header
is made public

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH v3 06/25] avcodec/avcodec, avformat/movenc: introduced AV_PKT_DATA_TRACK_ALTERNATE_GROUP side data for expressing alternate groups

2016-12-17 Thread Michael Niedermayer
On Mon, Sep 19, 2016 at 04:25:29PM +0300, Erkki Seppälä wrote:
> Alternate groups previously always generated for ISO media files. With
> this addition client code can define track groups arbitrarily.
> 
> Signed-off-by: Erkki Seppälä 
> Signed-off-by: OZOPlayer 
> ---
>  libavcodec/avcodec.h | 11 +++
>  libavformat/movenc.c |  9 +
>  2 files changed, 20 insertions(+)

patches/commits should only touch oen lib at a time


> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index 56bb9b0..3be54d4 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -1543,6 +1543,17 @@ enum AVPacketSideDataType {
>   * indicated by the key's length.
>   */
>  AV_PKT_DATA_TRACK_REFERENCES,
> +
> +/**
> + * Assign alternate groups for tracks. An example of alternate
> + * groups would be audio tracks (or video tracks) that are
> + * alternative to each other. Each alternative track shares the
> + * same non-zero alternate group.
> + *
> + * The content is:
> + * uint: The alternate group of this track
> + */
> +AV_PKT_DATA_TRACK_ALTERNATE_GROUP,
>  };

this requires version bump and APIChanges update


[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

No great genius has ever existed without some touch of madness. -- Aristotle


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/tls: add tls url_get_file_handle

2016-12-17 Thread Michael Niedermayer
On Sun, Oct 16, 2016 at 10:28:21AM -0400, jayri...@gmail.com wrote:
> From: Jay Ridgeway 
> 
> Support url_get_file_handle on TLS streams.
> ---
>  libavformat/tls_gnutls.c  | 7 +++
>  libavformat/tls_openssl.c | 7 +++
>  libavformat/tls_schannel.c| 7 +++
>  libavformat/tls_securetransport.c | 7 +++
>  4 files changed, 28 insertions(+)

applied

thx

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avfilter/af_silenceremove: add optional tone when silence is removed

2016-12-17 Thread Michael Niedermayer
On Mon, Oct 31, 2016 at 11:13:28AM -0400, Greg Rowe wrote:
> On 2016-10-18 2:20 PM, Michael Niedermayer wrote:
> >On Tue, Oct 18, 2016 at 12:46:56PM -0400, Greg Rowe wrote:
> >>>see
> >>>libavfilter/asrc_sine.c
> >>>this code should probably be reused / factored
> >>>(note, any code moving/factoring of existing code should be in a
> >>>seperate patch)
> >>
> >>Since silenceremove works only on AV_SAMPLE_FMT_DBL is it OK to use
> >>floating point for the generated tone or is it recommended to create
> >>the tone and then convert it to double samples or some other
> >>approach?
> >
> >can you write a fate test for the filter which is portable accross
> >platforms ?
> >
> >every filter should ideally have a fate test.
> >If you can write a working an portable fate test with float sine
> >then i have no objections to it
> 
> Do you have ideas on how I could implement this feature while
> avoiding floating point (or at least to implemented the feature in a
> portable manner)?  I agree that it would be better but I'm not sure
> how to do it.
> 
> I could change the entire silence remove filter to avoid floating
> point ops but that would be a big change and I don't think that's a
> good idea.
> 
> Would it work if I created the tone using asrc_since.c and then
> converted that to double samples within the filter?  (rather than my
> existing approach which generates the tone as doubles using sin()).

fate supports comparing things to a reference file
using a short 1sec file at low sampling rate should also be neglible
in file size, so float can be used if you prefer.
still it should only be used where it makes sense (sine) not for
anything timestamp related



[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Old school: Use the lowest level language in which you can solve the problem
conveniently.
New school: Use the highest level language in which the latest supercomputer
can solve the problem without the user falling asleep waiting.


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec: add jpeg2000_parser

2016-12-17 Thread Michael Niedermayer
On Fri, Mar 25, 2016 at 02:07:22AM +0100, Michael Niedermayer wrote:
> On Fri, Mar 25, 2016 at 12:44:49AM +0100, Paul B Mahol wrote:
> > On 3/24/16, Paul B Mahol  wrote:
> > > Hi,
> > >
> > > patch attached.
> > >
> > 
> > Fixed version attached.
> 
> confirmed

it seems this wasnt applied

any reason why ?

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

It is what and why we do it that matters, not just one of them.


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] Add fate test for ticket 6024, truncated decoding mode

2016-12-17 Thread pkoshevoy
From: Pavel Koshevoy 

---
 tests/fate/video.mak|  3 +++
 tests/ref/fate/mpeg2-ticket6024 | 27 +++
 2 files changed, 30 insertions(+)
 create mode 100644 tests/ref/fate/mpeg2-ticket6024

diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index f893688..b939185 100644
--- a/tests/fate/video.mak
+++ b/tests/fate/video.mak
@@ -239,6 +239,9 @@ FATE_VIDEO-$(call DEMDEC, MPEGTS, MPEG2VIDEO) += 
fate-mpeg2-field-enc fate-mpeg2
 fate-mpeg2-field-enc: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -an -vframes 30
 fate-mpeg2-ticket186: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/mpeg2/t.mpg -an
 
+FATE_VIDEO-$(call DEMDEC, MPEGPS, MPEG2VIDEO) += fate-mpeg2-ticket6024
+fate-mpeg2-ticket6024: CMD = framecrc -flags truncated -i 
$(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg -an
+
 FATE_VIDEO-$(call DEMDEC, MV, MVC1) += fate-mv-mvc1
 fate-mv-mvc1: CMD = framecrc -i $(TARGET_SAMPLES)/mv/posture.mv -an -frames 25 
-pix_fmt rgb555le
 
diff --git a/tests/ref/fate/mpeg2-ticket6024 b/tests/ref/fate/mpeg2-ticket6024
new file mode 100644
index 000..bd41624
--- /dev/null
+++ b/tests/ref/fate/mpeg2-ticket6024
@@ -0,0 +1,27 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 716x236
+#sar 0: 1/1
+0,  2,  2,1,   253464, 0xc51a46f9
+0,  4,  4,1,   253464, 0xd0661651
+0,  5,  5,1,   253464, 0x38a213b3
+0,  6,  6,1,   253464, 0x038a5118
+0,  7,  7,1,   253464, 0xebd8de64
+0,  8,  8,1,   253464, 0x0b319ee0
+0,  9,  9,1,   253464, 0x37b03a45
+0, 10, 10,1,   253464, 0x5f9c89ae
+0, 11, 11,1,   253464, 0x88ad9c08
+0, 12, 12,1,   253464, 0x387198bc
+0, 13, 13,1,   253464, 0xf3933eb6
+0, 14, 14,1,   253464, 0x9bd27b98
+0, 15, 15,1,   253464, 0x9442c538
+0, 16, 16,1,   253464, 0x330be2a4
+0, 17, 17,1,   253464, 0xb4b8c1df
+0, 18, 18,1,   253464, 0xc97ded34
+0, 19, 19,1,   253464, 0xcad936e0
+0, 20, 20,1,   253464, 0x11a2850d
+0, 21, 21,1,   253464, 0x2545ad23
+0, 22, 22,1,   253464, 0xa5e17c47
+0, 23, 23,1,   253464, 0x39452689
+0, 24, 24,1,   253464, 0x1daefd72
-- 
2.6.6

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] libavf: Auto-detect mjpeg 2000 in mpeg-ts

2016-12-17 Thread Michael Niedermayer
On Fri, Oct 14, 2016 at 01:31:12AM +0200, Michael Niedermayer wrote:
> On Thu, Oct 13, 2016 at 04:41:00PM +0200, Ståle Kristoffersen wrote:
> > On 2016-10-12 at 13:57, Carl Eugen Hoyos wrote:
> > > 2016-10-11 16:27 GMT+02:00 Michael Niedermayer :
> > > 
> > > > also the img2 demuxer for mjpeg2000 from img2dec.c does not work
> > > > for this ?
> > > 
> > > We separated the jpg from the mjpeg probe, jpg makes sure that the
> > > sample starts like a jpg image and contains an end marker and can
> > > be decoded, mjpeg probe is less strict but requires more than one
> > > frame.
> > > Same could be argued for j2k or was our reasoning bad?
> > 
> > Since nobody chimed in on this, I have created two new patches, one
> > containing a separate mjpeg 2000 probe
> > (0001-libavf-Auto-detect-mjpeg-2000-in-mpeg-ts2.patch), and one that
> > incorporates it into the img2dec jpeg 2000 probe
> > (0001-libavf-Make-jpeg-2000-probe-work-for-mjpeg-2000.patch).
> > 
> 
> > I think it is best to have them separated, as that matches the mjpeg
> > behaviour.
> 
> have you tested the demuxer ?
> i dont think it works outside probing for mpegts
> i think for j2k codestream support a jpeg2000 parser is needed first
> same as we have for mjpeg

theres actually a j2k parser patch on the ML
so applied this one here

thx

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] lavfi/atempo: Avoid false triggering an assertion failure

2016-12-17 Thread pkoshevoy
From: Pavel Koshevoy 

Steps to reproduce:
./ffmpeg_g -f s16be -i /dev/null -af atempo=0.5 -y /tmp/atempo.wav
---
 libavfilter/af_atempo.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/af_atempo.c b/libavfilter/af_atempo.c
index 59b08ec..a487882 100644
--- a/libavfilter/af_atempo.c
+++ b/libavfilter/af_atempo.c
@@ -914,8 +914,8 @@ static int yae_flush(ATempoContext *atempo,
 
 atempo->state = YAE_FLUSH_OUTPUT;
 
-if (atempo->position[0] == frag->position[0] + frag->nsamples &&
-atempo->position[1] == frag->position[1] + frag->nsamples) {
+if (atempo->position[0] >= frag->position[0] + frag->nsamples &&
+atempo->position[1] >= frag->position[1] + frag->nsamples) {
 // the current fragment is already flushed:
 return 0;
 }
-- 
2.6.6

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avfilter/af_atempo: fix assertion failure on empty input

2016-12-17 Thread Pavel Koshevoy
On Thu, Dec 15, 2016 at 3:31 AM, Marton Balint  wrote:
>
>
> On Wed, 14 Dec 2016, Pavel Koshevoy wrote:
>
>> On Wed, Dec 14, 2016 at 7:27 PM, Marton Balint  wrote:
>>>
>>> Signed-off-by: Marton Balint 
>>> ---
>>>  libavfilter/af_atempo.c | 10 +++---
>>>  1 file changed, 7 insertions(+), 3 deletions(-)
>>>
>>
>>
>> I'd like to understand these changes a little better ... how can I
>> reproduce the problem this is trying to fix?
>>
>
> Basically it happens on empty input:
>
> ffmpeg -f s16be -i /dev/null -af atempo output.wav


I've posted a smaller alternative fix --
http://ffmpeg.org/pipermail/ffmpeg-devel/2016-December/204591.html

Pavel.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Add fate test for ticket 6024, truncated decoding mode

2016-12-17 Thread Michael Niedermayer
On Sat, Dec 17, 2016 at 04:02:12PM -0700, pkoshe...@gmail.com wrote:
> From: Pavel Koshevoy 
> 
> ---
>  tests/fate/video.mak|  3 +++
>  tests/ref/fate/mpeg2-ticket6024 | 27 +++
>  2 files changed, 30 insertions(+)
>  create mode 100644 tests/ref/fate/mpeg2-ticket6024

fails on arm qemu
make sure that you use all the bitexact stuff, bitexact (i)dct ...

--- tests/ref/fate/mpeg2-ticket6024 2016-12-18 00:18:23.712563634 +0100
+++ tests/data/fate/mpeg2-ticket60242016-12-18 02:09:57.152704645 +0100
@@ -3,25 +3,25 @@
 #codec_id 0: rawvideo
 #dimensions 0: 716x236
 #sar 0: 1/1
-0,  2,  2,1,   253464, 0xc51a46f9
-0,  4,  4,1,   253464, 0xd0661651
-0,  5,  5,1,   253464, 0x38a213b3
-0,  6,  6,1,   253464, 0x038a5118
-0,  7,  7,1,   253464, 0xebd8de64
-0,  8,  8,1,   253464, 0x0b319ee0
-0,  9,  9,1,   253464, 0x37b03a45
-0, 10, 10,1,   253464, 0x5f9c89ae
-0, 11, 11,1,   253464, 0x88ad9c08
-0, 12, 12,1,   253464, 0x387198bc
-0, 13, 13,1,   253464, 0xf3933eb6
-0, 14, 14,1,   253464, 0x9bd27b98
-0, 15, 15,1,   253464, 0x9442c538
-0, 16, 16,1,   253464, 0x330be2a4
-0, 17, 17,1,   253464, 0xb4b8c1df
-0, 18, 18,1,   253464, 0xc97ded34
-0, 19, 19,1,   253464, 0xcad936e0
-0, 20, 20,1,   253464, 0x11a2850d
-0, 21, 21,1,   253464, 0x2545ad23
-0, 22, 22,1,   253464, 0xa5e17c47
-0, 23, 23,1,   253464, 0x39452689
-0, 24, 24,1,   253464, 0x1daefd72
+0,  2,  2,1,   253464, 0xdb0246f3
+0,  4,  4,1,   253464, 0x342f1641
+0,  5,  5,1,   253464, 0x2d5413a4
+0,  6,  6,1,   253464, 0x48da510b
+0,  7,  7,1,   253464, 0xdb10de4b
+0,  8,  8,1,   253464, 0x5ffb9ecf
+0,  9,  9,1,   253464, 0xa6dc3a37
+0, 10, 10,1,   253464, 0x6deb899d
+0, 11, 11,1,   253464, 0x117a9bff
+0, 12, 12,1,   253464, 0x1eeb98b2
+0, 13, 13,1,   253464, 0xbd8f3eb1
+0, 14, 14,1,   253464, 0x094d7b95
+0, 15, 15,1,   253464, 0x7a99c534
+0, 16, 16,1,   253464, 0x25c6e29e
+0, 17, 17,1,   253464, 0x262dc1da
+0, 18, 18,1,   253464, 0x3af2ed2f
+0, 19, 19,1,   253464, 0xb13036dc
+0, 20, 20,1,   253464, 0xfab78509
+0, 21, 21,1,   253464, 0x96ecad20
+0, 22, 22,1,   253464, 0x028f7c44
+0, 23, 23,1,   253464, 0x95e52686
+0, 24, 24,1,   253464, 0x7a4efd6f
Test mpeg2-ticket6024 failed. Look at tests/data/fate/mpeg2-ticket6024.err for 
details.
make: *** [fate-mpeg2-ticket6024] Error 1

[...]
-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data


signature.asc
Description: Digital signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Add initial program date time option (hls_init_prog_time)

2016-12-17 Thread Steven Liu
2016-12-17 15:58 GMT+08:00 Robert Nagy :

> From 14da4c9610ac0cf257b2c28f21899e854592e646 Mon Sep 17 00:00:00 2001
> From: Jesper Ek 
> Date: Wed, 7 Dec 2016 16:01:08 +0100
> Subject: [PATCH] Add initial program date time option (hls_init_prog_time)
>
> It is often useful to specify the initial program date time, rather
> than relying on the current system time. This commit adds an argument
> option to specify the number of seconds since epoch.
> ---
>  libavformat/hlsenc.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
> index d03cf02..a0c8cfc 100644
> --- a/libavformat/hlsenc.c
> +++ b/libavformat/hlsenc.c
> @@ -791,7 +791,7 @@ static int hls_write_header(AVFormatContext *s)
>  hls->recording_time = (hls->init_time ? hls->init_time : hls->time) *
> AV_TIME_BASE;
>  hls->start_pts  = AV_NOPTS_VALUE;
>
> -if (hls->flags & HLS_PROGRAM_DATE_TIME) {
> +if (hls->flags & HLS_PROGRAM_DATE_TIME && hls->initial_prog_date_time
> == 0) {
>
This maybe can more simple.

>  time_t now0;
>  time(&now0);
>  hls->initial_prog_date_time = now0;
> @@ -1101,6 +1101,7 @@ static const AVOption options[] = {
>  {"start_number",  "set first number in the sequence",
>  OFFSET(start_sequence),AV_OPT_TYPE_INT64,  {.i64 = 0}, 0, INT64_MAX,
> E},
>  {"hls_time",  "set segment length in seconds",
> OFFSET(time),AV_OPT_TYPE_FLOAT,  {.dbl = 2}, 0, FLT_MAX, E},
>  {"hls_init_time", "set segment length in seconds at init list",
> OFFSET(init_time),AV_OPT_TYPE_FLOAT,  {.dbl = 0}, 0, FLT_MAX,
> E},
> +{"hls_init_prog_time", "set initial program date time in seconds since
> epoch", OFFSET(initial_prog_date_time),AV_OPT_TYPE_DOUBLE,  {.dbl =
> 0},
> 0, DBL_MAX, E},
>  {"hls_list_size", "set maximum number of playlist entries",
>  OFFSET(max_nb_segments),AV_OPT_TYPE_INT,{.i64 = 5}, 0,
> INT_MAX, E},
>  {"hls_ts_options","set hls mpegts list of options for the container
> format used for hls", OFFSET(format_options_str), AV_OPT_TYPE_STRING, {.str
> = NULL},  0, 0,E},
>  {"hls_vtt_options","set hls vtt list of options for the container
> format used for hls", OFFSET(vtt_format_options_str), AV_OPT_TYPE_STRING,
> {.str = NULL},  0, 0,E},
> --
> 2.10.0
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] Add fate test for ticket 6024, truncated decoding mode (v2)

2016-12-17 Thread pkoshevoy
From: Pavel Koshevoy 

---
 tests/fate/video.mak|  3 +++
 tests/ref/fate/mpeg2-ticket6024 | 27 +++
 2 files changed, 30 insertions(+)
 create mode 100644 tests/ref/fate/mpeg2-ticket6024

diff --git a/tests/fate/video.mak b/tests/fate/video.mak
index f893688..7636ab2 100644
--- a/tests/fate/video.mak
+++ b/tests/fate/video.mak
@@ -239,6 +239,9 @@ FATE_VIDEO-$(call DEMDEC, MPEGTS, MPEG2VIDEO) += 
fate-mpeg2-field-enc fate-mpeg2
 fate-mpeg2-field-enc: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/mpeg2/mpeg2_field_encoding.ts -an -vframes 30
 fate-mpeg2-ticket186: CMD = framecrc -flags +bitexact -idct simple -i 
$(TARGET_SAMPLES)/mpeg2/t.mpg -an
 
+FATE_VIDEO-$(call DEMDEC, MPEGPS, MPEG2VIDEO) += fate-mpeg2-ticket6024
+fate-mpeg2-ticket6024: CMD = framecrc -flags +bitexact -idct simple -flags 
+truncated -i $(TARGET_SAMPLES)/mpeg2/matrixbench_mpeg2.lq1.mpg -an
+
 FATE_VIDEO-$(call DEMDEC, MV, MVC1) += fate-mv-mvc1
 fate-mv-mvc1: CMD = framecrc -i $(TARGET_SAMPLES)/mv/posture.mv -an -frames 25 
-pix_fmt rgb555le
 
diff --git a/tests/ref/fate/mpeg2-ticket6024 b/tests/ref/fate/mpeg2-ticket6024
new file mode 100644
index 000..bd41624
--- /dev/null
+++ b/tests/ref/fate/mpeg2-ticket6024
@@ -0,0 +1,27 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 716x236
+#sar 0: 1/1
+0,  2,  2,1,   253464, 0xc51a46f9
+0,  4,  4,1,   253464, 0xd0661651
+0,  5,  5,1,   253464, 0x38a213b3
+0,  6,  6,1,   253464, 0x038a5118
+0,  7,  7,1,   253464, 0xebd8de64
+0,  8,  8,1,   253464, 0x0b319ee0
+0,  9,  9,1,   253464, 0x37b03a45
+0, 10, 10,1,   253464, 0x5f9c89ae
+0, 11, 11,1,   253464, 0x88ad9c08
+0, 12, 12,1,   253464, 0x387198bc
+0, 13, 13,1,   253464, 0xf3933eb6
+0, 14, 14,1,   253464, 0x9bd27b98
+0, 15, 15,1,   253464, 0x9442c538
+0, 16, 16,1,   253464, 0x330be2a4
+0, 17, 17,1,   253464, 0xb4b8c1df
+0, 18, 18,1,   253464, 0xc97ded34
+0, 19, 19,1,   253464, 0xcad936e0
+0, 20, 20,1,   253464, 0x11a2850d
+0, 21, 21,1,   253464, 0x2545ad23
+0, 22, 22,1,   253464, 0xa5e17c47
+0, 23, 23,1,   253464, 0x39452689
+0, 24, 24,1,   253464, 0x1daefd72
-- 
2.6.6

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Add fate test for ticket 6024, truncated decoding mode

2016-12-17 Thread Pavel Koshevoy
On Sat, Dec 17, 2016 at 6:13 PM, Michael Niedermayer
 wrote:
> On Sat, Dec 17, 2016 at 04:02:12PM -0700, pkoshe...@gmail.com wrote:
>> From: Pavel Koshevoy 
>>
>> ---
>>  tests/fate/video.mak|  3 +++
>>  tests/ref/fate/mpeg2-ticket6024 | 27 +++
>>  2 files changed, 30 insertions(+)
>>  create mode 100644 tests/ref/fate/mpeg2-ticket6024
>
> fails on arm qemu
> make sure that you use all the bitexact stuff, bitexact (i)dct ...


I don't have an arm qemu devenv, so I can't verify these changes.
I'll post another version of the patch, but I am just guessing on the
changes that you are suggesting I should make.

Pavel
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] af_hdcd: more FATE tests

2016-12-17 Thread Burt P
Additional/Modified FATE tests improve code coverage from 63.7% to 98.1%.

Changed fate-suite sample files:
* filter/hdcd-encoding-errors.flac (1.3M) replaced by
  filter/hdcd-encoding-errors2.flac (140K)
* filter/hdcd-mix.flac (2.2M) added
* filter/hdcd-fake20bit.flac (168K) added
* filter/hdcd.flac (910K) removed, although it was a nice tune and
  the samples that replace it are terrible sounds.
Net change +290K.

Signed-off-by: Burt P 
---
 tests/fate/filter-audio.mak | 86 ++---
 1 file changed, 74 insertions(+), 12 deletions(-)

diff --git a/tests/fate/filter-audio.mak b/tests/fate/filter-audio.mak
index 9c6f7cd..a55e3c9 100644
--- a/tests/fate/filter-audio.mak
+++ b/tests/fate/filter-audio.mak
@@ -255,17 +255,55 @@ fate-filter-volume: CMD = md5 -i $(SRC) -af 
aperms=random,volume=precision=fixed
 fate-filter-volume: CMP = oneline
 fate-filter-volume: REF = 4d6ba75ef3e32d305d066b9bc771d6f4
 
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd
-fate-filter-hdcd: SRC = $(TARGET_SAMPLES)/filter/hdcd.flac
-fate-filter-hdcd: CMD = md5 -i $(SRC) -af hdcd -f s24le
-fate-filter-hdcd: CMP = oneline
-fate-filter-hdcd: REF = 5db465a58d2fd0d06ca944b883b33476
-
-FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-analyze
-fate-filter-hdcd-analyze: SRC = $(TARGET_SAMPLES)/filter/hdcd.flac
-fate-filter-hdcd-analyze: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=pe -f s24le
-fate-filter-hdcd-analyze: CMP = oneline
-fate-filter-hdcd-analyze: REF = 6e39dc4629c1e84321c0d8bc069b42f6
+# hdcd-mix.flac is a mix of three different sources which are interesting for 
various reasons:
+# first 5 seconds uses packet format A and max LLE of -7.0db
+# second 5 seconds uses packet format B and has a gain mismatch between 
channels
+# last 10 seconds is not HDCD but has a coincidental HDCD packet, it needs to 
be 10 seconds because it also tests the cdt expiration
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-mix
+fate-filter-hdcd-mix: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-mix: CMD = md5 -i $(SRC) -af hdcd -f s24le
+fate-filter-hdcd-mix: CMP = oneline
+fate-filter-hdcd-mix: REF = 6a3cf7f920f419477ada264cc63b40da
+
+# output will be different because of the gain mismatch in the second and 
third parts
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-mix-psoff
+fate-filter-hdcd-mix-psoff: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-mix-psoff: CMD = md5 -i $(SRC) -af hdcd=process_stereo=false 
-f s24le
+fate-filter-hdcd-mix-psoff: CMP = oneline
+fate-filter-hdcd-mix-psoff: REF = b841866d5730852256ca57564c55e0ef
+
+# test the different analyze modes
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-analyze-pe
+fate-filter-hdcd-analyze-pe: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-analyze-pe: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=pe -f 
s24le
+fate-filter-hdcd-analyze-pe: CMP = oneline
+fate-filter-hdcd-analyze-pe: REF = 9ddd10dfea756160456e25dd96a752b8
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-analyze-lle
+fate-filter-hdcd-analyze-lle: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-analyze-lle: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=lle -f 
s24le
+fate-filter-hdcd-analyze-lle: CMP = oneline
+fate-filter-hdcd-analyze-lle: REF = be353f79d3e653d658a6e6e99d7655c8
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-analyze-cdt
+fate-filter-hdcd-analyze-cdt: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-analyze-cdt: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=cdt -f 
s24le
+fate-filter-hdcd-analyze-cdt: CMP = oneline
+fate-filter-hdcd-analyze-cdt: REF = d828abe932e0d2bfc914eaa23c15b7f6
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-analyze-tgm
+fate-filter-hdcd-analyze-tgm: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-analyze-tgm: CMD = md5 -i $(SRC) -af hdcd=analyze_mode=tgm -f 
s24le
+fate-filter-hdcd-analyze-tgm: CMP = oneline
+fate-filter-hdcd-analyze-tgm: REF = 407ed0dc8c6fd17cc8c0b53a8b2b0e34
+# the two additional analyze modes from libhdcd
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMUX, HDCD, FLAC, FLAC, PCM_S24LE, 
PCM_S24LE) += fate-filter-hdcd-analyze-ltgm
+fate-filter-hdcd-analyze-ltgm: SRC = $(TARGET_SAMPLES)/filter/hdcd-mix.flac
+fate-filter-hdcd-analyze-ltgm: CMD = md5 -i $(SRC) -af 
hdcd=analyze_mode=lle:process_stereo=false -f s24le
+fate-filter-hdcd-analyze-ltgm: CMP = oneline
+fate-filter-hdcd-analyze-ltgm: REF = 276a354519a15d1c83c5ca394fe5dffc
+FATE_AFILTER_SAMPLES-$(call FILTERDEMDECENCMU