Re: [FFmpeg-devel] [PATCH]libavformat/http: fix http error eof

2017-05-23 Thread Steven Liu
2017-05-23 14:01 GMT+08:00 raymond zheng :

> You can close http link on your http server,  and check ffurl_read result.
>
> Besides, this problem was caused by commit:
> 2a05c8f813de6f2278827734bf8102291e7484aa
>
ping Ronald S. Bultje

>
> 2017-05-23 13:37 GMT+08:00 Steven Liu :
>
> > 2017-05-23 10:47 GMT+08:00 raymond zheng :
> >
> > > 1. An exception occurred in the  CDN edge server, that will lead to
> close
> > > the http connection.
> > >
> > > 2. Because http is disconnected, so ffurl_read will return 0
> > >
> > > 3. Avformat will consider I/O is eof
> > >
> > > 4. Right now http is actually disconnect abnormally, it should return
> to
> > > ERROR, rather than return to EOF.
> > >
> > Can you reproduce it? and provide me try to reproduce it.
> > I cannot sure if apply this patch will influence other people require
> > function, for example: retry or reconnect again.
> >
> >
> > > 2017-05-22 23:05 GMT+08:00 Steven Liu :
> > >
> > > > 2017-05-22 22:36 GMT+08:00 raymond zheng  >:
> > > >
> > > > > I don't think it need a timeout event to disconnect the link,
> because
> > > > > when ffurl_read
> > > > > return to 0, it means the link disconnect. If s->off < target_end,
> it
> > > > > means AVERROR,
> > > > > otherwise, it's normal eof.
> > > > > I don't use chunked in HTTP, so s->chunksize should be initial
> value,
> > > and
> > > > > shouldn't be changed or even decreased.
> > > > >
> > > > > What will happen if not apply this patch? can you reproduce the bug
> > > step
> > > > by step.
> > > >
> > > > > 2017-05-22 18:51 GMT+08:00 Steven Liu :
> > > > >
> > > > > > 2017-05-18 15:19 GMT+08:00 raymond zheng <
> > raymondzheng1...@gmail.com
> > > >:
> > > > > >
> > > > > > > Hi:
> > > > > > > I find an issue about http. I don't use chunked, so
> > > s->chunksize
> > > > > will
> > > > > > > be set as UINT64_MAX when http open, but because of "if
> > > > (s->chunksize >
> > > > > > 0)
> > > > > > > s->chunksize -= len;" then chunksize will not be UINT64_MAX.
> > > > > > >
> > > > > > > If ffurl_read return to 0, s->off < target_end,
> http_buf_read
> > > > will
> > > > > > > return to 0, then this will lead to eof, so this is incorrect,
> > and
> > > > > > > http_buf_read should return to AVERROR(EIO).
> > > > > > >
> > > > > >
> > > > > > if connect to CDN http edge server, this maybe incorrect.  or
> need
> > a
> > > > > > timeout  event to disconnect the link.
> > > > > >
> > > > > > >
> > > > > > > ___
> > > > > > > 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 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 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 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


Re: [FFmpeg-devel] question on mosiac video issues -shortest

2017-05-23 Thread Moritz Barsnick
On Sun, May 21, 2017 at 23:36:07 +, Kyle Douglas wrote:
> When using the param -shortest appears to have no impact on my ffmpeg
> command using multiple inputs as source. One is a looping slate video that
> stops and it seems to stop all other inputs when making a mp4 archive. Any
> suggestions on what I can do as using another param or output syntax?

Please read https://www.ffmpeg.org/contact.html . This sort of question
belongs on the ffmpeg-users mailing list. 

> 3 examples of syntax i used
>  [top][middle][bottom]vstack=inputs=3:shortest=1"\
> 
>  [top][middle][bottom]vstack=inputs=3:shortest=0"\
> 
> -shortest  videos/output.mp4 -y

When asking on that list, please provide the actual full ffmpeg command
line, and the command's complete, uncut console output. (There is a lot
of useful information in that output - don't keep it secret from people
trying to help you.)

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


[FFmpeg-devel] [PATCH] lavc/mpegvideo_enc: allow to force low_delay by increasing strict_std_compliance

2017-05-23 Thread Stefano Sabatini
Forcing low_delay can be useful, even if not officially supported.
---
 libavcodec/mpegvideo_enc.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index db241c8..1123788 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -671,9 +671,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
 }
 
 if (s->avctx->flags & AV_CODEC_FLAG_LOW_DELAY) {
-if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO) {
+if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO &&
+s->strict_std_compliance >= FF_COMPLIANCE_NORMAL) {
 av_log(avctx, AV_LOG_ERROR,
-  "low delay forcing is only available for mpeg2\n");
+  "low delay forcing is only available for mpeg2, increase 
strict_std_compliance to force it\n");
 return -1;
 }
 if (s->max_b_frames != 0) {
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH] lavc/mpegvideo_enc: allow to force low_delay by increasing strict_std_compliance

2017-05-23 Thread Steven Liu
2017-05-23 18:28 GMT+08:00 Stefano Sabatini :

