Re: [FFmpeg-devel] [PATCH 1/2] refine the doc of hlsenc

2016-07-17 Thread Steven Liu
2016-07-13 4:24 GMT+08:00 Michael Niedermayer :

> On Tue, Jul 12, 2016 at 09:35:46PM +0800, Steven Liu wrote:
> > resend the patch, delete the trailing whitespace and check patch by
> > ./tools/patcheck
> >
> > add the hls_flags round_durations, discont_start, omit_endlist flags
> > describe
> >
> > Signed-off-by: LiuQi 
> > ---
> >  doc/muxers.texi |   12 
> >  1 files changed, 12 insertions(+), 0 deletions(-)
>
> I think a native english speaker should review this and the other
> patch
>
> [...]
>
> Hi Moritz Barsnick,

  Can you help me review this patch?
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avformat/matroskaenc: Write duration early during mkv_write_header

2016-07-17 Thread Soft Works
This commit addresses the following scenario:

we are using ffmpeg to transcode or remux mkv (or something else) to mkv. The 
result is being streamed on-the-fly to an HTML5 client (streaming starts while 
ffmpeg is still running). The problem here is that the client is unable to 
detect the duration because the duration is only written to the mkv at the end 
of the transcoding/remoxing process. In matroskaenc.c, the duration is only 
written during mkv_write_trailer but not during mkv_write_header.

The approach:

FFMPEG is currently putting quite some effort to estimate the durations of 
source streams, but in many cases the source stream durations are still left at 
0 and these durations are nowhere mapped to or used for output streams. As much 
as I would have liked to deduct or estimate output durations based on input 
stream durations - I realized that this is a hard task (as Nicolas already 
mentioned in a previous conversation). It would involve changes to the duration 
calculation/estimation/deduction for input streams and propagating these 
durations to output streams or the output context in a correct way.
So I looked for a simple and small solution with better chances to get 
accepted. In webmdashenc.c I found that a duration is written during 
write_header and this duration is taken from the streams' metadata, so I 
decided for a similar approach.

And here's what it does:

At first it is checking the duration of the AVFormatContext. In typical cases 
this value is not set, but: It is set in cases where the user has specified a 
recording_time or an end_time via the -t or -to parameters.
Then it is looking for a DURATION metadata field in the metadata of the output 
context (AVFormatContext::metadata). This would only exist in case the user has 
explicitly specified a metadata DURATION value from the command line.
Then it is iterating all streams looking for a "DURATION" metadata (this works 
unless the option "-map_metadata -1" has been specified) and determines the 
maximum value.
The precendence is as follows: 1. Use duration of AVFormatContext - 2. Use 
explicitly specified metadata duration value - 3. Use maximum (mapped) metadata 
duration over all streams.

To test this:

1. With explicit recording time:
ffmpeg -i file:"src.mkv" -loglevel debug -t 01:38:36.000 -y "dest.mkv"

2. Take duration from metadata specified via command line parameters:
ffmpeg -i file:"src.mkv" -loglevel debug -map_metadata -1 -metadata 
Duration="01:14:33.00" -y "dest.mkv"

3. Take duration from mapped input metadata:
ffmpeg -i file:"src.mkv" -loglevel debug -y "dest.mkv"

Regression risk:

Very low IMO because it only affects the header while ffmpeg is still running. 
When ffmpeg completes the process, the duration is rewritten to the header with 
the usual value (same like without this commit).

Signed-off-by: SoftWorkz 
---
 libavformat/matroskaenc.c | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 53353bd..75ee9fb 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -44,6 +44,7 @@
 #include "libavutil/mastering_display_metadata.h"
 #include "libavutil/mathematics.h"
 #include "libavutil/opt.h"
+#include "libavutil/parseutils.h"
 #include "libavutil/random_seed.h"
 #include "libavutil/rational.h"
 #include "libavutil/samplefmt.h"
@@ -1487,6 +1488,30 @@ static int mkv_write_attachments(AVFormatContext *s)
 return 0;
 }
 
+static int64_t get_metadata_duration(AVFormatContext *s)
+{
+int i = 0;
+int64_t max = 0;
+int64_t us;
+
+AVDictionaryEntry *explicitDuration = av_dict_get(s->metadata, "DURATION", 
NULL, 0);
+if (explicitDuration && (av_parse_time(&us, explicitDuration->value, 1) == 
0) && us > 0) {
+av_log(s, AV_LOG_DEBUG, "get_metadata_duration found duration in 
context metadata: %" PRId64 "\n", us);
+return us;
+}
+
+for (i = 0; i < s->nb_streams; i++) {
+int64_t us;
+AVDictionaryEntry *duration = av_dict_get(s->streams[i]->metadata, 
"DURATION", NULL, 0);
+
+if (duration && (av_parse_time(&us, duration->value, 1) == 0))
+max = FFMAX(max, us);
+}
+
+av_log(s, AV_LOG_DEBUG, "get_metadata_duration returned: %" PRId64 "\n", 
max);
+return max;
+}
+
 static int mkv_write_header(AVFormatContext *s)
 {
 MatroskaMuxContext *mkv = s->priv_data;
@@ -1495,6 +1520,7 @@ static int mkv_write_header(AVFormatContext *s)
 AVDictionaryEntry *tag;
 int ret, i, version = 2;
 int64_t creation_time;
+int64_t metadataDuration;
 
 if (!strcmp(s->oformat->name, "webm"))
 mkv->mode = MODE_WEBM;
@@ -1594,6 +1620,18 @@ static int mkv_write_header(AVFormatContext *s)
 mkv->duration_offset = avio_tell(pb);
 if (!mkv->is_live) {
 put_ebml_void(pb, 11);  // assumes double-precision float 
to be written
+
+metadataDuration = get_metadata_duration(s);
+

Re: [FFmpeg-devel] [PATCH 5/5] avcodec/ccaption_dec: default rollup to row 10

2016-07-17 Thread Michael Niedermayer
On Tue, Jun 14, 2016 at 11:57:45AM -0700, Aman Gupta wrote:
> From: Aman Gupta 
> 
> This ensures that captions are written towards the bottom of the screen
> when tuning into mid-stream. The row will be reset on the receipt of the
> next PAC command. Row 10 was chosen as it corresponds to the value of
> "0" in a PAC (see row_map in handle_pac()).
> ---
>  libavcodec/ccaption_dec.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

applied

thx

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

Never trust a computer, one day, it may think you are the virus. -- Compn


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


Re: [FFmpeg-devel] [PATCH 3/5] avcodec/ccaption_dec: implement positioning for closed captions

2016-07-17 Thread Michael Niedermayer
On Tue, Jun 14, 2016 at 11:57:43AM -0700, Aman Gupta wrote:
> From: Aman Gupta 
> 
> Positioning math is based on the guidelines in 
> https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608
> ---
>  libavcodec/ccaption_dec.c | 29 ++---
>  1 file changed, 26 insertions(+), 3 deletions(-)

applied

thx

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

Dictatorship naturally arises out of democracy, and the most aggravated
form of tyranny and slavery out of the most extreme liberty. -- Plato


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


[FFmpeg-devel] [PATCH] configure: add support for new CPUs

2016-07-17 Thread James Almer
Add new -march values for Intel and AMD CPUs introduced with GCC 5 and 6, and
improve SunCC flags accordingly.

Signed-off-by: James Almer 
---
 configure | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/configure b/configure
index 4956afc..cc51e67 100755
--- a/configure
+++ b/configure
@@ -3801,11 +3801,11 @@ suncc_flags(){
 westmere)  echo -xtarget=westmere;;
 silvermont)echo -xarch=sse4_2;;
 corei7-avx|sandybridge)echo -xtarget=sandybridge ;;
-core-avx*|ivybridge|haswell|broadwell)
+core-avx*|ivybridge|haswell|broadwell|skylake*|knl)
echo -xarch=avx   ;;
 amdfam10|barcelona)echo -xtarget=barcelona   ;;
 btver1)echo -xarch=amdsse4a  ;;
