Re: [FFmpeg-devel] [PATCH]libavformat/http: fix http error eof
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
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
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 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
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
--- 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'
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
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
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
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
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
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
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()
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'
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
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
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
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'
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
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
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
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
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
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
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
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
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
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