[FFmpeg-cvslog] doc/developer: remove duplicate policies and fix error

2016-10-04 Thread Josh de Kock
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

2016-10-04 Thread Michael Niedermayer
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

2016-10-04 Thread Michael Niedermayer
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()

2016-10-04 Thread Michael Niedermayer
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

2016-10-04 Thread Michael Niedermayer
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.

2016-10-04 Thread Ronald S. Bultje
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.

2016-10-04 Thread Sasi Inguva
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

2016-10-04 Thread James Almer
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

2016-10-04 Thread James Almer
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

2016-10-04 Thread Josh de Kock
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

2016-10-04 Thread Josh de Kock
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

2016-10-04 Thread Adriano Pallavicino
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

2016-10-04 Thread Timo Rothenpieler
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

2016-10-04 Thread Rodger Combs
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

2016-10-04 Thread Rodger Combs
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