[FFmpeg-cvslog] doc/developer: remove duplicate policies and fix error
ffmpeg | branch: master | Josh de Kock| Tue Oct 4 23:10:00 2016 +0100| [5173ffb27f6e3ad25c1b947cda2fb9e196a7918a] | committer: James Almer doc/developer: remove duplicate policies and fix error Fixes regression as of ee72b6d1 Reviewed-by: Michael Niedermayer Signed-off-by: Josh de Kock Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5173ffb27f6e3ad25c1b947cda2fb9e196a7918a --- doc/developer.texi | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index 3fcfe86..cf809b9 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -293,12 +293,7 @@ later on. Also if you have doubts about splitting or not splitting, do not hesitate to ask/discuss it on the developer mailing list. -@item API/ABI changes should be discussed before they are made. -Do not change behavior of the programs (renaming options etc) or public -API or ABI without first discussing it on the ffmpeg-devel mailing list. -Do not remove widely used functionality or features (redundant code can be removed). - -@item Ask before you change the build system (configure, etc). +@subheading Ask before you change the build system (configure, etc). Do not commit changes to the build system (Makefiles, configure script) which change behavior, defaults etc, without asking first. The same applies to compiler warning fixes, trivial looking fixes and to code @@ -307,7 +302,7 @@ the way we do. Send your changes as patches to the ffmpeg-devel mailing list, and if the code maintainers say OK, you may commit. This does not apply to files you wrote and/or maintain. -@item Cosmetic changes should be kept in separate patches. +@subheading Cosmetic changes should be kept in separate patches. We refuse source indentation and other cosmetic changes if they are mixed with functional changes, such commits will be rejected and removed. Every developer has his own indentation style, you should not change it. Of course @@ -356,15 +351,6 @@ Do not change behavior of the programs (renaming options etc) or public API or ABI without first discussing it on the ffmpeg-devel mailing list. Do not remove widely used functionality or features (redundant code can be removed). -@subheading Ask before you change the build system (configure, etc). -Do not commit changes to the build system (Makefiles, configure script) -which change behavior, defaults etc, without asking first. The same -applies to compiler warning fixes, trivial looking fixes and to code -maintained by other developers. We usually have a reason for doing things -the way we do. Send your changes as patches to the ffmpeg-devel mailing -list, and if the code maintainers say OK, you may commit. This does not -apply to files you wrote and/or maintain. - @subheading Remember to check if you need to bump versions for libav*. Depending on the change, you may need to change the version integer. Incrementing the first component means no backward compatibility to ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/avidec: Remove ancient assert
ffmpeg | branch: release/2.8 | Michael Niedermayer| Wed Sep 28 15:47:12 2016 +0200| [a772613100514842008271c8d0e5d63a6979f9bf] | committer: Michael Niedermayer avformat/avidec: Remove ancient assert This assert can with crafted files fail, a warning is already printed for this case. Fixes assertion failure Fixes:1/assert.avi Found-by: 连一汉 Signed-off-by: Michael Niedermayer (cherry picked from commit 14bac7e00d72eac687612d9b125e585011a56d4f) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a772613100514842008271c8d0e5d63a6979f9bf --- libavformat/avidec.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 97dbaef..0ffe990 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -1844,7 +1844,6 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, continue; //av_assert1(st2->codec->block_align); -av_assert0(fabs(av_q2d(st2->time_base) - ast2->scale / (double)ast2->rate) < av_q2d(st2->time_base) * 0.0001); index = av_index_search_timestamp(st2, av_rescale_q(timestamp, st->time_base, ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/ansi: Check dimensions
ffmpeg | branch: release/2.8 | Michael Niedermayer| Mon Sep 26 20:25:59 2016 +0200| [ab737ab31d4f126ed5a13a6a0498824141925108] | committer: Michael Niedermayer avcodec/ansi: Check dimensions Fixes: 1.avi Found-by: 连一汉 Signed-off-by: Michael Niedermayer (cherry picked from commit 69449da436169e7facaa6d1f3bcbc41cf6ce2754) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ab737ab31d4f126ed5a13a6a0498824141925108 --- libavcodec/ansi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c index 21d5ae1..98ea9e3 100644 --- a/libavcodec/ansi.c +++ b/libavcodec/ansi.c @@ -94,6 +94,9 @@ static av_cold int decode_init(AVCodecContext *avctx) int ret = ff_set_dimensions(avctx, 80 << 3, 25 << 4); if (ret < 0) return ret; +} else if (avctx->width % FONT_WIDTH || avctx->height % s->font_height) { +av_log(avctx, AV_LOG_ERROR, "Invalid dimensions %d %d\n", avctx->width, avctx->height); +return AVERROR(EINVAL); } return 0; } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/avidec: Check nb_streams in read_gab2_sub()
ffmpeg | branch: release/2.8 | Michael Niedermayer| Wed Sep 28 16:14:08 2016 +0200| [239f75d6c3dfbe4def80a12913d5737dd5a5bbcc] | committer: Michael Niedermayer avformat/avidec: Check nb_streams in read_gab2_sub() Fixes null pointer dereference Fixes: 1/null_point.avi Found-by: 连一汉 Signed-off-by: Michael Niedermayer (cherry picked from commit 2679ad4773aa356e7c3da5c68bc81f02a194617f) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=239f75d6c3dfbe4def80a12913d5737dd5a5bbcc --- libavformat/avidec.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 0ffe990..d2904ab 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -1090,6 +1090,8 @@ static int read_gab2_sub(AVFormatContext *s, AVStream *st, AVPacket *pkt) goto error; if (!avformat_open_input(>sub_ctx, "", sub_demuxer, NULL)) { +if (ast->sub_ctx->nb_streams != 1) +goto error; ff_read_packet(ast->sub_ctx, >sub_pkt); *st->codec = *ast->sub_ctx->streams[0]->codec; ast->sub_ctx->streams[0]->codec->extradata = NULL; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/cavsdsp: use av_clip_uint8() for idct
ffmpeg | branch: release/2.8 | Michael Niedermayer| Mon Sep 19 15:25:38 2016 +0200| [69b00a7fb6faa1b19b5687a5762ff4f94d5ff9aa] | committer: Michael Niedermayer avcodec/cavsdsp: use av_clip_uint8() for idct Fixes out of array read Fixes: 1.swf Found-by: 连一汉 Tested-by: 连一汉 Signed-off-by: Michael Niedermayer (cherry picked from commit 0e318f110bcd6bb8e7de9127f2747272e60f48d7) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=69b00a7fb6faa1b19b5687a5762ff4f94d5ff9aa --- libavcodec/cavsdsp.c | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/libavcodec/cavsdsp.c b/libavcodec/cavsdsp.c index 91f6d73..df9490a 100644 --- a/libavcodec/cavsdsp.c +++ b/libavcodec/cavsdsp.c @@ -188,7 +188,6 @@ static void cavs_filter_ch_c(uint8_t *d, int stride, int alpha, int beta, int tc static void cavs_idct8_add_c(uint8_t *dst, int16_t *block, int stride) { int i; int16_t (*src)[8] = (int16_t(*)[8])block; -const uint8_t *cm = ff_crop_tab + MAX_NEG_CROP; src[0][0] += 8; @@ -243,14 +242,14 @@ static void cavs_idct8_add_c(uint8_t *dst, int16_t *block, int stride) { const int b2 = a5 - a7; const int b3 = a4 - a6; -dst[i + 0*stride] = cm[ dst[i + 0*stride] + ((b0 + b4) >> 7)]; -dst[i + 1*stride] = cm[ dst[i + 1*stride] + ((b1 + b5) >> 7)]; -dst[i + 2*stride] = cm[ dst[i + 2*stride] + ((b2 + b6) >> 7)]; -dst[i + 3*stride] = cm[ dst[i + 3*stride] + ((b3 + b7) >> 7)]; -dst[i + 4*stride] = cm[ dst[i + 4*stride] + ((b3 - b7) >> 7)]; -dst[i + 5*stride] = cm[ dst[i + 5*stride] + ((b2 - b6) >> 7)]; -dst[i + 6*stride] = cm[ dst[i + 6*stride] + ((b1 - b5) >> 7)]; -dst[i + 7*stride] = cm[ dst[i + 7*stride] + ((b0 - b4) >> 7)]; +dst[i + 0*stride] = av_clip_uint8( dst[i + 0*stride] + ((b0 + b4) >> 7)); +dst[i + 1*stride] = av_clip_uint8( dst[i + 1*stride] + ((b1 + b5) >> 7)); +dst[i + 2*stride] = av_clip_uint8( dst[i + 2*stride] + ((b2 + b6) >> 7)); +dst[i + 3*stride] = av_clip_uint8( dst[i + 3*stride] + ((b3 + b7) >> 7)); +dst[i + 4*stride] = av_clip_uint8( dst[i + 4*stride] + ((b3 - b7) >> 7)); +dst[i + 5*stride] = av_clip_uint8( dst[i + 5*stride] + ((b2 - b6) >> 7)); +dst[i + 6*stride] = av_clip_uint8( dst[i + 6*stride] + ((b1 - b5) >> 7)); +dst[i + 7*stride] = av_clip_uint8( dst[i + 7*stride] + ((b0 - b4) >> 7)); } } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] videodsp: fix 1-byte overread in top/bottom READ_NUM_BYTES iterations.
ffmpeg | branch: release/2.8 | Ronald S. Bultje| Sat Jan 16 14:44:28 2016 -0500| [62b2b2195b7eac8570ef31b8306916a1a53a537b] | committer: Michael Niedermayer videodsp: fix 1-byte overread in top/bottom READ_NUM_BYTES iterations. This can overread (either before start or beyond end) of the buffer in Nx1 (i.e. height=1) images. Fixes mozilla bug 1240080. (cherry picked from commit 0f88b3f82fafd536979993aeaafcb11a22266dbd) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=62b2b2195b7eac8570ef31b8306916a1a53a537b --- libavcodec/x86/videodsp.asm | 21 ++--- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/libavcodec/x86/videodsp.asm b/libavcodec/x86/videodsp.asm index 48f5ac0..a807d3b 100644 --- a/libavcodec/x86/videodsp.asm +++ b/libavcodec/x86/videodsp.asm @@ -193,14 +193,10 @@ hvar_fn movvalb, [srcq+%2-1] %elif (%2-%%off) == 2 movvalw, [srcq+%2-2] -%elifidn %1, body +%else movvalb, [srcq+%2-1] -salvald, 16 +rorvald, 16 movvalw, [srcq+%2-3] -%elifidn %1, bottom -movd mm %+ %%mmx_idx, [srcq+%2-4] -%else ; top -movd mm %+ %%mmx_idx, [srcq+%2-3] %endif %endif ; (%2-%%off) >= 1 %endmacro ; READ_NUM_BYTES @@ -253,18 +249,13 @@ hvar_fn mov [dstq+%2-1], valb %elif (%2-%%off) == 2 mov [dstq+%2-2], valw -%elifidn %1, body -mov [dstq+%2-3], valw -sarvald, 16 -mov [dstq+%2-1], valb %else -movd vald, mm %+ %%mmx_idx -%ifidn %1, bottom -sarvald, 8 -%endif mov [dstq+%2-3], valw -sarvald, 16 +rorvald, 16 mov [dstq+%2-1], valb +%ifnidn %1, body +rorvald, 16 +%endif %endif %endif ; (%2-%%off) >= 1 %endmacro ; WRITE_NUM_BYTES ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavc/movtextdec.c: Avoid infinite loop on invalid data.
ffmpeg | branch: release/2.8 | Sasi Inguva| Tue Sep 27 19:23:20 2016 -0700| [ca216c71c77db13171717a69307a56c35f3246be] | committer: Michael Niedermayer lavc/movtextdec.c: Avoid infinite loop on invalid data. Signed-off-by: Sasi Inguva (cherry picked from commit 7e9e1b7070242a79fa6e3acd749d7fe76e39ea7b) Signed-off-by: Michael Niedermayer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ca216c71c77db13171717a69307a56c35f3246be --- libavcodec/movtextdec.c | 4 1 file changed, 4 insertions(+) diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c index 257d598..e7c3d49 100644 --- a/libavcodec/movtextdec.c +++ b/libavcodec/movtextdec.c @@ -476,6 +476,10 @@ static int mov_text_decode_frame(AVCodecContext *avctx, tsmb_type = AV_RB32(tsmb); tsmb += 4; +if (tsmb_size == 0) { + return AVERROR_INVALIDDATA; +} + if (tsmb_size == 1) { if (m->tracksize + 16 > avpkt->size) break; ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/matroskaenc: don' t reserve space for stream duration tags if the output is not seekable
ffmpeg | branch: master | James Almer| Sun Oct 2 12:57:39 2016 -0300| [b33369b6128a7c99fa7fa4686712ce8b8b5fef05] | committer: James Almer avformat/matroskaenc: don't reserve space for stream duration tags if the output is not seekable The durations are never written in that situation. Reviewed-by: Michael Niedermayer Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b33369b6128a7c99fa7fa4686712ce8b8b5fef05 --- libavformat/matroskaenc.c| 2 +- tests/fate/matroska.mak | 2 +- tests/fate/wavpack.mak | 4 ++-- tests/ref/fate/binsub-mksenc | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index c6a8dce..def8610 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -1377,7 +1377,7 @@ static int mkv_write_tags(AVFormatContext *s) if (ret < 0) return ret; } -if (!mkv->is_live) { +if (s->pb->seekable && !mkv->is_live) { for (i = 0; i < s->nb_streams; i++) { ebml_master tag_target; ebml_master tag; diff --git a/tests/fate/matroska.mak b/tests/fate/matroska.mak index 8e4a1e8..36cc779 100644 --- a/tests/fate/matroska.mak +++ b/tests/fate/matroska.mak @@ -4,6 +4,6 @@ FATE_MATROSKA-$(call DEMMUX, MATROSKA, MATROSKA) += fate-matroska-remux fate-matroska-remux: CMD = md5 -i $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-2pass-akiyo.webm -color_trc 4 -c:v copy -fflags +bitexact -strict -2 -f matroska fate-matroska-remux: CMP = oneline -fate-matroska-remux: REF = f08b20b90f158a4de5a02a52c25596b9 +fate-matroska-remux: REF = 1040692ffdfee2428954af79a7d5d155 FATE_SAMPLES_AVCONV += $(FATE_MATROSKA-yes) diff --git a/tests/fate/wavpack.mak b/tests/fate/wavpack.mak index a825a02..240f5ea 100644 --- a/tests/fate/wavpack.mak +++ b/tests/fate/wavpack.mak @@ -91,12 +91,12 @@ fate-wavpack-matroskamode: CMD = md5 -i $(TARGET_SAMPLES)/wavpack/special/matros FATE_WAVPACK-$(call DEMMUX, WV, MATROSKA) += fate-wavpack-matroska_mux-mono fate-wavpack-matroska_mux-mono: CMD = md5 -i $(TARGET_SAMPLES)/wavpack/num_channels/mono_16bit_int.wv -c copy -fflags +bitexact -f matroska fate-wavpack-matroska_mux-mono: CMP = oneline -fate-wavpack-matroska_mux-mono: REF = 4befcc41dab6c690a15d0c396c324468 +fate-wavpack-matroska_mux-mono: REF = a2987e2e51e01a35e47e7da13eb47a35 FATE_WAVPACK-$(call DEMMUX, WV, MATROSKA) += fate-wavpack-matroska_mux-61 fate-wavpack-matroska_mux-61: CMD = md5 -i $(TARGET_SAMPLES)/wavpack/num_channels/eva_2.22_6.1_16bit-partial.wv -c copy -fflags +bitexact -f matroska fate-wavpack-matroska_mux-61: CMP = oneline -fate-wavpack-matroska_mux-61: REF = 7fedbfc3b9ea7348761db664626c29f4 +fate-wavpack-matroska_mux-61: REF = ffba4ddea1ba71f7a5901d9ed1a267be FATE_SAMPLES_AVCONV += $(FATE_WAVPACK-yes) fate-wavpack: $(FATE_WAVPACK-yes) diff --git a/tests/ref/fate/binsub-mksenc b/tests/ref/fate/binsub-mksenc index 128ca31..c473497 100644 --- a/tests/ref/fate/binsub-mksenc +++ b/tests/ref/fate/binsub-mksenc @@ -1 +1 @@ -37a212f8d56ad71e7466d5129f88e756 +2dad5f63688ec613a04e94c8d4d167db ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avformat/matroska: write FlagInterlaced element in WebM
ffmpeg | branch: master | James Almer| Tue Oct 4 19:42:55 2016 -0300| [3cc9d6d3824f24df677437b891b66bf84eabc45b] | committer: James Almer avformat/matroska: write FlagInterlaced element in WebM It's listed as supported in both https://www.webmproject.org/docs/container/ and https://matroska.org/technical/specs/index.html Reviewed-by: Dave Rice Signed-off-by: James Almer > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3cc9d6d3824f24df677437b891b66bf84eabc45b --- libavformat/matroskaenc.c | 41 + 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index 3eeb09b..c6a8dce 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -791,7 +791,7 @@ static int mkv_write_video_color(AVIOContext *pb, AVCodecParameters *par, AVStre return 0; } -static void mkv_write_field_order(AVIOContext *pb, +static void mkv_write_field_order(AVIOContext *pb, int mode, enum AVFieldOrder field_order) { switch (field_order) { @@ -809,23 +809,25 @@ static void mkv_write_field_order(AVIOContext *pb, case AV_FIELD_BT: put_ebml_uint(pb, MATROSKA_ID_VIDEOFLAGINTERLACED, MATROSKA_VIDEO_INTERLACE_FLAG_INTERLACED); -switch (field_order) { -case AV_FIELD_TT: -put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, - MATROSKA_VIDEO_FIELDORDER_TT); -break; -case AV_FIELD_BB: - put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, - MATROSKA_VIDEO_FIELDORDER_BB); -break; -case AV_FIELD_TB: -put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, - MATROSKA_VIDEO_FIELDORDER_TB); -break; -case AV_FIELD_BT: -put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, - MATROSKA_VIDEO_FIELDORDER_BT); -break; +if (mode != MODE_WEBM) { +switch (field_order) { +case AV_FIELD_TT: +put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, + MATROSKA_VIDEO_FIELDORDER_TT); +break; +case AV_FIELD_BB: +put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, + MATROSKA_VIDEO_FIELDORDER_BB); +break; +case AV_FIELD_TB: +put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, + MATROSKA_VIDEO_FIELDORDER_TB); +break; +case AV_FIELD_BT: +put_ebml_uint(pb, MATROSKA_ID_VIDEOFIELDORDER, + MATROSKA_VIDEO_FIELDORDER_BT); +break; +} } } } @@ -1088,8 +1090,7 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv, put_ebml_uint (pb, MATROSKA_ID_VIDEOPIXELWIDTH , par->width); put_ebml_uint (pb, MATROSKA_ID_VIDEOPIXELHEIGHT, par->height); -if (mkv->mode != MODE_WEBM) -mkv_write_field_order(pb, par->field_order); +mkv_write_field_order(pb, mkv->mode, par->field_order); // check both side data and metadata for stereo information, // write the result to the bitstream if any is found ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] doc/developer: add sections for policies
ffmpeg | branch: master | Josh de Kock| Sat Oct 1 23:52:58 2016 +0100| [ee72b6d1874de4d52b366b0a2700f6c6514db8b3] | committer: Josh de Kock doc/developer: add sections for policies And sort policies into these sections. Reviewed-by: Michael Niedermayer Signed-off-by: Josh de Kock > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ee72b6d1874de4d52b366b0a2700f6c6514db8b3 --- doc/developer.texi | 79 -- 1 file changed, 47 insertions(+), 32 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index 2c8e552..3fcfe86 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -246,8 +246,8 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}: @section Development Policy -@enumerate -@item Licenses for patches must be compatible with FFmpeg. +@subsection Patches/Committing +@subheading Licenses for patches must be compatible with FFmpeg. Contributions should be licensed under the @uref{http://www.gnu.org/licenses/lgpl-2.1.html, LGPL 2.1}, including an "or any later version" clause, or, if you prefer @@ -260,7 +260,7 @@ preferred. If you add a new file, give it a proper license header. Do not copy and paste it from a random place, use an existing file as template. -@item You must not commit code which breaks FFmpeg! +@subheading You must not commit code which breaks FFmpeg! This means unfinished code which is enabled and breaks compilation, or compiles but does not work/breaks the regression tests. Code which is unfinished but disabled may be permitted under-circumstances, like @@ -268,7 +268,7 @@ missing samples or an implementation with a small subset of features. Always check the mailing list for any reviewers with issues and test FATE before you push. -@item Keep the main commit message short with an extended description below. +@subheading Keep the main commit message short with an extended description below. The commit message should have a short first line in the form of a @samp{topic: short description} as a header, separated by a newline from the body consisting of an explanation of why the change is necessary. @@ -276,14 +276,14 @@ If the commit fixes a known bug on the bug tracker, the commit message should include its bug ID. Referring to the issue on the bug tracker does not exempt you from writing an excerpt of the bug in the commit message. -@item Testing must be adequate but not excessive. +@subheading Testing must be adequate but not excessive. If it works for you, others, and passes FATE then it should be OK to commit it, provided it fits the other committing criteria. You should not worry about over-testing things. If your code has problems (portability, triggers compiler bugs, unusual environment etc) they will be reported and eventually fixed. -@item Do not commit unrelated changes together. +@subheading Do not commit unrelated changes together. They should be split them into self-contained pieces. Also do not forget that if part B depends on part A, but A does not depend on B, then A can and should be committed first and separate from B. Keeping changes well @@ -321,7 +321,7 @@ NOTE: If you had to put if()@{ .. @} over a large (> 5 lines) chunk of code, then either do NOT change the indentation of the inner part within (do not move it to the right)! or do so in a separate commit -@item Commit messages should always be filled out properly. +@subheading Commit messages should always be filled out properly. Always fill out the commit log message. Describe in a few lines what you changed and why. You can refer to mailing list postings if you fix a particular bug. Comments such as "fixed!" or "Changed it." are unacceptable. @@ -333,44 +333,39 @@ area changed: Short 1 line description details describing what and why and giving references. @end example -@item Credit the author of the patch. +@subheading Credit the author of the patch. Make sure the author of the commit is set correctly. (see git commit --author) If you apply a patch, send an answer to ffmpeg-devel (or wherever you got the patch from) saying that you applied the patch. -@item Complex patches should refer to discussion surrounding them. +@subheading Complex patches should refer to discussion surrounding them. When applying patches that have been discussed (at length) on the mailing list, reference the thread in the log message. -@item Always wait long enough before pushing changes +@subheading Always wait long enough before pushing changes Do NOT commit to code actively maintained by others without permission. Send a patch to ffmpeg-devel. If no one answers within a reasonable time-frame (12h for build failures and security fixes, 3 days small changes, 1 week for big patches) then commit your patch if you think it is OK. Also note, the maintainer can simply ask for more time to review! -@item
[FFmpeg-cvslog] doc/developer: reword some of the policies
ffmpeg | branch: master | Josh de Kock| Sat Oct 1 23:48:29 2016 +0100| [36fa3d880717dea0ef5bb7e7d0f6d32be57b96fa] | committer: Josh de Kock doc/developer: reword some of the policies Explicitly state that FATE should pass, and code should work for all reviewers who tested. Reviewed-by: Michael Niedermayer Signed-off-by: Josh de Kock > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=36fa3d880717dea0ef5bb7e7d0f6d32be57b96fa --- doc/developer.texi | 91 ++ 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/doc/developer.texi b/doc/developer.texi index 4d3a7ae..2c8e552 100644 --- a/doc/developer.texi +++ b/doc/developer.texi @@ -247,7 +247,7 @@ For Emacs, add these roughly equivalent lines to your @file{.emacs.d/init.el}: @section Development Policy @enumerate -@item +@item Licenses for patches must be compatible with FFmpeg. Contributions should be licensed under the @uref{http://www.gnu.org/licenses/lgpl-2.1.html, LGPL 2.1}, including an "or any later version" clause, or, if you prefer @@ -260,15 +260,15 @@ preferred. If you add a new file, give it a proper license header. Do not copy and paste it from a random place, use an existing file as template. -@item -You must not commit code which breaks FFmpeg! (Meaning unfinished but -enabled code which breaks compilation or compiles but does not work or -breaks the regression tests) -You can commit unfinished stuff (for testing etc), but it must be disabled -(#ifdef etc) by default so it does not interfere with other developers' -work. +@item You must not commit code which breaks FFmpeg! +This means unfinished code which is enabled and breaks compilation, +or compiles but does not work/breaks the regression tests. Code which +is unfinished but disabled may be permitted under-circumstances, like +missing samples or an implementation with a small subset of features. +Always check the mailing list for any reviewers with issues and test +FATE before you push. -@item +@item Keep the main commit message short with an extended description below. The commit message should have a short first line in the form of a @samp{topic: short description} as a header, separated by a newline from the body consisting of an explanation of why the change is necessary. @@ -276,30 +276,29 @@ If the commit fixes a known bug on the bug tracker, the commit message should include its bug ID. Referring to the issue on the bug tracker does not exempt you from writing an excerpt of the bug in the commit message. -@item -You do not have to over-test things. If it works for you, and you think it -should work for others, then commit. If your code has problems -(portability, triggers compiler bugs, unusual environment etc) they will be -reported and eventually fixed. - -@item -Do not commit unrelated changes together, split them into self-contained -pieces. Also do not forget that if part B depends on part A, but A does not -depend on B, then A can and should be committed first and separate from B. -Keeping changes well split into self-contained parts makes reviewing and -understanding them on the commit log mailing list easier. This also helps -in case of debugging later on. +@item Testing must be adequate but not excessive. +If it works for you, others, and passes FATE then it should be OK to commit +it, provided it fits the other committing criteria. You should not worry about +over-testing things. If your code has problems (portability, triggers +compiler bugs, unusual environment etc) they will be reported and eventually +fixed. + +@item Do not commit unrelated changes together. +They should be split them into self-contained pieces. Also do not forget +that if part B depends on part A, but A does not depend on B, then A can +and should be committed first and separate from B. Keeping changes well +split into self-contained parts makes reviewing and understanding them on +the commit log mailing list easier. This also helps in case of debugging +later on. Also if you have doubts about splitting or not splitting, do not hesitate to ask/discuss it on the developer mailing list. -@item +@item API/ABI changes should be discussed before they are made. Do not change behavior of the programs (renaming options etc) or public API or ABI without first discussing it on the ffmpeg-devel mailing list. -Do not remove functionality from the code. Just improve! - -Note: Redundant code can be removed. +Do not remove widely used functionality or features (redundant code can be removed). -@item +@item Ask before you change the build system (configure, etc). Do not commit changes to the build system (Makefiles, configure script) which change behavior, defaults etc, without asking first. The same applies to compiler warning fixes, trivial looking fixes and to code @@ -308,7 +307,7 @@ the way we do. Send your changes as patches to the
[FFmpeg-cvslog] lavc/ivi_dsp.c: fix warnings due to indentation
ffmpeg | branch: master | Adriano Pallavicino| Sun Oct 2 20:42:44 2016 +0200| [21d3f0c0201a8f702c898d455b18ca01ee50b15a] | committer: Josh de Kock lavc/ivi_dsp.c: fix warnings due to indentation Signed-off-by: Adriano Pallavicino Signed-off-by: Josh de Kock > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=21d3f0c0201a8f702c898d455b18ca01ee50b15a --- libavcodec/ivi_dsp.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/ivi_dsp.c b/libavcodec/ivi_dsp.c index bc9de1a..5211269 100644 --- a/libavcodec/ivi_dsp.c +++ b/libavcodec/ivi_dsp.c @@ -552,8 +552,8 @@ void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, uint32_t pitch, c } else dst[0] = dst[8] = dst[16] = dst[24] = dst[32] = dst[40] = dst[48] = dst[56] = 0; -src++; -dst++; +src++; +dst++; } #undef COMPENSATE @@ -592,8 +592,8 @@ void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, uint32_t pitch, c } else dst[0] = dst[4] = dst[8] = dst[12] = 0; -src++; -dst++; +src++; +dst++; } #undef COMPENSATE ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] avcodec/cuvid: don't align frame size
ffmpeg | branch: master | Timo Rothenpieler| Tue Oct 4 12:58:42 2016 +0200| [5d4fea88d485ec6e81db85ff3e0c6e1ab01d3436] | committer: Timo Rothenpieler avcodec/cuvid: don't align frame size hwcontext_cuda was changed to take care of proper alignment internally > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d4fea88d485ec6e81db85ff3e0c6e1ab01d3436 --- libavcodec/cuvid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/cuvid.c b/libavcodec/cuvid.c index e9a1dd7..56f349c 100644 --- a/libavcodec/cuvid.c +++ b/libavcodec/cuvid.c @@ -204,8 +204,8 @@ static int CUDAAPI cuvid_handle_video_sequence(void *opaque, CUVIDEOFORMAT* form if (!hwframe_ctx->pool) { hwframe_ctx->format = AV_PIX_FMT_CUDA; hwframe_ctx->sw_format = AV_PIX_FMT_NV12; -hwframe_ctx->width = FFALIGN(avctx->width, 32); -hwframe_ctx->height = FFALIGN(avctx->height, 32); +hwframe_ctx->width = avctx->width; +hwframe_ctx->height = avctx->height; if ((ctx->internal_error = av_hwframe_ctx_init(ctx->hwframe)) < 0) { av_log(avctx, AV_LOG_ERROR, "av_hwframe_ctx_init failed\n"); ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] lavf/mpegtsenc: fix autobsf when the first NAL is 0x1 bytes
ffmpeg | branch: master | Rodger Combs| Sun Sep 25 14:43:42 2016 -0500| [14fe54bbfb988f4f5a6acb358282640a13162311] | committer: Rodger Combs lavf/mpegtsenc: fix autobsf when the first NAL is 0x1 bytes > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=14fe54bbfb988f4f5a6acb358282640a13162311 --- libavformat/mpegtsenc.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index c10a3bf..3ad3de7 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -1790,11 +1790,15 @@ static int mpegts_check_bitstream(struct AVFormatContext *s, const AVPacket *pkt if (st->codecpar->codec_id == AV_CODEC_ID_H264) { if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x001 && - AV_RB24(pkt->data) != 0x01) + (AV_RB24(pkt->data) != 0x01 || + (st->codecpar->extradata_size > 0 && + st->codecpar->extradata[0] == 1))) ret = ff_stream_add_bitstream_filter(st, "h264_mp4toannexb", NULL); } else if (st->codecpar->codec_id == AV_CODEC_ID_HEVC) { if (pkt->size >= 5 && AV_RB32(pkt->data) != 0x001 && - AV_RB24(pkt->data) != 0x01) + (AV_RB24(pkt->data) != 0x01 || + (st->codecpar->extradata_size > 0 && + st->codecpar->extradata[0] == 1))) ret = ff_stream_add_bitstream_filter(st, "hevc_mp4toannexb", NULL); } ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
[FFmpeg-cvslog] configure: add linker export script support on Darwin
ffmpeg | branch: master | Rodger Combs| Fri Sep 9 18:12:34 2016 -0500| [63fbeebf6ecb40b21db84d42f9f18867b3f89dca] | committer: Rodger Combs configure: add linker export script support on Darwin This isn't a "version script" in the usual sense, since it doesn't set symbol versions directly. Instead, the version for the whole .dylib is set in the linker flags, and we generate a list of symbol patterns to export. This allows us to keep our local symbols (e.g. ff_*) local on the platform. The Darwin linker's exported_symbols_list format is a bit different than the one used by the GNU linker. It doesn't handle local symbols at all, since when a list is provided, all unlisted symbols are local by default; thus, we remove local sections. It doesn't handle per-version sections, so we remove the headers and brackets. It expects symbols to be prefixed with an underscore. It errors if a listed symbol with no wildcards is not present in the output, so we append an asterisk to any symbol that doesn't already end in one. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=63fbeebf6ecb40b21db84d42f9f18867b3f89dca --- configure | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure b/configure index 2b141fb..ee7e852 100755 --- a/configure +++ b/configure @@ -4705,6 +4705,8 @@ case $target_os in { check_cflags -mdynamic-no-pic && add_asflags -mdynamic-no-pic; } check_header dispatch/dispatch.h && add_cppflags '-I\$(SRC_PATH)/compat/dispatch_semaphore' +version_script='-exported_symbols_list' +VERSION_SCRIPT_POSTPROCESS_CMD='tr " " "\n" | sed -n /global:/,/local:/p | grep ";" | tr ";" "\n" | sed -E "s/(.+)/_\1/g" | sed -E "s/(.+[^*])/\1*/"' ;; msys*) die "Native MSYS builds are discouraged, please use the MINGW environment." ___ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog