Re: [FFmpeg-devel] [PATCH]lavf/matroskaenc: Print an error if an unreadable rawvideo pix_fmt is written

2017-01-14 Thread wm4
On Sat, 14 Jan 2017 06:18:13 +0100
Carl Eugen Hoyos  wrote:

> 2017-01-13 6:28 GMT+01:00 wm4 :
> > On Thu, 12 Jan 2017 23:31:11 +0100
> > Carl Eugen Hoyos  wrote:
> >  
> >> 2017-01-12 23:20 GMT+01:00 Hendrik Leppkes :  
> >> > On Fri, Jan 13, 2017 at 1:10 AM, Carl Eugen Hoyos  
> >> > wrote:  
> >> >> 2017-01-11 12:24 GMT+01:00 Moritz Barsnick :  
> >> >>> On Tue, Jan 10, 2017 at 17:05:47 +0100, Carl Eugen Hoyos wrote:  
> >>  +enum AVPixelFormat pix_fmt = 
> >>  avpriv_find_pix_fmt(avpriv_pix_fmt_bps_avi,
> >>  + 
> >>  par->bits_per_coded_sample);
> >>  +if (par->format != pix_fmt && par->format != 
> >>  AV_PIX_FMT_NONE)
> >>  +av_log(s, AV_LOG_ERROR, "%s rawvideo cannot be 
> >>  written to vfw mkv, output file will be unreadable\n",
> >>  +  av_get_pix_fmt_name(par->format));  
> >> >>>
> >> >>> Should it really be an error (and not a warning) if its detection
> >> >>> doesn't change ffmpeg's behavior?  
> >> >>
> >> >> Just copying what avi and mov muxer do.
> >> >>
> >> >> Note that (many) decoders print errors and (can) continue.
> >> >>
> >> >> (I believe library users can - and do - put rawvideo into standard
> >> >> containers and force the right pix_fmt on reading.)  
> >> >
> >> > That seems silly, we shouldn't log an error that a file will be broken
> >> > and then still write it. Muxers should be strict and write only valid
> >> > files.  
> >>
> >> This is what we currently do for both other multi-purpose containers
> >> (while FFmpeg logs no message for unreadable transport streams),
> >> so lets please commit this.  
> >
> > I have to agree with Hendrik. Your patch is all about adding a message
> > for this case.  
> 
> The same message that gets printed for the other general-purpose
> muxers.
> 
> > Why not do the right thing in the first place?  
> 
> I believe informing users is the right thing.
> 
> > You'd only have to add an error return or so.  
> 
> I would prefer not to harm library users when helping cli users.

In other places we make an effort to not write potentially broken files
by default, such as adding support for unfinished specifications. Why
write broken files in this specific case, even though we definitely
know it's broken, to the extent of adding a message informing the user
about it.

I'm saying that