> Forcing low_delay can be useful, even if not officially supported.
> ---
>  libavcodec/mpegvideo_enc.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
> index db241c8..1123788 100644
> --- a/libavcodec/mpegvideo_enc.c
> +++ b/libavcodec/mpegvideo_enc.c
> @@ -671,9 +671,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
>  }
>
>  if (s->avctx->flags & AV_CODEC_FLAG_LOW_DELAY) {
> -if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO) {
> +if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO &&
> +s->strict_std_compliance >= FF_COMPLIANCE_NORMAL) {
>  av_log(avctx, AV_LOG_ERROR,
> -  "low delay forcing is only available for mpeg2\n");
> +  "low delay forcing is only available for mpeg2,
> increase strict_std_compliance to force it\n");
>  return -1;
>  }
>  if (s->max_b_frames != 0) {
> --
> 1.9.1
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


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


[FFmpeg-devel] [PATCH] examples/encode_video: add log

2017-05-23 Thread Stefano Sabatini
This helps to visualize how the send/receive API works.
---
 doc/examples/encode_video.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/examples/encode_video.c b/doc/examples/encode_video.c
index d2075c1..107bea2 100644
--- a/doc/examples/encode_video.c
+++ b/doc/examples/encode_video.c
@@ -42,6 +42,9 @@ static void encode(AVCodecContext *enc_ctx, AVFrame *frame, 
AVPacket *pkt,
 int ret;
 
 /* send the frame to the encoder */
+if (frame)
+printf("Send frame %3"PRId64"\n", frame->pts);
+
 ret = avcodec_send_frame(enc_ctx, frame);
 if (ret < 0) {
 fprintf(stderr, "Error sending a frame for encoding\n");
@@ -57,7 +60,7 @@ static void encode(AVCodecContext *enc_ctx, AVFrame *frame, 
AVPacket *pkt,
 exit(1);
 }
 
-printf("Write frame %3"PRId64" (size=%5d)\n", pkt->pts, pkt->size);
+printf("Write packet %3"PRId64" (size=%5d)\n", pkt->pts, pkt->size);
 fwrite(pkt->data, 1, pkt->size, outfile);
 av_packet_unref(pkt);
 }
-- 
1.9.1

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


[FFmpeg-devel] [PATCH] examples/encode_video: slightly improve error reporting

2017-05-23 Thread Stefano Sabatini
---
 doc/examples/encode_video.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/doc/examples/encode_video.c b/doc/examples/encode_video.c
index 107bea2..8cd1321 100644
--- a/doc/examples/encode_video.c
+++ b/doc/examples/encode_video.c
@@ -89,7 +89,7 @@ int main(int argc, char **argv)
 /* find the mpeg1video encoder */
 codec = avcodec_find_encoder_by_name(codec_name);
 if (!codec) {
-fprintf(stderr, "Codec not found\n");
+fprintf(stderr, "Codec '%s' not found\n", codec_name);
 exit(1);
 }
 
@@ -126,8 +126,9 @@ int main(int argc, char **argv)
 av_opt_set(c->priv_data, "preset", "slow", 0);
 
 /* open it */
-if (avcodec_open2(c, codec, NULL) < 0) {
-fprintf(stderr, "Could not open codec\n");
+ret = avcodec_open2(c, codec, NULL);
+if (ret < 0) {
+fprintf(stderr, "Could not open codec: %s\n", av_err2str(ret));
 exit(1);
 }
 
-- 
1.9.1

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


Re: [FFmpeg-devel] [PATCH 2/2] lavc/ffjni: add missing '\n'

2017-05-23 Thread Matthieu Bouron
On Mon, May 22, 2017 at 06:20:07PM +0200, Matthieu Bouron wrote:
> On Sun, May 21, 2017 at 06:56:42PM +0200, Matthieu Bouron wrote:
> > On Sun, May 21, 2017 at 06:36:10PM +0200, Carl Eugen Hoyos wrote:
> > > 2017-05-21 18:17 GMT+02:00 Matthieu Bouron :
> > > 
> > > > -av_log(log_ctx, AV_LOG_ERROR, "Failed to get the JNI 
> > > > environment
> > > > attached to this thread");
> > > > +av_log(log_ctx, AV_LOG_ERROR, "Failed to get the JNI 
> > > > environment
> > > > attached to this thread\n");
> > > 
> > > Please commit such fixes without sending them to -devel.
> > 
> > Does that include the 3 patches ?
> > 
> 
> I will push the patchset tomorrow if there is no objection (and backport
> it to the 3.3 release).

Patchset applied.

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


Re: [FFmpeg-devel] [PATCH 1/3] lavc/mediacodec_wrapper: fix local reference leaks

2017-05-23 Thread Matthieu Bouron
On Sun, May 21, 2017 at 06:15:29PM +0200, Matthieu Bouron wrote:
> ---
>  libavcodec/mediacodec_wrapper.c | 37 ++---
>  1 file changed, 26 insertions(+), 11 deletions(-)
> 
> diff --git a/libavcodec/mediacodec_wrapper.c b/libavcodec/mediacodec_wrapper.c
> index 43fbb511fd..5e1beed43a 100644
> --- a/libavcodec/mediacodec_wrapper.c
> +++ b/libavcodec/mediacodec_wrapper.c
> @@ -608,6 +608,7 @@ FFAMediaFormat *ff_AMediaFormat_new(void)
>  {
>  JNIEnv *env = NULL;
>  FFAMediaFormat *format = NULL;
> +jobject object = NULL;
>  
>  format = av_mallocz(sizeof(FFAMediaFormat));
>  if (!format) {
> @@ -625,23 +626,27 @@ FFAMediaFormat *ff_AMediaFormat_new(void)
>  goto fail;
>  }
>  
> -format->object = (*env)->NewObject(env, 
> format->jfields.mediaformat_class, format->jfields.init_id);
> -if (!format->object) {
> +object = (*env)->NewObject(env, format->jfields.mediaformat_class, 
> format->jfields.init_id);
> +if (!object) {
>  goto fail;
>  }
>  
> -format->object = (*env)->NewGlobalRef(env, format->object);
> +format->object = (*env)->NewGlobalRef(env, object);
>  if (!format->object) {
>  goto fail;
>  }
>  
> -return format;
>  fail:
> -ff_jni_reset_jfields(env, &format->jfields, jni_amediaformat_mapping, 1, 
> format);
> +if (object) {
> +(*env)->DeleteLocalRef(env, object);
> +}
>  
> -av_freep(&format);
> +if (!format->object) {
> +ff_jni_reset_jfields(env, &format->jfields, 
> jni_amediaformat_mapping, 1, format);
> +av_freep(&format);
> +}
>  
> -return NULL;
> +return format;
>  }
>  
>  static FFAMediaFormat *ff_AMediaFormat_newFromObject(void *object)
> @@ -1562,6 +1567,7 @@ uint8_t* ff_AMediaCodec_getInputBuffer(FFAMediaCodec* 
> codec, size_t idx, size_t
>  JNIEnv *env = NULL;
>  
>  jobject buffer = NULL;
> +jobject input_buffers = NULL;
>  
>  JNI_GET_ENV_OR_RETURN(env, codec, NULL);
>  
> @@ -1572,12 +1578,12 @@ uint8_t* ff_AMediaCodec_getInputBuffer(FFAMediaCodec* 
> codec, size_t idx, size_t
>  }
>  } else {
>  if (!codec->input_buffers) {
> -codec->input_buffers = (*env)->CallObjectMethod(env, 
> codec->object, codec->jfields.get_input_buffers_id);
> +input_buffers = (*env)->CallObjectMethod(env, codec->object, 
> codec->jfields.get_input_buffers_id);
>  if (ff_jni_exception_check(env, 1, codec) < 0) {
>  goto fail;
>  }
>  
> -codec->input_buffers = (*env)->NewGlobalRef(env, 
> codec->input_buffers);
> +codec->input_buffers = (*env)->NewGlobalRef(env, input_buffers);
>  if (ff_jni_exception_check(env, 1, codec) < 0) {
>  goto fail;
>  }
> @@ -1596,6 +1602,10 @@ fail:
>  (*env)->DeleteLocalRef(env, buffer);
>  }
>  
> +if (input_buffers) {
> +(*env)->DeleteLocalRef(env, input_buffers);
> +}
> +
>  return ret;
>  }
>  
> @@ -1605,6 +1615,7 @@ uint8_t* ff_AMediaCodec_getOutputBuffer(FFAMediaCodec* 
> codec, size_t idx, size_t
>  JNIEnv *env = NULL;
>  
>  jobject buffer = NULL;
> +jobject output_buffers = NULL;
>  
>  JNI_GET_ENV_OR_RETURN(env, codec, NULL);
>  
> @@ -1615,12 +1626,12 @@ uint8_t* 
> ff_AMediaCodec_getOutputBuffer(FFAMediaCodec* codec, size_t idx, size_t
>  }
>  } else {
>  if (!codec->output_buffers) {
> -codec->output_buffers = (*env)->CallObjectMethod(env, 
> codec->object, codec->jfields.get_output_buffers_id);
> +output_buffers = (*env)->CallObjectMethod(env, codec->object, 
> codec->jfields.get_output_buffers_id);
>  if (ff_jni_exception_check(env, 1, codec) < 0) {
>  goto fail;
>  }
>  
> -codec->output_buffers = (*env)->NewGlobalRef(env, 
> codec->output_buffers);
> +codec->output_buffers = (*env)->NewGlobalRef(env, 
> output_buffers);
>  if (ff_jni_exception_check(env, 1, codec) < 0) {
>  goto fail;
>  }
> @@ -1639,6 +1650,10 @@ fail:
>  (*env)->DeleteLocalRef(env, buffer);
>  }
>  
> +if (output_buffers) {
> +(*env)->DeleteLocalRef(env, output_buffers);
> +}
> +
>  return ret;
>  }
>  
> -- 
> 2.12.0
> 

Patch applied.

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


[FFmpeg-devel] [PATCH] lavf: consider codec timebase for framerate detection

2017-05-23 Thread wm4
Fixes detection of some TV sample as 24.5 FPS. With the patch applied,
it's detected as 25 FPS.
---
 libavformat/utils.c | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index fbd8b58ac2..778a82aeee 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3903,6 +3903,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
 st->info->codec_info_duration) {
 int best_fps  = 0;
 double best_error = 0.01;
+AVRational codec_frame_rate = av_inv_q(avctx->time_base);
 
 if (st->info->codec_info_duration>= INT64_MAX / 
st->time_base.num / 2||
 st->info->codec_info_duration_fields >= INT64_MAX / 
st->time_base.den ||
@@ -3924,6 +3925,27 @@ FF_ENABLE_DEPRECATION_WARNINGS
 best_fps   = std_fps.num;
 }
 }
+if (avctx->ticks_per_frame > 0)
+codec_frame_rate.num /= avctx->ticks_per_frame;
+for (j = 0; j < MAX_STD_TIMEBASES; j++) {
+AVRational std_fps = { get_std_framerate(j), 12 * 1001 };
+double error   = fabs(av_q2d(st->avg_frame_rate) /
+  av_q2d(std_fps) - 1);
+
+if (error < best_error) {
+best_error = error;
+best_fps   = std_fps.num;
+}
+
+if (codec_frame_rate.num > 0 && codec_frame_rate.den > 0) {
+error   = fabs(av_q2d(codec_frame_rate) /
+   av_q2d(std_fps) - 1);
+if (error < best_error) {
+best_error = error;
+best_fps   = std_fps.num;
+}
+}
+}
 if (best_fps)
 av_reduce(&st->avg_frame_rate.num, &st->avg_frame_rate.den,
   best_fps, 12 * 1001, INT_MAX);
-- 
2.11.0

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


Re: [FFmpeg-devel] [PATCH] lavf: consider codec timebase for framerate detection

2017-05-23 Thread wm4
On Tue, 23 May 2017 13:36:51 +0200
wm4  wrote:

> Fixes detection of some TV sample as 24.5 FPS. With the patch applied,
> it's detected as 25 FPS.
> ---
>  libavformat/utils.c | 22 ++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/libavformat/utils.c b/libavformat/utils.c
> index fbd8b58ac2..778a82aeee 100644
> --- a/libavformat/utils.c
> +++ b/libavformat/utils.c
> @@ -3903,6 +3903,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
>  st->info->codec_info_duration) {
>  int best_fps  = 0;
>  double best_error = 0.01;
> +AVRational codec_frame_rate = av_inv_q(avctx->time_base);
>  
>  if (st->info->codec_info_duration>= INT64_MAX / 
> st->time_base.num / 2||
>  st->info->codec_info_duration_fields >= INT64_MAX / 
> st->time_base.den ||
> @@ -3924,6 +3925,27 @@ FF_ENABLE_DEPRECATION_WARNINGS
>  best_fps   = std_fps.num;
>  }
>  }
> +if (avctx->ticks_per_frame > 0)
> +codec_frame_rate.num /= avctx->ticks_per_frame;
> +for (j = 0; j < MAX_STD_TIMEBASES; j++) {
> +AVRational std_fps = { get_std_framerate(j), 12 * 1001 };
> +double error   = fabs(av_q2d(st->avg_frame_rate) /
> +  av_q2d(std_fps) - 1);
> +
> +if (error < best_error) {
> +best_error = error;
> +best_fps   = std_fps.num;
> +}
> +
> +if (codec_frame_rate.num > 0 && codec_frame_rate.den > 
> 0) {
> +error   = fabs(av_q2d(codec_frame_rate) /
> +   av_q2d(std_fps) - 1);
> +if (error < best_error) {
> +best_error = error;
> +best_fps   = std_fps.num;
> +}
> +}
> +}
>  if (best_fps)
>  av_reduce(&st->avg_frame_rate.num, 
> &st->avg_frame_rate.den,
>best_fps, 12 * 1001, INT_MAX);

Oops, the patch got mangled. The loop above the additions should have
been replaced. This should compute the same result anyway, and I'll
remove it before pushing.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] lavc/mpegvideo_enc: allow to force low_delay by increasing strict_std_compliance

2017-05-23 Thread Moritz Barsnick
On Tue, May 23, 2017 at 12:28:48 +0200, Stefano Sabatini wrote:
> -if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO) {
> +if (s->codec_id != AV_CODEC_ID_MPEG2VIDEO &&
> +s->strict_std_compliance >= FF_COMPLIANCE_NORMAL) {
>  av_log(avctx, AV_LOG_ERROR,
> -  "low delay forcing is only available for mpeg2\n");
> +  "low delay forcing is only available for mpeg2, increase 
> strict_std_compliance to force it\n");

Mathematically speaking, you need to decrease, not increase it (so that
it makes s->strict_std_compliance >= FF_COMPLIANCE_NORMAL false).

#define FF_COMPLIANCE_VERY_STRICT   2 ///< Strictly conform to an older more 
strict version of the spec or reference software.
#define FF_COMPLIANCE_STRICT1 ///< Strictly conform to all the things 
in the spec no matter what consequences.
#define FF_COMPLIANCE_NORMAL0
#define FF_COMPLIANCE_UNOFFICIAL   -1 ///< Allow unofficial extensions
#define FF_COMPLIANCE_EXPERIMENTAL -2 ///< Allow nonstandardized experimental 
things.

The text is also confusing (while correct) in that you'll be "forcing
the forcing (of low delay)".

Perhaps something like:
"[...] set strict_std_compliance to 'unofficial' or lower in order to
allow it", or "enable it nevertheless". (I'm too lazy to check for
other wordings.)

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


Re: [FFmpeg-devel] question on mosiac video issues -shortest

2017-05-23 Thread Kieran Kunhya
On Tue, 23 May 2017 at 10:26 Moritz Barsnick  wrote:

> On Sun, May 21, 2017 at 23:36:07 +, Kyle Douglas wrote:
> > When using the param -shortest appears to have no impact on my ffmpeg
> > command using multiple inputs as source. One is a looping slate video
> that
> > stops and it seems to stop all other inputs when making a mp4 archive.
> Any
> > suggestions on what I can do as using another param or output syntax?
>

My understanding this is an intrinsic bug inside libavfilter in that a
mosaic is driven by incoming frames all being present. If one stream drops
then all of them fail.

But I am happy to for my understanding to be corrected...

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


[FFmpeg-devel] [PATCH 1/2] fate: add aac-al_sbr_ps_06_ur test

2017-05-23 Thread James Almer
Signed-off-by: James Almer 
---
Samples in
ftp://mpaudconf:adif2...@ftp.iis.fhg.de/mpeg4audio-conformance/compressedMp4/al_sbr_ps_04_new.mp4
http://0x0.st/ESa.s16 (should be renamed to al_sbr_ps_04_ur.s16)

The raw pcm reference was created with our decoder running the test with GEN=1 
and cpuflags 0
on x86_32 because i couldn't find the corresponding reference wav file in the 
above conformace
suite.
It should work fine on every target but better make sure before uploading it.

 tests/fate/aac.mak | 4 
 1 file changed, 4 insertions(+)

diff --git a/tests/fate/aac.mak b/tests/fate/aac.mak
index 2af66c2b23..1fbf7c955a 100644
--- a/tests/fate/aac.mak
+++ b/tests/fate/aac.mak
@@ -46,6 +46,10 @@ FATE_AAC += fate-aac-al_sbr_hq_sr_48_2_fsaac48
 fate-aac-al_sbr_hq_sr_48_2_fsaac48: CMD = pcm -i 
$(TARGET_SAMPLES)/aac/al_sbr_sr_48_2_fsaac48.mp4
 fate-aac-al_sbr_hq_sr_48_2_fsaac48: REF = 
$(SAMPLES)/aac/al_sbr_hq_sr_48_2_fsaac48.s16
 
+FATE_AAC += fate-aac-al_sbr_ps_04_ur
+fate-aac-al_sbr_ps_04_ur: CMD = pcm -i 
$(TARGET_SAMPLES)/aac/al_sbr_ps_04_new.mp4
+fate-aac-al_sbr_ps_04_ur: REF = $(SAMPLES)/aac/al_sbr_ps_04_ur.s16
+
 FATE_AAC += fate-aac-al_sbr_ps_06_ur
 fate-aac-al_sbr_ps_06_ur: CMD = pcm -i 
$(TARGET_SAMPLES)/aac/al_sbr_ps_06_new.mp4
 fate-aac-al_sbr_ps_06_ur: REF = $(SAMPLES)/aac/al_sbr_ps_06_ur.s16
-- 
2.12.1

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


[FFmpeg-devel] [PATCH 2/2] x86/aacps: add ff_ps_stereo_interpolate_ipdopd_sse3()

2017-05-23 Thread James Almer
About 2x faster than the c version.

Signed-off-by: James Almer 
---
 libavcodec/x86/aacpsdsp.asm| 51 ++
 libavcodec/x86/aacpsdsp_init.c |  4 
 2 files changed, 55 insertions(+)

diff --git a/libavcodec/x86/aacpsdsp.asm b/libavcodec/x86/aacpsdsp.asm
index e92cbbce08..bb8a7f5df0 100644
--- a/libavcodec/x86/aacpsdsp.asm
+++ b/libavcodec/x86/aacpsdsp.asm
@@ -117,6 +117,57 @@ align 16
 .ret:
 REP_RET
 
+;***
+;void ps_stereo_interpolate_ipdopd_sse3(float (*l)[2], float (*r)[2],
+;   float h[2][4], float h_step[2][4],
+;   int len);
+;***
+INIT_XMM sse3
+cglobal ps_stereo_interpolate_ipdopd, 5, 5, 10, l, r, h, h_step, n
+cmp  nd, 0
+jle .ret
+movaps   m0, [hq]
+movaps   m1, [hq+mmsize]
+%if ARCH_X86_64
+movaps   m8, [h_stepq]
+movaps   m9, [h_stepq+mmsize]
+%define  H_STEP0 m8
+%define  H_STEP1 m9
+%else
+%define  H_STEP0 [h_stepq]
+%define  H_STEP1 [h_stepq+mmsize]
+%endif
+shl  nd, 3
+add  lq, nq
+add  rq, nq
+neg  nq
+
+align 16
+.loop:
+addpsm0, H_STEP0
+addpsm1, H_STEP1
+movddup  m2, [lq+nq]
+movddup  m3, [rq+nq]
+shufps   m4, m2, m2, q2301
+shufps   m5, m3, m3, q2301
+unpcklps m6, m0, m0
+unpckhps m7, m0, m0
+mulpsm2, m6
+mulpsm3, m7
+unpcklps m6, m1, m1
+unpckhps m7, m1, m1
+mulpsm4, m6
+mulpsm5, m7
+addpsm2, m3
+addsubps m4, m5
+addsubps m2, m4
+movsd  [lq+nq], m2
+movhps [rq+nq], m2
+add  nq, 8
+jl .loop
+.ret:
+REP_RET
+
 ;***
 ;void ff_ps_hybrid_analysis_(float (*out)[2], float (*in)[2],
 ; const float (*filter)[8][2],
diff --git a/libavcodec/x86/aacpsdsp_init.c b/libavcodec/x86/aacpsdsp_init.c
index f6d6c039c3..767ae6588e 100644
--- a/libavcodec/x86/aacpsdsp_init.c
+++ b/libavcodec/x86/aacpsdsp_init.c
@@ -37,6 +37,9 @@ void ff_ps_hybrid_analysis_sse3(float (*out)[2], float 
(*in)[2],
 void ff_ps_stereo_interpolate_sse3(float (*l)[2], float (*r)[2],
float h[2][4], float h_step[2][4],
int len);
+void ff_ps_stereo_interpolate_ipdopd_sse3(float (*l)[2], float (*r)[2],
+  float h[2][4], float h_step[2][4],
+  int len);
 
 av_cold void ff_psdsp_init_x86(PSDSPContext *s)
 {
@@ -50,6 +53,7 @@ av_cold void ff_psdsp_init_x86(PSDSPContext *s)
 if (EXTERNAL_SSE3(cpu_flags)) {
 s->add_squares= ff_ps_add_squares_sse3;
 s->stereo_interpolate[0]  = ff_ps_stereo_interpolate_sse3;
+s->stereo_interpolate[1]  = ff_ps_stereo_interpolate_ipdopd_sse3;
 s->hybrid_analysis= ff_ps_hybrid_analysis_sse3;
 }
 }
-- 
2.12.1

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


[FFmpeg-devel] [PATCH] avcodec/sbrdsp_template: Fix: runtime error: signed integer overflow: 849815297 + 1315389781 cannot be represented in type 'int'

2017-05-23 Thread Michael Niedermayer
Fixes: 1770/clusterfuzz-testcase-minimized-5285511235108864

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 
---
 libavcodec/sbrdsp_template.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libavcodec/sbrdsp_template.c b/libavcodec/sbrdsp_template.c
index b649dfd7ee..897a3bbffb 100644
--- a/libavcodec/sbrdsp_template.c
+++ b/libavcodec/sbrdsp_template.c
@@ -33,8 +33,13 @@ static void sbr_qmf_deint_bfly_c(INTFLOAT *v, const INTFLOAT 
*src0, const INTFLO
 {
 int i;
 for (i = 0; i < 64; i++) {
-v[  i] = AAC_SRA_R((src0[i] - src1[63 - i]), 5);
-v[127 - i] = AAC_SRA_R((src0[i] + src1[63 - i]), 5);
+#if USE_FIXED
+v[  i] = (int)(0x10U + src0[i] - src1[63 - i]) >> 5;
+v[127 - i] = (int)(0x10U + src0[i] + src1[63 - i]) >> 5;
+#else
+v[  i] = src0[i] - src1[63 - i];
+v[127 - i] = src0[i] + src1[63 - i];
+#endif
 }
 }
 
-- 
2.13.0

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


[FFmpeg-devel] H.264 "shallow" recoding

2017-05-23 Thread Vladislav Gelfer
Hi All.

I'm working on a (sort of a) VOIP application for mobile with video
support. Most of modern smartphones are equipped with hardware H.264
encoder/decoder. However most of those support only a limited number of
encoding profiles. In particular I'm interested in SVC, which is not
supported usually. The simplest solution would be to use a software
encoder. But, obviously, it has its drawback.

Recently an idea came to me to create a hybrid hardware+software encoder.
Which consists of a hardware encoder, and a "shallow software recoder".

I know (in very general terms) that H.264 works in term of a macroblocks.
The encoded stream contains instructions for macroblocks: either full
retransmit (in a form of jpeg-like data), its motion parameters, or just
nothing.

A full software recoding would process such an encoded stream,
parse/realize it, and execute on its image data, then encode the resulting
image, which includes processing each macroblock, decision on strategy,
building motion vectors, and, finally, encoding all the instructions.

The idea is to do a "shallow" recoding. I though about parsing an incoming
encoded stream, but instead of executing its instructions - just use them
as a source for encoder, i.e. encode them within H.264 sophisticated
encoding scheme, with the needed precision (i.e. bitrate) and etc, without
actually analyzing the image, finding motion vectors and etc.

In essense, it's using decoder+encoder, but with a shortcut, so that the
actual image is not created by the decoder, and not analyzed by the encoder.

Does this sounds feasible? Was there an attempt to do something similar?

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


[FFmpeg-devel] [PATCH] udp: ignore UDP packets without payload

2017-05-23 Thread Daniel Kucera
Time to time some devices send UDP packets without payload.
ffmpeg previously exited on receiving such packet, this patch
fixes this behaviour.

Signed-off-by: Daniel Kucera 
---
 libavformat/udp.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/udp.c b/libavformat/udp.c
index 3835f989c4..28fa7b2354 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -1039,7 +1039,11 @@ static int udp_read(URLContext *h, uint8_t *buf, int 
size)
 av_fifo_generic_read(s->fifo, buf, avail, NULL);
 av_fifo_drain(s->fifo, AV_RL32(tmp) - avail);
 pthread_mutex_unlock(&s->mutex);
-return avail;
+if (avail > 0){
+return avail;
+} else {
+continue;
+}
 } else if(s->circular_buffer_error){
 int err = s->circular_buffer_error;
 pthread_mutex_unlock(&s->mutex);
-- 
2.11.0

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


[FFmpeg-devel] [PATCH] avutil/pixfmt: remove superfluous define

2017-05-23 Thread James Almer
It's an AVColorSpace value since 82ad9cbd32c873bced9adf4a2bb67dcda7294c61.

Signed-off-by: James Almer 
---
 libavutil/pixfmt.h | 2 --
 1 file changed, 2 deletions(-)

diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 3c915c6421..6b7eea8c4e 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -467,8 +467,6 @@ enum AVColorSpace {
 AVCOL_SPC_SMPTE2085   = 11, ///< SMPTE 2085, Y'D'zD'x
 AVCOL_SPC_NB///< Not part of ABI
 };
-#define AVCOL_SPC_YCGCO AVCOL_SPC_YCOCG
-
 
 /**
  * MPEG vs JPEG YUV range.
-- 
2.12.1

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


[FFmpeg-devel] [PATCH 1/2] avcodec/wavpack: Fix: runtime error: signed integer overflow: 3 * -2147483648 cannot be represented in type 'int'

2017-05-23 Thread Michael Niedermayer
Fixes: 1776/clusterfuzz-testcase-minimized-6191258231898112

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 
---
 libavcodec/wavpack.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index 74ca2d492c..1b13b676b6 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -542,9 +542,9 @@ static inline int wv_unpack_mono(WavpackFrameContext *s, 
GetBitContext *gb,
 t = s->decorr[i].value;
 if (t > 8) {
 if (t & 1)
-A =  2 * s->decorr[i].samplesA[0] - 
s->decorr[i].samplesA[1];
+A =  2U * s->decorr[i].samplesA[0] - 
s->decorr[i].samplesA[1];
 else
-A = (3 * s->decorr[i].samplesA[0] - 
s->decorr[i].samplesA[1]) >> 1;
+A = (int)(3U * s->decorr[i].samplesA[0] - 
s->decorr[i].samplesA[1]) >> 1;
 s->decorr[i].samplesA[1] = s->decorr[i].samplesA[0];
 j= 0;
 } else {
-- 
2.13.0

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


[FFmpeg-devel] [PATCH 2/2] avcodec/wavpack: Fix runtime error: left shift of negative value -14778

2017-05-23 Thread Michael Niedermayer
Fixes: 1778/clusterfuzz-testcase-minimized-5128953268273152

Found-by: continuous fuzzing process 
https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer 
---
 libavcodec/wavpack.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c
index 1b13b676b6..c26a2c8134 100644
--- a/libavcodec/wavpack.c
+++ b/libavcodec/wavpack.c
@@ -113,10 +113,10 @@ static int update_error_limit(WavpackFrameContext *ctx)
 if (ctx->stereo_in && ctx->hybrid_bitrate) {
 int balance = (sl[1] - sl[0] + br[1] + 1) >> 1;
 if (balance > br[0]) {
-br[1] = br[0] << 1;
+br[1] = br[0] * 2;
 br[0] = 0;
 } else if (-balance > br[0]) {
-br[0] <<= 1;
+br[0]  *= 2;
 br[1]   = 0;
 } else {
 br[1] = br[0] + balance;
-- 
2.13.0

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


Re: [FFmpeg-devel] [PATCH] examples/encode_video: slightly improve error reporting

2017-05-23 Thread Michael Niedermayer
On Tue, May 23, 2017 at 12:28:41PM +0200, Stefano Sabatini wrote:
> ---
>  doc/examples/encode_video.c | 7 ---
>  1 file changed, 4 insertions(+), 3 deletions(-)

LGTM

thx

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

Democracy is the form of government in which you can choose your dictator


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


Re: [FFmpeg-devel] [PATCH] examples/encode_video: add log

2017-05-23 Thread Michael Niedermayer
On Tue, May 23, 2017 at 12:28:33PM +0200, Stefano Sabatini wrote:
> This helps to visualize how the send/receive API works.
> ---
>  doc/examples/encode_video.c | 5 -
>  1 file changed, 4 insertions(+), 1 deletion(-)

LGTM

thx

[...]
-- 
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 1/2] fate: add aac-al_sbr_ps_06_ur test

2017-05-23 Thread Michael Niedermayer
On Tue, May 23, 2017 at 04:01:17PM -0300, James Almer wrote:
> Signed-off-by: James Almer 
> ---
> Samples in
> ftp://mpaudconf:adif2...@ftp.iis.fhg.de/mpeg4audio-conformance/compressedMp4/al_sbr_ps_04_new.mp4
> http://0x0.st/ESa.s16 (should be renamed to al_sbr_ps_04_ur.s16)

sample uploaded

thx

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


Re: [FFmpeg-devel] [PATCH/WIP] avcodec/x86: move simple_idct to external assembly

2017-05-23 Thread James Darnley
On 2017-05-18 19:13, Ronald S. Bultje wrote:
> - do you think a checkasm test makes sense? That would also make
> performance measuring easier.

The (I)DCT code seems to have its own test program in the fate-idct8x8
test.  That is built from libavcodec/tests/dct.c.  It even includes its
own benchmarking.

>> +; Simple IDCT MMX
>> +;
>> +; Copyright (c) 2001, 2002 Michael Niedermayer 
>>
> 
> Please add a line that you converted it from inline asm to x264asm syntax,
> we've done that in other places also.

Done.  I found a line in 2 other files and copied their wording.

>> +%macro DC_COND_IDCT 7
>> +movq   mm0, [blockq + %1] ; R4 R0  r4  r0
>> +movq   mm1, [blockq + %2] ; R6 R2  r6  r2
>> +movq   mm2, [blockq + %3] ; R3 R1  r3  r1
>> +movq   mm3, [blockq + %4] ; R7 R5  r7  r5
>>
> 
> Please use 4-space indentation.

I will change this along with fixing the alignment in places.

>> +%%9:
>> +; :: "r" (block), "r" (temp), "r" (coeffs)
>> +;NAMED_CONSTRAINTS_ADD(wm1010,d4)
>> +; : "%eax"
>> +%endmacro
>>
> 
> The inline asm bits (middle 3 lines) can be removed (yay!).

Thanks for reminding me about this left-over from writing.

> Rest is fine. I am assuming that the binary size will grow slightly because
> the idct is now inlined in the put/add (and duplicated between mmx/sse2),
> but no performance implication (or possibly slight improvement because of
> the inline). If that's correct, I'm OK with this.

About the size.  It shouldn't change that much.  The idct() function was
marked as inline so it should have been duplicated into the 5 other
functions.  I have copied the {ADD,PUT}_PIXELS_CLAMPED macros whereas
they used to call the functions in another asm file.  These are fairly
small, about 20 instructions or so, each.

> Are you planning to write an actual SSE2 version of the IDCT? (No pressure,
> just wondering.)

I do have that plan.  I first wrote a simple and naive (and slightly
pointless) sse2 version which just uses half the width of the xmm
registers.  Similar to what I've done elsewhere in h264.  A quick
benchmark by the program mentioned above did show that it was faster
despite needing a few pshufd to put things in the right places.  I'll
show that alongside an updated version of this patch, Coming Soon(TM).

However I am trying to work on a better sse2 version using the full
width of xmm registers (and maybe all 16 regs on x86-64 if I need to).
It is slow work and I'll probably have still more in-depth questions for
you (or anyone who can answer them) later on IRC.

P.S.  My apologies for sending this directly to you Ronald.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH]libavformat/http: fix http error eof

2017-05-23 Thread raymond zheng
ping Ronald S. Bultje

2017-05-23 15:02 GMT+08:00 Steven Liu :

> 2017-05-23 14:01 GMT+08:00 raymond zheng :
>
> > You can close http link on your http server,  and check ffurl_read
> result.
> >
> > Besides, this problem was caused by commit:
> > 2a05c8f813de6f2278827734bf8102291e7484aa
> >
> ping Ronald S. Bultje
>
> >
> > 2017-05-23 13:37 GMT+08:00 Steven Liu :
> >
> > > 2017-05-23 10:47 GMT+08:00 raymond zheng :
> > >
> > > > 1. An exception occurred in the  CDN edge server, that will lead to
> > close
> > > > the http connection.
> > > >
> > > > 2. Because http is disconnected, so ffurl_read will return 0
> > > >
> > > > 3. Avformat will consider I/O is eof
> > > >
> > > > 4. Right now http is actually disconnect abnormally, it should return
> > to
> > > > ERROR, rather than return to EOF.
> > > >
> > > Can you reproduce it? and provide me try to reproduce it.
> > > I cannot sure if apply this patch will influence other people require
> > > function, for example: retry or reconnect again.
> > >
> > >
> > > > 2017-05-22 23:05 GMT+08:00 Steven Liu :
> > > >
> > > > > 2017-05-22 22:36 GMT+08:00 raymond zheng <
> raymondzheng1...@gmail.com
> > >:
> > > > >
> > > > > > I don't think it need a timeout event to disconnect the link,
> > because
> > > > > > when ffurl_read
> > > > > > return to 0, it means the link disconnect. If s->off <
> target_end,
> > it
> > > > > > means AVERROR,
> > > > > > otherwise, it's normal eof.
> > > > > > I don't use chunked in HTTP, so s->chunksize should be initial
> > value,
> > > > and
> > > > > > shouldn't be changed or even decreased.
> > > > > >
> > > > > > What will happen if not apply this patch? can you reproduce the
> bug
> > > > step
> > > > > by step.
> > > > >
> > > > > > 2017-05-22 18:51 GMT+08:00 Steven Liu :
> > > > > >
> > > > > > > 2017-05-18 15:19 GMT+08:00 raymond zheng <
> > > raymondzheng1...@gmail.com
> > > > >:
> > > > > > >
> > > > > > > > Hi:
> > > > > > > > I find an issue about http. I don't use chunked, so
> > > > s->chunksize
> > > > > > will
> > > > > > > > be set as UINT64_MAX when http open, but because of "if
> > > > > (s->chunksize >
> > > > > > > 0)
> > > > > > > > s->chunksize -= len;" then chunksize will not be UINT64_MAX.
> > > > > > > >
> > > > > > > > If ffurl_read return to 0, s->off < target_end,
> > http_buf_read
> > > > > will
> > > > > > > > return to 0, then this will lead to eof, so this is
> incorrect,
> > > and
> > > > > > > > http_buf_read should return to AVERROR(EIO).
> > > > > > > >
> > > > > > >
> > > > > > > if connect to CDN http edge server, this maybe incorrect.  or
> > need
> > > a
> > > > > > > timeout  event to disconnect the link.
> > > > > > >
> > > > > > > >
> > > > > > > > ___
> > > > > > > > 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 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 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 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 mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] question on mosiac video issues -shortest

2017-05-23 Thread Kyle Douglas
I resolved my issue by setting input stream framrates today. Just didn't
get time to update this thread if others have an issue give that a try as
it was a easy fix to deploy on each input.


On Tue, May 23, 2017 at 07:13 Kieran Kunhya  wrote:

> On Tue, 23 May 2017 at 10:26 Moritz Barsnick  wrote:
>
> > On Sun, May 21, 2017 at 23:36:07 +, Kyle Douglas wrote:
> > > When using the param -shortest appears to have no impact on my ffmpeg
> > > command using multiple inputs as source. One is a looping slate video
> > that
> > > stops and it seems to stop all other inputs when making a mp4 archive.
> > Any
> > > suggestions on what I can do as using another param or output syntax?
> >
>
> My understanding this is an intrinsic bug inside libavfilter in that a
> mosaic is driven by incoming frames all being present. If one stream drops
> then all of them fail.
>
> But I am happy to for my understanding to be corrected...
>
> Kieran
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
-- 
*Kyle Douglas *| Application Support Engineer
Verizon Digital Media Services
*p: +1 310.302.3385 <(310)%3023385>   m: +1 213-269-1089 <(213)%2691089> e:*
 kyle.doug...@verizondigitalmedia.com
13031 W Jefferson Blvd. Building 900, Los Angeles, CA 90094 |
VerizonDigitalMedia.com
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/6] avformat/movenc: always check for new extradata on a packet

2017-05-23 Thread James Almer
On 5/18/2017 8:15 PM, James Almer wrote:
> On 4/13/2017 4:54 PM, James Almer wrote:
>> Don't just look at zero sized packets, and also check for AAC extradata
>> updates, in preparation for the following patches.
>>
>> Signed-off-by: James Almer 
>> ---
>>  libavformat/movenc.c | 34 ++
>>  1 file changed, 18 insertions(+), 16 deletions(-)
> 
> Ping for the set.

I'll push this set soon.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 1/4] avformat/movenc: add support for writing Mastering Display Metadata Box

2017-05-23 Thread James Almer
On 5/17/2017 9:49 PM, James Almer wrote:
> As defined in "VP Codec ISO Media File Format Binding v1.0"
> https://github.com/webmproject/vp9-dash/blob/master/VPCodecISOMediaFileFormatBinding.md
> 
> Signed-off-by: James Almer 
> ---
>  libavformat/movenc.c | 37 +
>  1 file changed, 37 insertions(+)

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