-btver2|bdver*) echo -xarch=avx   ;;
+btver2|bdver*|znver*)  echo -xarch=avx   ;;
 athlon-4|athlon-[mx]p) echo -xarch=ssea  ;;
 k8|opteron|athlon64|athlon-fx)
echo -xarch=sse2a ;;
@@ -4501,7 +4501,8 @@ elif enabled x86; then
 ;;
 # targets that do support nopl and conditional mov (cmov)
 
i686|pentiumpro|pentium[23]|pentium-m|athlon|athlon-tbird|athlon-4|athlon-[mx]p|athlon64*|k8*|opteron*|athlon-fx\
-
|core*|atom|bonnell|nehalem|westmere|silvermont|sandybridge|ivybridge|haswell|broadwell|amdfam10|barcelona|b[dt]ver*)
+
|core*|atom|bonnell|nehalem|westmere|silvermont|sandybridge|ivybridge|haswell|broadwell|skylake*|knl\
+|amdfam10|barcelona|b[dt]ver*|znver*)
 cpuflags="-march=$cpu"
 enable i686
 enable fast_cmov
-- 
2.9.1

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


Re: [FFmpeg-devel] [PATCH 1/5] avcodec/ccaption_dec: change write_char() to void as return value is unused

2016-07-17 Thread Michael Niedermayer
On Tue, Jun 14, 2016 at 11:57:41AM -0700, Aman Gupta wrote:
> From: Aman Gupta 
> 
> ---
>  libavcodec/ccaption_dec.c | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)

applied

thanks

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

The real ebay dictionary, page 2
"100% positive feedback" - "All either got their money back or didnt complain"
"Best seller ever, very honest" - "Seller refunded buyer after failed scam"


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


[FFmpeg-devel] Patch submission

2016-07-17 Thread Soft Works
Hi,

I just prepared a patch and I've also written a quite comprehensive explanation 
(about 60 lines of text).

Should I put all the text into the git commit or should I use a shortened 
version for the commit and post the long version to this list only?

Thanks,

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


Re: [FFmpeg-devel] [PATCH] MAINTAINERS: Add Aman Gupta for ccaption_dec

2016-07-17 Thread Michael Niedermayer
On Sat, Jul 16, 2016 at 02:58:20PM +0200, Michael Niedermayer wrote:
> Anshul appears to have no time currently as he has not reacted to patches or 
> mails
> and Aman agreed to take over maintaince or help
> 
> Signed-off-by: Michael Niedermayer 
> ---
>  MAINTAINERS |2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

applied

[...]
-- 
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


Re: [FFmpeg-devel] [PATCH 0/4] libavcodec/dnxhdenc: add support for dnxhr encoding

2016-07-17 Thread Carl Eugen Hoyos
Mark Reid  gmail.com> writes:

> The following patch series adds support for dnxhr encoding.
> I added dnxhr as a profile to the dnxhd encoder.

Is there also a raw format that our demuxer currently does 
not auto-detect (and / or not demux)?

Carl Eugen

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


[FFmpeg-devel] [PATCH] af_hdcd: Improve HDCD detection

2016-07-17 Thread Burt P
HDCD is only "detected" if a valid code is active in both
channels simultaneously, as described here:
https://hydrogenaud.io/index.php/topic,79427.msg900371.html#msg900371

Signed-off-by: Burt P 
---
 libavfilter/af_hdcd.c | 34 --
 1 file changed, 24 insertions(+), 10 deletions(-)

diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c
index 6f0db71..4b48967 100644
--- a/libavfilter/af_hdcd.c
+++ b/libavfilter/af_hdcd.c
@@ -818,15 +818,25 @@ static const int32_t gaintab[] = {
 
 typedef struct {
 uint64_t window;
-unsigned char readahead, arg, control;
-int running_gain;
-unsigned sustain, sustain_reset;
-int code_counterA;
-int code_counterA_almost; /* looks like an A code, but a bit expected to 
be 0 is 1 */
-int code_counterB;
+unsigned char readahead;
+
+/* arg is set when a packet prefix is found.
+ * control is the active control code, where
+ * bit 0-3: target_gain, 4-bit (3.1) fixed-point value
+ * bit 4  : peak_extend
+ * bit 5  : transient_filter
+ * bit 6,7: always zero */
+unsigned char arg, control;
+unsigned sustain, sustain_reset; /* code detect timer */
+
+int running_gain; /* 11-bit (3.8) fixed point, extended from target_gain */
+
+int code_counterA;/* 8-bit format packet */
+int code_counterA_almost; /* looks like an A code, but a bit expected 
to be 0 is 1 */
+int code_counterB;/* 16-bit format packet, 8-bit code, 8-bit 
XOR of code */
 int code_counterB_checkfails; /* looks like a B code, but doesn't pass the 
XOR check */
-int code_counterC;
-int code_counterC_unmatched; /* told to look for a code, but didn't find 
one */
+int code_counterC;/* packet prefix was found, expect a code */
+int code_counterC_unmatched;  /* told to look for a code, but didn't find 
one */
 
 /* For user information/stats, pulled up into HDCDContext
  * by filter_frame() */
@@ -1096,7 +1106,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 AVFrame *out;
 const int16_t *in_data;
 int32_t *out_data;
-int n, c;
+int n, c, detect;
 
 out = ff_get_audio_buffer(outlink, in->nb_samples);
 if (!out) {
@@ -1112,6 +1122,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
 out_data[n] = in_data[n];
 }
 
+detect = 0;
 s->det_errors = 0;
 for (c = 0; c < inlink->channels; c++) {
 hdcd_state_t *state = &s->state[c];
@@ -1120,11 +1131,14 @@ static int filter_frame(AVFilterLink *inlink, AVFrame 
*in)
 s->uses_peak_extend |= !!state->count_peak_extend;
 s->uses_transient_filter |= !!state->count_transient_filter;
 s->max_gain_adjustment = FFMIN(s->max_gain_adjustment, 
GAINTOFLOAT(state->max_gain));
-s->hdcd_detected |= state->code_counterB || state->code_counterA;
+if (state->sustain) detect++;
 s->det_errors += state->code_counterA_almost
 + state->code_counterB_checkfails
 + state->code_counterC_unmatched;
 }
+/* HDCD is detected if a valid packet is active in all (both)
+ * channels at the same time. */
+if (detect == inlink->channels) s->hdcd_detected = 1;
 
 av_frame_free(&in);
 return ff_filter_frame(outlink, out);
-- 
2.7.4

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


Re: [FFmpeg-devel] [PATCH 3/3] libavformat/libopenmpt: Add "date" to metadata.

2016-07-17 Thread Josh de Kock
On Sun, Jul 17, 2016, at 02:37 PM, Jörn Heusipp wrote:
> Signed-off-by: Jörn Heusipp 
> ---
>  libavformat/libopenmpt.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/libavformat/libopenmpt.c b/libavformat/libopenmpt.c
> index 7b1dd5b..997c13d 100644
> --- a/libavformat/libopenmpt.c
> +++ b/libavformat/libopenmpt.c
> @@ -87,6 +87,7 @@ static int read_header_openmpt(AVFormatContext *s)
>  add_meta(s, "title",   openmpt_module_get_metadata(openmpt->module,
>  "title"));
>  add_meta(s, "encoder", openmpt_module_get_metadata(openmpt->module,
>  "tracker"));
>  add_meta(s, "comment", openmpt_module_get_metadata(openmpt->module,
>  "message"));
> +add_meta(s, "date",openmpt_module_get_metadata(openmpt->module,
> "date"));
>  
>  st = avformat_new_stream(s, NULL);
>  if (!st) {

This looks fine.

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


Re: [FFmpeg-devel] [PATCH 2/2] doc/examples/muxing: Fix packet duration

2016-07-17 Thread Gonzalo



El 16/07/16 a las 23:10, Michael Niedermayer escribió:

Set needed fields in st->codec

Fixes Ticket5684

Signed-off-by: Michael Niedermayer 
---
@@ -434,6 +434,8 @@ static void open_video(AVFormatContext *oc, AVCodec *codec, 
OutputStream *ost, A
  fprintf(stderr, "Could not copy the stream parameters\n");
  exit(1);
  }
+ost->st->codec->ticks_per_frame = c->ticks_per_frame;
+ost->st->codec->time_base   = c->time_base;
  }
  
I can verify it fixes the ticket, but creates warnings of 
AVStream::codec being deprecated.


--
Gonzalo Garramuño
ggarr...@gmail.com

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


[FFmpeg-devel] ffprobe missing string in code

2016-07-17 Thread Dmitry Vagin
Hello, FFmpeg-devel!

ffprobe not show tags when set only '-show_entries programs'

Patch in attachment.

/Dmitry
--- ffprobe.c.orig	2016-04-29 17:08:17.0 +0500
+++ ffprobe.c	2016-07-15 10:30:37.701155000 +0500
@@ -3178,6 +3178,7 @@
 SET_DO_SHOW(FRAME_TAGS, frame_tags);
 SET_DO_SHOW(PROGRAM_TAGS, program_tags);
 SET_DO_SHOW(STREAM_TAGS, stream_tags);
+SET_DO_SHOW(PROGRAM_STREAM_TAGS, stream_tags);
 
 if (do_bitexact && (do_show_program_version || do_show_library_versions)) {
 av_log(NULL, AV_LOG_ERROR,
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] CII Best Practices badge for FFMPEG

2016-07-17 Thread Wheeler, David A
>>> “The project SHOULD implement perfect forward secrecy for key agreement 
>>> protocols so a session key derived from a set of long-term keys cannot be 
>>> compromised if one of the long-term keys is compromised in the future. 
>>> [crypto_pfs]
 
>> This might be okay to state as “unmet” or “N/A” depending on what you do.  
>> In [crypto_call] you note that “FFmpeg reimplements common cryptographic 
>> primitives like AES, Blowfish, SHA, etc in files within FFmpeg. Many of them 
>> are simply used to meet a multimedia specification, and in many cases it is 
>> not security relevant. As FFmpeg is a very widely used library deployed in a 
>> variety of configurations, it is desired to have as few external 
>> dependencies as possible.”  If the crypto isn’t security-relevant, then it’s 
>> N/A.  If it’s relevant but you have a good reason to not do it, you can mark 
>> it as “Unmet” and provide a (reasonable) justification.

> Is this referring to the project infrastructure, or the project itself?

My intent was for the project itself (the software that you're developing).  It 
states the top of the section that 'A "project security mechanism" is a 
security mechanism provided by the delivered project's software.'  Looks like 
we should make that clearer, sorry about that.

I wouldn't be surprised if this is N/A for FFMEG.

Of course, I'd encourage using PFS for the project infrastructure too, but 
that's a different issue.


>>> “At least one static code analysis tool MUST be applied to any proposed 
>>> major production release of the software before its release, if there is at 
>>> least one FLOSS tool that implements this criterion in the selected 
>>> language. [static_analysis]

>>> FFmpeg uses Coverity (scan.coverity.com) before production releases, which 
>>> checks for a variety of common C programming mistakes. It should be noted 
>>> that Coverity is not perfect, and there are false positives. This is not 
>>> enforced though.”

>> I’m not sure what you mean by “enforced” – what we care about is what you 
>> *do*.  If you do it, then you do it.  This criterion requires that you apply 
>> a tool before a major release – so if you use Coverity scan to meet this, 
>> then you meet it!  Given what you’ve said, I suspect this is actually “Met”.
 
> I meant the following by "not enforced": practically, yes, it is done at 
> least once before release. However, it is not a "release blocker" AFAIK.

If you do it, then you do it.  We don't care if you label it "release blocker" 
or not.

In particular, since practically all tools have false positives, what we're 
really looking for is an effort to scan the code, examine the results, and work 
down reported or potential problems.

I hope that helps!

--- David A. Wheeler

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


[FFmpeg-devel] [PATCH] MAINTAINERS: add myself for libopenmpt

2016-07-17 Thread Josh de Kock
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index e5b466c..cb3675a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -402,6 +402,7 @@ Muxers/Demuxers:
   jvdec.c   Peter Ross
   libmodplug.c  Clément Bœsch
   libnut.c  Oded Shimon
+  libopenmpt.c  Josh de Kock
   lmlm4.c   Ivo van Poorten
   lvfdec.c  Paul B Mahol
   lxfdec.c  Tomas Härdin
-- 
2.7.4 (Apple Git-66)

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


Re: [FFmpeg-devel] [PATCH 1/3] libavformat/libopenmpt: Fix memory leak in error path in read_header_openmpt().

2016-07-17 Thread Michael Niedermayer
On Sun, Jul 17, 2016 at 03:37:12PM +0200, Jörn Heusipp wrote:
> Signed-off-by: Jörn Heusipp 
> ---
>  libavformat/libopenmpt.c | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)

applied

btw, there is noone listed in MAINTAINERs for libavformat/libopenmpt.c
can one of the authors/contributors please post a patch to add a
maintainer

Thanks

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

The real ebay dictionary, page 3
"Rare item" - "Common item with rare defect or maybe just a lie"
"Professional" - "'Toy' made in china, not functional except as doorstop"
"Experts will know" - "The seller hopes you are not an expert"


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


Re: [FFmpeg-devel] [PATCH] lavfi/curves: do not automatically insert points at x=0 and x=1

2016-07-17 Thread Clément Bœsch
On Sun, Jul 17, 2016 at 05:03:35PM +0200, Clément Bœsch wrote:
> There is actually a need for the origin and end point not to be defined.
> We can not automatically insert them with the y value of the first and
> last point as it will influence the curves in a wrong way.
> 
> Fixes #5397
> ---
>  Changelog   |  1 +
>  doc/filters.texi| 10 ++
>  libavfilter/version.h   |  2 +-
>  libavfilter/vf_curves.c | 85 
> -
>  4 files changed, 47 insertions(+), 51 deletions(-)
[...]
> @@ -177,30 +177,6 @@ static int parse_points_str(AVFilterContext *ctx, struct 
> keypoint **points, cons
>  last = point;
>  }
>  
> -/* auto insert first key point if missing at x=0 */
> -if (!*points) {
> -last = make_point(0, 0, NULL);
> -if (!last)
> -return AVERROR(ENOMEM);
> -last->x = last->y = 0;
> -*points = last;
> -} else if ((*points)->x != 0.) {
> -struct keypoint *newfirst = make_point(0, 0, *points);
> -if (!newfirst)
> -return AVERROR(ENOMEM);
> -*points = newfirst;
> -}
> -
> -av_assert0(last);
> -
> -/* auto insert last key point if missing at x=1 */
> -if (last->x != 1.) {
> -struct keypoint *point = make_point(1, 1, NULL);
> -if (!point)
> -return AVERROR(ENOMEM);
> -last->next = point;
> -}
> -

Added the following warning locally:

if (*points && !(*points)->next) {
av_log(ctx, AV_LOG_WARNING, "Only one point (at (%f;%f)) is defined, "
   "this is unlikely to behave as you expect. You probably want"
   "at least 2 points.",
   (*points)->x, (*points)->y);
}


>  return 0;
>  }
>  
> @@ -225,11 +201,25 @@ static int interpolate(AVFilterContext *ctx, uint8_t 
> *y, const struct keypoint *
>  const struct keypoint *point;

changed locally to

   const struct keypoint *point = NULL;

to prevent a crash in case of only one point defined.

[...]

-- 
Clément B.


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


[FFmpeg-devel] [PATCH] lavfi/curves: do not automatically insert points at x=0 and x=1

2016-07-17 Thread Clément Bœsch
There is actually a need for the origin and end point not to be defined.
We can not automatically insert them with the y value of the first and
last point as it will influence the curves in a wrong way.

Fixes #5397
---
 Changelog   |  1 +
 doc/filters.texi| 10 ++
 libavfilter/version.h   |  2 +-
 libavfilter/vf_curves.c | 85 -
 4 files changed, 47 insertions(+), 51 deletions(-)

diff --git a/Changelog b/Changelog
index f2a1dcd..75165e4 100644
--- a/Changelog
+++ b/Changelog
@@ -3,6 +3,7 @@ releases are sorted from youngest to oldest.
 
 version :
 - libopenmpt demuxer
+- curves filter doesn't automatically insert points at x=0 and x=1 anymore
 
 
 version 3.1:
diff --git a/doc/filters.texi b/doc/filters.texi
index 42341ea..505247b 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -5710,10 +5710,6 @@ strictly increasing over the x-axis, and their @var{x} 
and @var{y} values must
 be in the @var{[0;1]} interval.  If the computed curves happened to go outside
 the vector spaces, the values will be clipped accordingly.
 
-If there is no key point defined in @code{x=0}, the filter will automatically
-insert a @var{(0;0)} point. In the same way, if there is no key point defined
-in @code{x=1}, the filter will automatically insert a @var{(1;1)} point.
-
 The filter accepts the following options:
 
 @table @option
@@ -5765,13 +5761,13 @@ defined using the following syntax: @code{x0/y0 x1/y1 
x2/y2 ...}.
 @item
 Increase slightly the middle level of blue:
 @example
-curves=blue='0.5/0.58'
+curves=blue='0/0 0.5/0.58 1/1'
 @end example
 
 @item
 Vintage effect:
 @example
-curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'
+curves=r='0/0.11 .42/.51 1/0.95':g='0/0 0.50/0.48 1/1':b='0/0.22 .49/.44 1/0.8'
 @end example
 Here we obtain the following coordinates for each components:
 @table @var
@@ -5798,7 +5794,7 @@ curves=vintage
 @item
 Use a Photoshop preset and redefine the points of the green component:
 @example
-curves=psfile='MyCurvesPresets/purple.acv':green='0.45/0.53'
+curves=psfile='MyCurvesPresets/purple.acv':green='0/0 0.45/0.53 1/1'
 @end example
 @end itemize
 
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 6d56dad..193108f 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -31,7 +31,7 @@
 
 #define LIBAVFILTER_VERSION_MAJOR   6
 #define LIBAVFILTER_VERSION_MINOR  47
-#define LIBAVFILTER_VERSION_MICRO 100
+#define LIBAVFILTER_VERSION_MICRO 101
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
diff --git a/libavfilter/vf_curves.c b/libavfilter/vf_curves.c
index 1c51c1b..957e949 100644
--- a/libavfilter/vf_curves.c
+++ b/libavfilter/vf_curves.c
@@ -110,25 +110,25 @@ static const struct {
 const char *master;
 } curves_presets[] = {
 [PRESET_COLOR_NEGATIVE] = {
-"0/1 0.129/1 0.466/0.498 0.725/0 1/0",
-"0/1 0.109/1 0.301/0.498 0.517/0 1/0",
-"0/1 0.098/1 0.235/0.498 0.423/0 1/0",
+"0.129/1 0.466/0.498 0.725/0",
+"0.109/1 0.301/0.498 0.517/0",
+"0.098/1 0.235/0.498 0.423/0",
 },
 [PRESET_CROSS_PROCESS] = {
-"0.25/0.156 0.501/0.501 0.686/0.745",
-"0.25/0.188 0.38/0.501 0.745/0.815 1/0.815",
-"0.231/0.094 0.709/0.874",
+"0/0 0.25/0.156 0.501/0.501 0.686/0.745 1/1",
+"0/0 0.25/0.188 0.38/0.501 0.745/0.815 1/0.815",
+"0/0 0.231/0.094 0.709/0.874 1/1",
 },
-[PRESET_DARKER] = { .master = "0.5/0.4" },
-[PRESET_INCREASE_CONTRAST]  = { .master = "0.149/0.066 0.831/0.905 
0.905/0.98" },
-[PRESET_LIGHTER]= { .master = "0.4/0.5" },
-[PRESET_LINEAR_CONTRAST]= { .master = "0.305/0.286 0.694/0.713" },
-[PRESET_MEDIUM_CONTRAST]= { .master = "0.286/0.219 0.639/0.643" },
+[PRESET_DARKER] = { .master = "0/0 0.5/0.4 1/1" },
+[PRESET_INCREASE_CONTRAST]  = { .master = "0/0 0.149/0.066 0.831/0.905 
0.905/0.98 1/1" },
+[PRESET_LIGHTER]= { .master = "0/0 0.4/0.5 1/1" },
+[PRESET_LINEAR_CONTRAST]= { .master = "0/0 0.305/0.286 0.694/0.713 
1/1" },
+[PRESET_MEDIUM_CONTRAST]= { .master = "0/0 0.286/0.219 0.639/0.643 
1/1" },
 [PRESET_NEGATIVE]   = { .master = "0/1 1/0" },
-[PRESET_STRONG_CONTRAST]= { .master = "0.301/0.196 0.592/0.6 
0.686/0.737" },
+[PRESET_STRONG_CONTRAST]= { .master = "0/0 0.301/0.196 0.592/0.6 
0.686/0.737 1/1" },
 [PRESET_VINTAGE] = {
 "0/0.11 0.42/0.51 1/0.95",
-"0.50/0.48",
+"0/0 0.50/0.48 1/1",
 "0/0.22 0.49/0.44 1/0.8",
 }
 };
@@ -177,30 +177,6 @@ static int parse_points_str(AVFilterContext *ctx, struct 
keypoint **points, cons
 last = point;
 }
 
-/* auto insert first key point if missing at x=0 */
-if (!*points) {
-last = make_point(0, 0, NULL);
-if (!last)
- 

Re: [FFmpeg-devel] [PATCH] fate/als: add floating point decoding test

2016-07-17 Thread Thilo Borgmann
Am 17.07.16 um 16:22 schrieb Michael Niedermayer:
> On Sun, Jul 17, 2016 at 07:25:31PM +0530, Umair Khan wrote:
>> On Sun, Jul 17, 2016 at 1:50 PM, Thilo Borgmann  
>> wrote:
>>> Hi,
>>>
 From e172e333807b4b3b2558a1ffa735ade79a3f3e36 Mon Sep 17 00:00:00 2001
 From: Umair Khan 
 Date: Sun, 17 Jul 2016 13:05:49 +0530
 Subject: [PATCH 1/1] fate/als: add floating point decoding test

 Signed-off-by: Umair Khan 
 ---
  tests/fate/als.mak | 3 +++
  1 file changed, 3 insertions(+)

 diff --git a/tests/fate/als.mak b/tests/fate/als.mak
 index ff2badf..2847a8d 100644
 --- a/tests/fate/als.mak
 +++ b/tests/fate/als.mak
 @@ -7,5 +7,8 @@ endef

  $(foreach N,$(ALS_SUITE),$(eval $(call FATE_ALS_SUITE,$(N

 ++FATE_ALS += fate-mpeg4-als-conformance-07
>>>
>>> Just add "07" to the ALS_SUITE.
>>>
>>> You also need to add a new "tests/ref/fate/mpeg4-als-conformance-07"
>>> file containing the correct CRC for that conformance file.
>>>
>>> Please setup a local FATE suite and test your patch before resubmitting.
>>
>> Tested.
>> Updated patch attached.
> 
> where can i find the als sample?
> i assume i should upload it to the fate samples ?

Yes please. Find it here:

http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_IEC_14496-26_2010_Bitstreams/DVD1/mpeg4audio-conformance/compressedMp4/als_07_2ch192k32bF.mp4

Thanks,
Thilo

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


Re: [FFmpeg-devel] [PATCH] fate/als: add floating point decoding test

2016-07-17 Thread Michael Niedermayer
On Sun, Jul 17, 2016 at 07:25:31PM +0530, Umair Khan wrote:
> On Sun, Jul 17, 2016 at 1:50 PM, Thilo Borgmann  
> wrote:
> > Hi,
> >
> >> From e172e333807b4b3b2558a1ffa735ade79a3f3e36 Mon Sep 17 00:00:00 2001
> >> From: Umair Khan 
> >> Date: Sun, 17 Jul 2016 13:05:49 +0530
> >> Subject: [PATCH 1/1] fate/als: add floating point decoding test
> >>
> >> Signed-off-by: Umair Khan 
> >> ---
> >>  tests/fate/als.mak | 3 +++
> >>  1 file changed, 3 insertions(+)
> >>
> >> diff --git a/tests/fate/als.mak b/tests/fate/als.mak
> >> index ff2badf..2847a8d 100644
> >> --- a/tests/fate/als.mak
> >> +++ b/tests/fate/als.mak
> >> @@ -7,5 +7,8 @@ endef
> >>
> >>  $(foreach N,$(ALS_SUITE),$(eval $(call FATE_ALS_SUITE,$(N
> >>
> >> ++FATE_ALS += fate-mpeg4-als-conformance-07
> >
> > Just add "07" to the ALS_SUITE.
> >
> > You also need to add a new "tests/ref/fate/mpeg4-als-conformance-07"
> > file containing the correct CRC for that conformance file.
> >
> > Please setup a local FATE suite and test your patch before resubmitting.
> 
> Tested.
> Updated patch attached.

where can i find the als sample?
i assume i should upload it to the fate samples ?

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

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin


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


Re: [FFmpeg-devel] [PATCH] fate/als: add floating point decoding test

2016-07-17 Thread Umair Khan
On Sun, Jul 17, 2016 at 1:50 PM, Thilo Borgmann  wrote:
> Hi,
>
>> From e172e333807b4b3b2558a1ffa735ade79a3f3e36 Mon Sep 17 00:00:00 2001
>> From: Umair Khan 
>> Date: Sun, 17 Jul 2016 13:05:49 +0530
>> Subject: [PATCH 1/1] fate/als: add floating point decoding test
>>
>> Signed-off-by: Umair Khan 
>> ---
>>  tests/fate/als.mak | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/tests/fate/als.mak b/tests/fate/als.mak
>> index ff2badf..2847a8d 100644
>> --- a/tests/fate/als.mak
>> +++ b/tests/fate/als.mak
>> @@ -7,5 +7,8 @@ endef
>>
>>  $(foreach N,$(ALS_SUITE),$(eval $(call FATE_ALS_SUITE,$(N
>>
>> ++FATE_ALS += fate-mpeg4-als-conformance-07
>
> Just add "07" to the ALS_SUITE.
>
> You also need to add a new "tests/ref/fate/mpeg4-als-conformance-07"
> file containing the correct CRC for that conformance file.
>
> Please setup a local FATE suite and test your patch before resubmitting.

Tested.
Updated patch attached.

-Umair
From 4295fc1a5f56d81e9b498bece4aed36197328763 Mon Sep 17 00:00:00 2001
From: Umair Khan 
Date: Sun, 17 Jul 2016 13:05:49 +0530
Subject: [PATCH 1/1] fate/als: add floating point decoding test

Signed-off-by: Umair Khan 
---
 tests/fate/als.mak  | 3 +++
 tests/ref/fate/mpeg4-als-conformance-07 | 1 +
 2 files changed, 4 insertions(+)
 create mode 100644 tests/ref/fate/mpeg4-als-conformance-07

diff --git a/tests/fate/als.mak b/tests/fate/als.mak
index ff2badf..a67302c 100644
--- a/tests/fate/als.mak
+++ b/tests/fate/als.mak
@@ -7,5 +7,8 @@ endef
 
 $(foreach N,$(ALS_SUITE),$(eval $(call FATE_ALS_SUITE,$(N
 
+FATE_ALS += fate-mpeg4-als-conformance-07
+fate-mpeg4-als-conformance-07: CMD = crc -i $(TARGET_SAMPLES)/lossless-audio/als_07_2ch192k32bF.mp4
+
 FATE_SAMPLES_AVCONV-$(call DEMDEC, MOV, ALS) += $(FATE_ALS)
 fate-als: $(FATE_ALS)
diff --git a/tests/ref/fate/mpeg4-als-conformance-07 b/tests/ref/fate/mpeg4-als-conformance-07
new file mode 100644
index 000..1cc705d
--- /dev/null
+++ b/tests/ref/fate/mpeg4-als-conformance-07
@@ -0,0 +1 @@
+CRC=0x01503df3
-- 
2.7.4

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


Re: [FFmpeg-devel] [PATCH 1/3] libavformat/libopenmpt: Fix memory leak in error path in read_header_openmpt().

2016-07-17 Thread Nicolas George
Le decadi 30 messidor, an CCXXIV, Jörn Heusipp a écrit :
> Signed-off-by: Jörn Heusipp 
> ---
>  libavformat/libopenmpt.c | 6 +-
>  1 file changed, 5 insertions(+), 1 deletion(-)

I am not objecting to the patch, but I think it shows demuxers would benefit
from a deinit() method just like Rodger added to muxers recently.

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 2/3] libavformat/libopenmpt: Actually set stream duration and fix the confusion around the used time base.

2016-07-17 Thread Jörn Heusipp
Signed-off-by: Jörn Heusipp 
---
 libavformat/libopenmpt.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavformat/libopenmpt.c b/libavformat/libopenmpt.c
index 58a02be..7b1dd5b 100644
--- a/libavformat/libopenmpt.c
+++ b/libavformat/libopenmpt.c
@@ -94,9 +94,8 @@ static int read_header_openmpt(AVFormatContext *s)
 openmpt->module = NULL;
 return AVERROR(ENOMEM);
 }
-avpriv_set_pts_info(st, 64, 1, 1000);
-if (st->duration > 0)
-st->duration = llrint(openmpt->duration*AV_TIME_BASE);
+avpriv_set_pts_info(st, 64, 1, AV_TIME_BASE);
+st->duration = llrint(openmpt->duration*AV_TIME_BASE);
 
 st->codecpar->codec_type  = AVMEDIA_TYPE_AUDIO;
 st->codecpar->codec_id= AV_NE(AV_CODEC_ID_PCM_F32BE, 
AV_CODEC_ID_PCM_F32LE);
-- 
1.9.1

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


[FFmpeg-devel] [PATCH 1/3] libavformat/libopenmpt: Fix memory leak in error path in read_header_openmpt().

2016-07-17 Thread Jörn Heusipp
Signed-off-by: Jörn Heusipp 
---
 libavformat/libopenmpt.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/libopenmpt.c b/libavformat/libopenmpt.c
index fd38828..58a02be 100644
--- a/libavformat/libopenmpt.c
+++ b/libavformat/libopenmpt.c
@@ -89,8 +89,11 @@ static int read_header_openmpt(AVFormatContext *s)
 add_meta(s, "comment", openmpt_module_get_metadata(openmpt->module, 
"message"));
 
 st = avformat_new_stream(s, NULL);
-if (!st)
+if (!st) {
+openmpt_module_destroy(openmpt->module);
+openmpt->module = NULL;
 return AVERROR(ENOMEM);
+}
 avpriv_set_pts_info(st, 64, 1, 1000);
 if (st->duration > 0)
 st->duration = llrint(openmpt->duration*AV_TIME_BASE);
@@ -146,6 +149,7 @@ static int read_close_openmpt(AVFormatContext *s)
 {
 OpenMPTContext *openmpt = s->priv_data;
 openmpt_module_destroy(openmpt->module);
+openmpt->module = NULL;
 return 0;
 }
 
-- 
1.9.1

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


[FFmpeg-devel] [PATCH 3/3] libavformat/libopenmpt: Add "date" to metadata.

2016-07-17 Thread Jörn Heusipp
Signed-off-by: Jörn Heusipp 
---
 libavformat/libopenmpt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavformat/libopenmpt.c b/libavformat/libopenmpt.c
index 7b1dd5b..997c13d 100644
--- a/libavformat/libopenmpt.c
+++ b/libavformat/libopenmpt.c
@@ -87,6 +87,7 @@ static int read_header_openmpt(AVFormatContext *s)
 add_meta(s, "title",   openmpt_module_get_metadata(openmpt->module, 
"title"));
 add_meta(s, "encoder", openmpt_module_get_metadata(openmpt->module, 
"tracker"));
 add_meta(s, "comment", openmpt_module_get_metadata(openmpt->module, 
"message"));
+add_meta(s, "date",openmpt_module_get_metadata(openmpt->module, 
"date"));
 
 st = avformat_new_stream(s, NULL);
 if (!st) {
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH 1/4] libavformat/movenc: add dnxhr compatibility for apple players

2016-07-17 Thread Michael Niedermayer
On Sat, Jul 16, 2016 at 07:37:36PM -0700, Mark Reid wrote:
> ---
>  libavcodec/dnxhddec.c |  3 +++
>  libavformat/movenc.c  | 19 ++-
>  2 files changed, 17 insertions(+), 5 deletions(-)

this should be split
a single patch changing both libs is a bit suspicous API wise


> 
> diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c
> index 5b60326..4c6f708 100644
> --- a/libavcodec/dnxhddec.c
> +++ b/libavcodec/dnxhddec.c
> @@ -204,6 +204,9 @@ static int dnxhd_decode_header(DNXHDContext *ctx, AVFrame 
> *frame,
>  }
>  
>  cid = AV_RB32(buf + 0x28);
> +if (cid >= 1270 && cid <= 1274)
> +ctx->avctx->codec_tag = MKTAG('A','V','d','h');

codec_tag is documented as:
* - decoding: Set by user, will be converted to uppercase by libavcodec during 
init.

this sets it in the decoder by libavcodec though


> +
>  if ((ret = dnxhd_init_vlc(ctx, cid, bitdepth)) < 0)
>  return ret;
>  if (ctx->mbaff && ctx->cid_table->cid != 1260)
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index d614933..7906f83 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -32,6 +32,7 @@
>  #include "isom.h"
>  #include "avc.h"
>  #include "libavcodec/ac3_parser.h"
> +#include "libavcodec/dnxhddata.h"
>  #include "libavcodec/get_bits.h"
>  #include "libavcodec/put_bits.h"
>  #include "libavcodec/vc1_common.h"

> @@ -1070,11 +1071,7 @@ static int mov_write_avid_tag(AVIOContext *pb, 
> MOVTrack *track)
>  int cid;
>  
>  if (track->vos_data && track->vos_len > 0x29) {
> -if (track->vos_data[0] == 0x00 &&
> -track->vos_data[1] == 0x00 &&
> -track->vos_data[2] == 0x02 &&
> -track->vos_data[3] == 0x80 &&
> -(track->vos_data[4] == 0x01 || track->vos_data[4] == 0x02)) {
> +if (avpriv_dnxhd_parse_header_prefix(track->vos_data) != 0) {
>  /* looks like a DNxHD bit stream */
>  interlaced = (track->vos_data[5] & 2);
>  cid = AV_RB32(track->vos_data + 0x28);

is this a separateable change that could be in its own patch ?

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

Dictatorship: All citizens are under surveillance, all their steps and
actions recorded, for the politicians to enforce control.
Democracy: All politicians are under surveillance, all their steps and
actions recorded, for the citizens to enforce control.


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/alsdec: implement floating point decoding

2016-07-17 Thread Michael Niedermayer
On Sun, Jul 17, 2016 at 11:54:49AM +0200, Michael Niedermayer wrote:
> On Sun, Jul 17, 2016 at 09:00:48AM +0530, Umair Khan wrote:
> > Hi,
> > 
> > On Sun, Jul 17, 2016 at 12:25 AM, Thilo Borgmann  
> > wrote:
> > > Hi,
> > >
> > >> From 70e65b26cc3f84c9c664c30808b43a5e1cf16eaa Mon Sep 17 00:00:00 2001
> > >> From: Umair Khan 
> > >> Date: Sat, 16 Jul 2016 23:52:39 +0530
> > >> Subject: [PATCH 1/1] avcodec/alsdec: implement floating point decoding
> > >>
> > >> It conforms to RM22 version of the reference codec.
> > >>
> > >> Signed-off-by: Umair Khan 
> > >> ---
> > >>  libavcodec/Makefile   |   2 +-
> > >>  libavcodec/alsdec.c   | 284 
> > >> +-
> > >>  libavcodec/mlz.c  | 171 +
> > >>  libavcodec/mlz.h  |  69 ++
> > >>  libavutil/softfloat_ieee754.h | 115 +
> > >>  5 files changed, 638 insertions(+), 3 deletions(-)
> > >>  create mode 100644 libavcodec/mlz.c
> > >>  create mode 100644 libavcodec/mlz.h
> > >>  create mode 100644 libavutil/softfloat_ieee754.h
> > >>
> > >> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> > >> index abef19e..a03adf5 100644
> > >> --- a/libavcodec/Makefile
> > >> +++ b/libavcodec/Makefile
> > >> @@ -163,7 +163,7 @@ OBJS-$(CONFIG_ALAC_DECODER)+= alac.o 
> > >> alac_data.o alacdsp.o
> > >>  OBJS-$(CONFIG_ALAC_ENCODER)+= alacenc.o alac_data.o
> > >>  OBJS-$(CONFIG_ALIAS_PIX_DECODER)   += aliaspixdec.o
> > >>  OBJS-$(CONFIG_ALIAS_PIX_ENCODER)   += aliaspixenc.o
> > >> -OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mpeg4audio.o
> > >> +OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mlz.o 
> > >> mpeg4audio.o
> > >>  OBJS-$(CONFIG_AMRNB_DECODER)   += amrnbdec.o celp_filters.o   \
> > >>celp_math.o acelp_filters.o \
> > >>acelp_vectors.o \
> > >> diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
> > >> index a7e58a2..c710fc3 100644
> > >> --- a/libavcodec/alsdec.c
> > >> +++ b/libavcodec/alsdec.c
> > >> @@ -35,8 +35,11 @@
> > >>  [...]
> > >>
> > >> +/** multiply two softfloats and handle the rounding off
> > >> + */
> > >> +static SoftFloat_IEEE754 multiply(SoftFloat_IEEE754 a, 
> > >> SoftFloat_IEEE754 b) {
> > >> [...]
> > >
> > > Why is this in alsdec.c?
> > 
> > This is not the actual IEEE 754 multiplication. It is as is mentioned
> > in the reference spec.
> > The typical one for 754 floats, I've implemented here separately -
> > https://github.com/omerjerk/FFmpeg/commit/d6cd4bf66b9da46dd87580d7d974ce44abdcfba2#diff-4dd4b2d8d523f336fbefa96e9252187cR93
> > 
> > > [...]
> > >
> > >> diff --git a/libavcodec/mlz.c b/libavcodec/mlz.c
> > >> new file mode 100644
> > >> index 000..cb2ed6a
> > >> --- /dev/null
> > >> +++ b/libavcodec/mlz.c
> > >> [...]
> > >
> > >> +static int input_code(GetBitContext* gb, int len) {
> > >> +int tmp_code = 0;
> > >> +int i;
> > >> +for (i = 0; i < len; ++i) {
> > >> +tmp_code += get_bits1(gb) << i;
> > >> +}
> > >> +return tmp_code;
> > >> +}
> > >
> > > Is there nothing in get_bits.h that solves that already?
> > >
> > > -Thilo
> > 
> > I'm not sure. It is just reading the bits in the reverse order. May be
> > someone else can help.
> 
> theres asv2_get_bits()
> if it works here it could be shared

note though asv2_get_bits() is maximum 8 bits, for more bits more
table lookups or a bigger table is needed

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Modern terrorism, a quick summary: Need oil, start war with country that
has oil, kill hundread thousand in war. Let country fall into chaos,
be surprised about raise of fundamantalists. Drop more bombs, kill more
people, be surprised about them taking revenge and drop even more bombs
and strip your own citizens of their rights and freedoms. to be continued


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


Re: [FFmpeg-devel] [PATCH 1/3] configure: require libvpx-1.4.0 for vp9 support

2016-07-17 Thread Nicolas George
L'octidi 28 messidor, an CCXXIV, James Zern a écrit :
> 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(-)

Does that mean no VP9 with Git head on Debian stable?

Regards,

-- 
  Nicolas George


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 3/7] avformat/tee: Rescale ts using av_packet_rescale_ts

2016-07-17 Thread Nicolas George
Le nonidi 29 messidor, an CCXXIV, sebechlebsky...@gmail.com a écrit :
> From: Jan Sebechlebsky 
> 
> This ensures that AV_NOPTS_VALUE value is handled
> correctly.
> 
> Signed-off-by: Jan Sebechlebsky 
> ---
>  libavformat/tee.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)

LGTM, good catch.

Regards,

-- 
  Nicolas George


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/alsdec: implement floating point decoding

2016-07-17 Thread Michael Niedermayer
On Sun, Jul 17, 2016 at 09:00:48AM +0530, Umair Khan wrote:
> Hi,
> 
> On Sun, Jul 17, 2016 at 12:25 AM, Thilo Borgmann  
> wrote:
> > Hi,
> >
> >> From 70e65b26cc3f84c9c664c30808b43a5e1cf16eaa Mon Sep 17 00:00:00 2001
> >> From: Umair Khan 
> >> Date: Sat, 16 Jul 2016 23:52:39 +0530
> >> Subject: [PATCH 1/1] avcodec/alsdec: implement floating point decoding
> >>
> >> It conforms to RM22 version of the reference codec.
> >>
> >> Signed-off-by: Umair Khan 
> >> ---
> >>  libavcodec/Makefile   |   2 +-
> >>  libavcodec/alsdec.c   | 284 
> >> +-
> >>  libavcodec/mlz.c  | 171 +
> >>  libavcodec/mlz.h  |  69 ++
> >>  libavutil/softfloat_ieee754.h | 115 +
> >>  5 files changed, 638 insertions(+), 3 deletions(-)
> >>  create mode 100644 libavcodec/mlz.c
> >>  create mode 100644 libavcodec/mlz.h
> >>  create mode 100644 libavutil/softfloat_ieee754.h
> >>
> >> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> >> index abef19e..a03adf5 100644
> >> --- a/libavcodec/Makefile
> >> +++ b/libavcodec/Makefile
> >> @@ -163,7 +163,7 @@ OBJS-$(CONFIG_ALAC_DECODER)+= alac.o 
> >> alac_data.o alacdsp.o
> >>  OBJS-$(CONFIG_ALAC_ENCODER)+= alacenc.o alac_data.o
> >>  OBJS-$(CONFIG_ALIAS_PIX_DECODER)   += aliaspixdec.o
> >>  OBJS-$(CONFIG_ALIAS_PIX_ENCODER)   += aliaspixenc.o
> >> -OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mpeg4audio.o
> >> +OBJS-$(CONFIG_ALS_DECODER) += alsdec.o bgmc.o mlz.o 
> >> mpeg4audio.o
> >>  OBJS-$(CONFIG_AMRNB_DECODER)   += amrnbdec.o celp_filters.o   \
> >>celp_math.o acelp_filters.o \
> >>acelp_vectors.o \
> >> diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
> >> index a7e58a2..c710fc3 100644
> >> --- a/libavcodec/alsdec.c
> >> +++ b/libavcodec/alsdec.c
> >> @@ -35,8 +35,11 @@
> >>  [...]
> >>
> >> +/** multiply two softfloats and handle the rounding off
> >> + */
> >> +static SoftFloat_IEEE754 multiply(SoftFloat_IEEE754 a, SoftFloat_IEEE754 
> >> b) {
> >> [...]
> >
> > Why is this in alsdec.c?
> 
> This is not the actual IEEE 754 multiplication. It is as is mentioned
> in the reference spec.
> The typical one for 754 floats, I've implemented here separately -
> https://github.com/omerjerk/FFmpeg/commit/d6cd4bf66b9da46dd87580d7d974ce44abdcfba2#diff-4dd4b2d8d523f336fbefa96e9252187cR93
> 
> > [...]
> >
> >> diff --git a/libavcodec/mlz.c b/libavcodec/mlz.c
> >> new file mode 100644
> >> index 000..cb2ed6a
> >> --- /dev/null
> >> +++ b/libavcodec/mlz.c
> >> [...]
> >
> >> +static int input_code(GetBitContext* gb, int len) {
> >> +int tmp_code = 0;
> >> +int i;
> >> +for (i = 0; i < len; ++i) {
> >> +tmp_code += get_bits1(gb) << i;
> >> +}
> >> +return tmp_code;
> >> +}
> >
> > Is there nothing in get_bits.h that solves that already?
> >
> > -Thilo
> 
> I'm not sure. It is just reading the bits in the reverse order. May be
> someone else can help.

theres asv2_get_bits()
if it works here it could be shared

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many that live deserve death. And some that die deserve life. Can you give
it to them? Then do not be too eager to deal out death in judgement. For
even the very wise cannot see all ends. -- Gandalf


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


Re: [FFmpeg-devel] [PATCH] fate/als: add floating point decoding test

2016-07-17 Thread Thilo Borgmann
Hi,

> From e172e333807b4b3b2558a1ffa735ade79a3f3e36 Mon Sep 17 00:00:00 2001
> From: Umair Khan 
> Date: Sun, 17 Jul 2016 13:05:49 +0530
> Subject: [PATCH 1/1] fate/als: add floating point decoding test
> 
> Signed-off-by: Umair Khan 
> ---
>  tests/fate/als.mak | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tests/fate/als.mak b/tests/fate/als.mak
> index ff2badf..2847a8d 100644
> --- a/tests/fate/als.mak
> +++ b/tests/fate/als.mak
> @@ -7,5 +7,8 @@ endef
>  
>  $(foreach N,$(ALS_SUITE),$(eval $(call FATE_ALS_SUITE,$(N
>  
> ++FATE_ALS += fate-mpeg4-als-conformance-07

Just add "07" to the ALS_SUITE.

You also need to add a new "tests/ref/fate/mpeg4-als-conformance-07"
file containing the correct CRC for that conformance file.

Please setup a local FATE suite and test your patch before resubmitting.

-Thilo

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


[FFmpeg-devel] [PATCH] fate/als: add floating point decoding test

2016-07-17 Thread Umair Khan
Hi,

Patch attached.

- Umair
From e172e333807b4b3b2558a1ffa735ade79a3f3e36 Mon Sep 17 00:00:00 2001
From: Umair Khan 
Date: Sun, 17 Jul 2016 13:05:49 +0530
Subject: [PATCH 1/1] fate/als: add floating point decoding test

Signed-off-by: Umair Khan 
---
 tests/fate/als.mak | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tests/fate/als.mak b/tests/fate/als.mak
index ff2badf..2847a8d 100644
--- a/tests/fate/als.mak
+++ b/tests/fate/als.mak
@@ -7,5 +7,8 @@ endef
 
 $(foreach N,$(ALS_SUITE),$(eval $(call FATE_ALS_SUITE,$(N
 
++FATE_ALS += fate-mpeg4-als-conformance-07
++fate-mpeg4-als-conformance-07: CMD = crc -i $(TARGET_SAMPLES)/lossless-audio/als_07_2ch192k32bF.mp4
+
 FATE_SAMPLES_AVCONV-$(call DEMDEC, MOV, ALS) += $(FATE_ALS)
 fate-als: $(FATE_ALS)
-- 
2.7.4

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