1. It's definitely preferable not to write broken files by default if
   we can easily prevent it (i.e. it's "the right thing")

2. A message won't prevent any harm - users might not read it, or the
   encoder is not ffmpeg.c but someone using the API (possibly never
   showing the log messages to the user)

3. There is no argument about consistency, because it's already
   inconsistent, and consistently writing broken files by default is
   not a worthy goal

4. It's trivial to do the right thing
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avformat/matroskaenc: Accept time base hint

2017-01-14 Thread Michael Niedermayer
On Tue, Dec 27, 2016 at 09:47:47PM -0800, Michael Bradshaw wrote:
> From: Michael Bradshaw 
> 
> Signed-off-by: Michael Bradshaw 
> ---
>  libavformat/matroskaenc.c | 38 +++---
>  1 file changed, 31 insertions(+), 7 deletions(-)
> 
> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
> index 827d755..2c2c930 100644
> --- a/libavformat/matroskaenc.c
> +++ b/libavformat/matroskaenc.c
> @@ -117,6 +117,7 @@ typedef struct mkv_attachments {
>  typedef struct MatroskaMuxContext {
>  const AVClass  *class;
>  int mode;
> +int timecode_scale;
>  AVIOContext   *dyn_bc;
>  AVIOContext *tags_bc;
>  ebml_master tags;
> @@ -1757,7 +1758,7 @@ static int mkv_write_header(AVFormatContext *s)
>  return ret;
>  pb = mkv->info_bc;
>  
> -put_ebml_uint(pb, MATROSKA_ID_TIMECODESCALE, 100);
> +put_ebml_uint(pb, MATROSKA_ID_TIMECODESCALE, mkv->timecode_scale);
>  if ((tag = av_dict_get(s->metadata, "title", NULL, 0)))
>  put_ebml_string(pb, MATROSKA_ID_TITLE, tag->value);
>  if (!(s->flags & AVFMT_FLAG_BITEXACT)) {
> @@ -1799,11 +1800,11 @@ static int mkv_write_header(AVFormatContext *s)
>  int64_t metadata_duration = get_metadata_duration(s);
>  
>  if (s->duration > 0) {
> -int64_t scaledDuration = av_rescale(s->duration, 1000, 
> AV_TIME_BASE);
> +int64_t scaledDuration = av_rescale(s->duration, 10, 
> AV_TIME_BASE * (int64_t)mkv->timecode_scale);
>  put_ebml_float(pb, MATROSKA_ID_DURATION, scaledDuration);
>  av_log(s, AV_LOG_DEBUG, "Write early duration from recording 
> time = %" PRIu64 "\n", scaledDuration);
>  } else if (metadata_duration > 0) {
> -int64_t scaledDuration = av_rescale(metadata_duration, 1000, 
> AV_TIME_BASE);
> +int64_t scaledDuration = av_rescale(metadata_duration, 
> 10, AV_TIME_BASE * (int64_t)mkv->timecode_scale);
>  put_ebml_float(pb, MATROSKA_ID_DURATION, scaledDuration);
>  av_log(s, AV_LOG_DEBUG, "Write early duration from metadata = %" 
> PRIu64 "\n", scaledDuration);
>  } else {
> @@ -1864,12 +1865,12 @@ static int mkv_write_header(AVFormatContext *s)
>  // after 4k and on a keyframe
>  if (pb->seekable) {
>  if (mkv->cluster_time_limit < 0)
> -mkv->cluster_time_limit = 5000;
> +mkv->cluster_time_limit = av_rescale(5, 10, 
> mkv->timecode_scale);
>  if (mkv->cluster_size_limit < 0)
>  mkv->cluster_size_limit = 5 * 1024 * 1024;
>  } else {
>  if (mkv->cluster_time_limit < 0)
> -mkv->cluster_time_limit = 1000;
> +mkv->cluster_time_limit = 10 / mkv->timecode_scale;
>  if (mkv->cluster_size_limit < 0)
>  mkv->cluster_size_limit = 32 * 1024;
>  }
> @@ -2458,6 +2459,7 @@ static int mkv_query_codec(enum AVCodecID codec_id, int 
> std_compliance)
>  
>  static int mkv_init(struct AVFormatContext *s)
>  {
> +MatroskaMuxContext *mkv = s->priv_data;
>  int i;
>  
>  if (s->avoid_negative_ts < 0) {
> @@ -2465,9 +2467,31 @@ static int mkv_init(struct AVFormatContext *s)
>  s->internal->avoid_negative_ts_use_pts = 1;
>  }
>  
> +// ms precision is the de-facto standard timescale for mkv files
> +mkv->timecode_scale = 100;
> +
> +// If the user has supplied a desired time base, use it if possible
> +if (s->nb_streams > 0) {
> +  AVRational time_base = s->streams[0]->time_base;
> +  for (i = 1; i < s->nb_streams; i++) {

inconsistent indention


> +  if (time_base.num != s->streams[i]->time_base.num ||
> +  time_base.den != s->streams[i]->time_base.den) {
> +time_base = av_make_q(0, 0);
> +break;
> +  }
> +  }

This looks just at one stream, what if other streams have other
timebases ?
you could pick a common tb so that timestamps in any of the requested
ones can be represented. While this wont always be possible due to
bits per int constraint i dont think completely ignoring other streams
is safe.


> +  // Make sure the time base is valid, can losslessly be converted to
> +  // nanoseconds, and isn't longer than 1 second
> +  if (time_base.num > 0 &&
> +  time_base.den > 0 &&
> +  10 % time_base.den == 0 &&
> +  time_base.num <= time_base.den) {

> +  mkv->timecode_scale = (int)av_rescale(time_base.num, 10, 
> time_base.den);

assuming someone asks for 1001/24000 he would get something else
and something that is lower precission than what the default would
have been prior to this patch IIUC

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

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle


signature.asc
Description: Digital s

Re: [FFmpeg-devel] [PATCH] avformat/matroskaenc: Accept time base hint

2017-01-14 Thread Michael Niedermayer
On Fri, Jan 13, 2017 at 08:48:01AM -0800, Michael Bradshaw wrote:
> On Wed, Dec 28, 2016 at 5:03 AM, Michael Niedermayer  > wrote:
> 
> > On Tue, Dec 27, 2016 at 09:47:47PM -0800, Michael Bradshaw wrote:
> > > From: Michael Bradshaw 
> > >
> > > Signed-off-by: Michael Bradshaw 
> > > ---
> > >  libavformat/matroskaenc.c | 38 +++---
> > >  1 file changed, 31 insertions(+), 7 deletions(-)
> >
> > breaks fate
> > [...]
> 
> 
> I've looked into this and it's expected behavior. -codec copy is also
> copying timing information (including time base), and with this patch the
> Matroska/WebM muxers are respecting that.
> 

> I could update the fate files, but before doing that I'd like to ensure
> that this change in behavior for -codec copy is correct and desirable.

i think the patch is a good idea it has some other issues though (see
the other mail in this thread i just posted)

thx

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

Avoid a single point of failure, be that a person or equipment.


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


[FFmpeg-devel] [PATCH] avcodec: add SIPR parser

2017-01-14 Thread Paul B Mahol
Fixes #2056.

Signed-off-by: Paul B Mahol 
---
 libavcodec/Makefile  |  1 +
 libavcodec/allcodecs.c   |  1 +
 libavcodec/sipr_parser.c | 74 
 libavformat/aadec.c  |  2 ++
 libavformat/rmdec.c  |  1 +
 5 files changed, 79 insertions(+)
 create mode 100644 libavcodec/sipr_parser.c

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 4494f26..f5735d0 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -943,6 +943,7 @@ OBJS-$(CONFIG_PNG_PARSER)  += png_parser.o
 OBJS-$(CONFIG_PNM_PARSER)  += pnm_parser.o pnm.o
 OBJS-$(CONFIG_RV30_PARSER) += rv34_parser.o
 OBJS-$(CONFIG_RV40_PARSER) += rv34_parser.o
+OBJS-$(CONFIG_SIPR_PARSER) += sipr_parser.o
 OBJS-$(CONFIG_TAK_PARSER)  += tak_parser.o tak.o
 OBJS-$(CONFIG_VC1_PARSER)  += vc1_parser.o vc1.o vc1data.o  \
   simple_idct.o wmv2data.o
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 22a93f3..703c552 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -702,6 +702,7 @@ void avcodec_register_all(void)
 REGISTER_PARSER(PNM,pnm);
 REGISTER_PARSER(RV30,   rv30);
 REGISTER_PARSER(RV40,   rv40);
+REGISTER_PARSER(SIPR,   sipr);
 REGISTER_PARSER(TAK,tak);
 REGISTER_PARSER(VC1,vc1);
 REGISTER_PARSER(VORBIS, vorbis);
diff --git a/libavcodec/sipr_parser.c b/libavcodec/sipr_parser.c
new file mode 100644
index 000..fba25e1
--- /dev/null
+++ b/libavcodec/sipr_parser.c
@@ -0,0 +1,74 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+/**
+ * @file
+ * Sipr audio parser
+ */
+
+#include "parser.h"
+
+typedef struct SiprParserContext{
+ParseContext pc;
+} SiprParserContext;
+
+static int sipr_split(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
+{
+int next;
+
+switch (avctx->block_align) {
+case 20:
+case 19:
+case 29:
+case 37: next = avctx->block_align; break;
+default:
+if  (avctx->bit_rate > 12200) next = 20;
+else if (avctx->bit_rate > 7500 ) next = 19;
+else if (avctx->bit_rate > 5750 ) next = 29;
+else  next = 37;
+}
+
+return FFMIN(next, buf_size);
+}
+
+static int sipr_parse(AVCodecParserContext *s1, AVCodecContext *avctx,
+  const uint8_t **poutbuf, int *poutbuf_size,
+  const uint8_t *buf, int buf_size)
+{
+SiprParserContext *s = s1->priv_data;
+ParseContext *pc = &s->pc;
+int next;
+
+next = sipr_split(avctx, buf, buf_size);
+if (ff_combine_frame(pc, next, &buf, &buf_size) < 0) {
+*poutbuf = NULL;
+*poutbuf_size = 0;
+return buf_size;
+}
+
+*poutbuf  = buf;
+*poutbuf_size = buf_size;
+return next;
+}
+
+AVCodecParser ff_sipr_parser = {
+.codec_ids  = { AV_CODEC_ID_SIPR },
+.priv_data_size = sizeof(SiprParserContext),
+.parser_parse   = sipr_parse,
+.parser_close   = ff_parse_close,
+};
diff --git a/libavformat/aadec.c b/libavformat/aadec.c
index cf5f3d1..0f4ec20 100644
--- a/libavformat/aadec.c
+++ b/libavformat/aadec.c
@@ -184,11 +184,13 @@ static int aa_read_header(AVFormatContext *s)
 st->codecpar->block_align = 19;
 st->codecpar->channels = 1;
 st->codecpar->sample_rate = 8500;
+st->need_parsing = AVSTREAM_PARSE_FULL_RAW;
 } else if (!strcmp(codec_name, "acelp16")) {
 st->codecpar->codec_id = AV_CODEC_ID_SIPR;
 st->codecpar->block_align = 20;
 st->codecpar->channels = 1;
 st->codecpar->sample_rate = 16000;
+st->need_parsing = AVSTREAM_PARSE_FULL_RAW;
 }
 
 /* determine, and jump to audio start offset */
diff --git a/libavformat/rmdec.c b/libavformat/rmdec.c
index 4d56529..c803588 100644
--- a/libavformat/rmdec.c
+++ b/libavformat/rmdec.c
@@ -236,6 +236,7 @@ static int rm_read_audio_stream_info(AVFormatContext *s, 
AVIOContext *pb,
 return -1;
 }
 st->codecpar->block_align = ff_sipr_subpk_size[flavor];
+st-

Re: [FFmpeg-devel] AVFilter for watermarking DCTELEM MPEG2 blocks

2017-01-14 Thread Jesse Liu
hello royger!

I’d love to read the realize of the AVFilter for watermarking DCTELEM MPEG2 
blocks source, how can I get the code, thanks a lot!

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


Re: [FFmpeg-devel] [PATCH] avformat/matroskaenc: Accept time base hint

2017-01-14 Thread Michael Bradshaw
On Sat, Jan 14, 2017 at 3:57 AM, Michael Niedermayer 
wrote:

> On Tue, Dec 27, 2016 at 09:47:47PM -0800, Michael Bradshaw wrote:
> > +// ms precision is the de-facto standard timescale for mkv files
> > +mkv->timecode_scale = 100;
> > +
> > +// If the user has supplied a desired time base, use it if possible
> > +if (s->nb_streams > 0) {
> > +  AVRational time_base = s->streams[0]->time_base;
> > +  for (i = 1; i < s->nb_streams; i++) {
>
> inconsistent indention
>

Fixed.

> +  if (time_base.num != s->streams[i]->time_base.num ||
> > +  time_base.den != s->streams[i]->time_base.den) {
> > +time_base = av_make_q(0, 0);
> > +break;
> > +  }
> > +  }
>
> This looks just at one stream, what if other streams have other
> timebases ?
> you could pick a common tb so that timestamps in any of the requested
> ones can be represented. While this wont always be possible due to
> bits per int constraint i dont think completely ignoring other streams
> is safe.
>

The other streams aren't completely ignored. They're checked to make sure
they all have the same time base (and if they don't, it falls back to the
default 1/1000 time base).

> +  // Make sure the time base is valid, can losslessly be converted to
> > +  // nanoseconds, and isn't longer than 1 second
> > +  if (time_base.num > 0 &&
> > +  time_base.den > 0 &&
> > +  10 % time_base.den == 0 &&
> > +  time_base.num <= time_base.den) {
>
> > +  mkv->timecode_scale = (int)av_rescale(time_base.num,
> 10, time_base.den);
>
> assuming someone asks for 1001/24000 he would get something else
> and something that is lower precission than what the default would
> have been prior to this patch IIUC


Before this patch the time base was always set to 1/1000, which is what
this patch defaults to if the streams don't have a common time base that
can be losslessly converted to nanoseconds, so this patch should never make
things less precise than before.

I have mixed feelings on changing this patch so that it picks a common time
base between multiple streams or truncates a repeating decimal. Matroska
only stores timestamps as multiples of nanoseconds, and I fear
automatically computing a time base might push the time base closer and
closer to 1/10. Using a tiny timebase like that causes extra
chunking in Matroska, as each block in a Cluster only stores its timestamp
as a 16-bit int.

I'd rather my other patch[1] be used to let the user request a specific
time base than trying to auto-compute a time base.

I've updated the patch to fix the indentation as well as ignore the time
base hint for WebM, since WebM muxers are required to use a time base of
1/1000[2]. Apologies for the gmail attachment; I'm still figuring out git
send-email.

[1]: http://ffmpeg.org/pipermail/ffmpeg-devel/2016-December/205017.html
[2]: http://www.webmproject.org/docs/container/#muxer-guidelines


0001-avformat-matroskaenc-Accept-time-base-hint.patch
Description: Binary data
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH]lavf/rtmpproto: Make bytes_read variables 64bit.

2017-01-14 Thread Carl Eugen Hoyos
Hi!

Attached patch is meant to fix ticket #5836, completely untested.

Please comment, Carl Eugen
From b6d895a9bf1a4ed9d1660d99043b8edc5cc8b169 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos 
Date: Sat, 14 Jan 2017 19:17:09 +0100
Subject: [PATCH] lavf/rtmpproto: Make bytes_read variables 64bit.

When bytes_read overflowed, last_bytes_read did not yet overflow
and no bytes-read report was created leading to a timeout.

Analyzed-by: Thomas Bernhard

Fixes ticket #5836.
---
 libavformat/rtmpproto.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/rtmpproto.c b/libavformat/rtmpproto.c
index b118b4e..5d7ad79 100644
--- a/libavformat/rtmpproto.c
+++ b/libavformat/rtmpproto.c
@@ -94,8 +94,8 @@ typedef struct RTMPContext {
 int   flv_nb_packets; ///< number of flv packets 
published
 RTMPPacketout_pkt;///< rtmp packet, created from 
flv a/v or metadata (for output)
 uint32_t  client_report_size; ///< number of bytes after which 
client should report to server
-uint32_t  bytes_read; ///< number of bytes read from 
server
-uint32_t  last_bytes_read;///< number of bytes read last 
reported to server
+uint64_t  bytes_read; ///< number of bytes read from 
server
+uint64_t  last_bytes_read;///< number of bytes read last 
reported to server
 uint32_t  last_timestamp; ///< last timestamp received in 
a packet
 int   skip_bytes; ///< number of bytes to skip 
from the input FLV stream in the next write call
 int   has_audio;  ///< presence of audio data
-- 
1.7.10.4

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


Re: [FFmpeg-devel] [PATCH] ffmpeg: Add -time_base option to hint the time base

2017-01-14 Thread Michael Niedermayer
On Tue, Dec 27, 2016 at 10:05:35PM -0800, Michael Bradshaw wrote:
> From: Michael Bradshaw 
> 
> Signed-off-by: Michael Bradshaw 
> ---
>  ffmpeg.c |  6 --
>  ffmpeg.h |  2 ++
>  ffmpeg_opt.c | 16 +++-
>  3 files changed, 21 insertions(+), 3 deletions(-)

applied

thx

[...]
-- 
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 01/13] aarch64: vp9: use alternative returns in the core loop filter function

2017-01-14 Thread Michael Niedermayer
On Tue, Jan 10, 2017 at 12:15:07AM +0200, Martin Storsjö wrote:
> From: Janne Grunau 
> 
> Since aarch64 has enough free general purpose registers use them to
> branch to the appropiate storage code. 1-2 cycles faster for the
> functions using loop_filter 8/16, ... on a cortex-a53. Mixed results
> (up to 2 cycles faster/slower) on a cortex-a57.
> 
> This is cherrypicked from libav commit
> d7595de0b25e7064fd9e06dea5d0425536cef6dc.
> ---
>  libavcodec/aarch64/vp9lpf_neon.S | 48 
> +++-
>  1 file changed, 18 insertions(+), 30 deletions(-)

patchset applied

[...]
-- 
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] [FFmpeg-cvslog] ffmpeg: Add -time_base option to hint the time base

2017-01-14 Thread Clément Bœsch
On Sat, Jan 14, 2017 at 08:04:48PM +0100, Michael Bradshaw wrote:
> ffmpeg | branch: master | Michael Bradshaw  | Tue Dec 27 
> 22:05:35 2016 -0800| [3ac46a0a62386a52e38c066379ff36b5038dd4d0] | committer: 
> Michael Niedermayer
> 
> ffmpeg: Add -time_base option to hint the time base
> 
> Signed-off-by: Michael Bradshaw 
> Signed-off-by: Michael Niedermayer 
> 

erm. We have at least a codec option with that same name. How much does it
conflict with this?

Can we have some FATE test too? We have a lot of nasty hack wrt time
bases, and it's likely to break in a merge.

-- 
Clément B.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] AVFilter for watermarking DCTELEM MPEG2 blocks

2017-01-14 Thread Moritz Barsnick
On Sun, Jan 15, 2017 at 01:15:59 +0800, Jesse Liu wrote:
> hello royger!
> 
> I’d love to read the realize of the AVFilter for watermarking DCTELEM MPEG2 
> blocks source, how can I get the code, thanks a lot!

Since Roger Pau Monné may not be on the mailing list anymore, you would
need to mail him directly. But, alas, I have found his patch (which
isn't available on the mailing list archives anymore) with archive.org:

http://web.archive.org/web/2011081636/http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101117/97aaa245/attachment.obj

Good luck applying it to current ffmpeg. ;-)

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


Re: [FFmpeg-devel] [FFmpeg-cvslog] ffmpeg: Add -time_base option to hint the time base

2017-01-14 Thread Michael Bradshaw
On Sat, Jan 14, 2017 at 1:12 PM, Clément Bœsch  wrote:
>
> erm. We have at least a codec option with that same name. How much does it
> conflict with this?
>

The only use of a "time_base" option I'm aware of is in buffer/abuffer in
libavfilter. Is there another one somewhere else?

Can we have some FATE test too? We have a lot of nasty hack wrt time
> bases, and it's likely to break in a merge.


I'll work on adding a fate test.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [FFmpeg-cvslog] ffmpeg: Add -time_base option to hint the time base

2017-01-14 Thread Clément Bœsch
On Sat, Jan 14, 2017 at 01:46:02PM -0800, Michael Bradshaw wrote:
> On Sat, Jan 14, 2017 at 1:12 PM, Clément Bœsch  wrote:
> >
> > erm. We have at least a codec option with that same name. How much does it
> > conflict with this?
> >
> 
> The only use of a "time_base" option I'm aware of is in buffer/abuffer in
> libavfilter. Is there another one somewhere else?
> 

libavcodec/options_table.h:{"time_base", NULL, OFFSET(time_base), 
AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, INT_MAX},

-- 
Clément B.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] AVFilter for watermarking DCTELEM MPEG2 blocks

2017-01-14 Thread Jesse Liu
Hi, Moritz. It’s great help for me, thanks a lot !

> On 15 Jan 2017, at 5:16 AM, Moritz Barsnick  wrote:
> 
> On Sun, Jan 15, 2017 at 01:15:59 +0800, Jesse Liu wrote:
>> hello royger!
>> 
>> I’d love to read the realize of the AVFilter for watermarking DCTELEM MPEG2 
>> blocks source, how can I get the code, thanks a lot!
> 
> Since Roger Pau Monné may not be on the mailing list anymore, you would
> need to mail him directly. But, alas, I have found his patch (which
> isn't available on the mailing list archives anymore) with archive.org:
> 
> http://web.archive.org/web/2011081636/http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101117/97aaa245/attachment.obj
> 
> Good luck applying it to current ffmpeg. ;-)
> 
> Cheers,
> Moritz
> ___
> 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