[FFmpeg-cvslog] libavcodec/snowdec: Mark as FF_CODEC_CAP_INIT_THREADSAFE and FF_CODEC_CAP_INIT_CLEANUP

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Sat Apr 25 
04:50:47 2015 +0200| [ee8ce211ead04c8684da0c9c143814e57e9b9eda] | committer: 
Michael Niedermayer

libavcodec/snowdec: Mark as FF_CODEC_CAP_INIT_THREADSAFE and 
FF_CODEC_CAP_INIT_CLEANUP

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ee8ce211ead04c8684da0c9c143814e57e9b9eda
---

 libavcodec/snowdec.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/snowdec.c b/libavcodec/snowdec.c
index 81fe03c..e12cb21 100644
--- a/libavcodec/snowdec.c
+++ b/libavcodec/snowdec.c
@@ -401,7 +401,6 @@ static av_cold int decode_init(AVCodecContext *avctx)
 int ret;
 
 if ((ret = ff_snow_common_init(avctx)) < 0) {
-ff_snow_common_end(avctx->priv_data);
 return ret;
 }
 
@@ -644,4 +643,6 @@ AVCodec ff_snow_decoder = {
 .close  = decode_end,
 .decode = decode_frame,
 .capabilities   = CODEC_CAP_DR1 /*| CODEC_CAP_DRAW_HORIZ_BAND*/,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };

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


[FFmpeg-cvslog] avformat/format: Add generic trace av_log in av_probe_input_format3()

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Mon Apr 20 
17:38:56 2015 +0200| [75a730a22b760547488e41d307b81e757b5cb590] | committer: 
Michael Niedermayer

avformat/format: Add generic trace av_log in av_probe_input_format3()

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=75a730a22b760547488e41d307b81e757b5cb590
---

 libavformat/format.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/format.c b/libavformat/format.c
index fa94b7d..7df06b7 100644
--- a/libavformat/format.c
+++ b/libavformat/format.c
@@ -195,6 +195,8 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int 
is_opened,
 score = 0;
 if (fmt1->read_probe) {
 score = fmt1->read_probe(&lpd);
+if (score)
+av_log(NULL, AV_LOG_TRACE, "Probing %s score:%d size:%d\n", 
fmt1->name, score, lpd.buf_size);
 if (fmt1->extensions && av_match_ext(lpd.filename, 
fmt1->extensions)) {
 if  (nodat == 0) score = FFMAX(score, 1);
 else if (nodat == 1) score = FFMAX(score, 
AVPROBE_SCORE_EXTENSION / 2 - 1);

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


[FFmpeg-cvslog] avcodec/movtextdec: Decoding of Bold-Italic_Underlined styles for 3gpp timed text subtitles

2015-04-24 Thread Niklesh
ffmpeg | branch: master | Niklesh  | Sat Apr 25 
03:11:26 2015 +0530| [0ec3abeb8d9bc9b5203b39b4def9eaf2e1abc780] | committer: 
Michael Niedermayer

avcodec/movtextdec: Decoding of Bold-Italic_Underlined styles for 3gpp timed 
text subtitles

Signed-off-by: Niklesh 
Previous version reviewed-by: Philip Langdale 
Previous version reviewed-by: Carl Eugen Hoyos 
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0ec3abeb8d9bc9b5203b39b4def9eaf2e1abc780
---

 libavcodec/movtextdec.c |   97 ---
 1 file changed, 91 insertions(+), 6 deletions(-)

diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c
index 1c7ffea..3059599 100644
--- a/libavcodec/movtextdec.c
+++ b/libavcodec/movtextdec.c
@@ -25,10 +25,30 @@
 #include "libavutil/common.h"
 #include "libavutil/bprint.h"
 #include "libavutil/intreadwrite.h"
+#include "libavutil/mem.h"
 
-static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end)
+#define STYLE_FLAG_BOLD 1
+#define STYLE_FLAG_ITALIC   2
+#define STYLE_FLAG_UNDERLINE4
+
+static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
+int **style_start, int **style_end,
+int **style_flags, int style_entries)
 {
+int i = 0;
+int style_pos = 0;
 while (text < text_end) {
+for (i = 0; i < style_entries; i++) {
+if (*style_flags[i] && style_pos == *style_start[i]) {
+if (*style_flags[i] & STYLE_FLAG_BOLD)
+av_bprintf(buf, "{\\b1}");
+if (*style_flags[i] & STYLE_FLAG_ITALIC)
+av_bprintf(buf, "{\\i1}");
+if (*style_flags[i] & STYLE_FLAG_UNDERLINE)
+av_bprintf(buf, "{\\u1}");
+}
+}
+
 switch (*text) {
 case '\r':
 break;
@@ -39,7 +59,19 @@ static int text_to_ass(AVBPrint *buf, const char *text, 
const char *text_end)
 av_bprint_chars(buf, *text, 1);
 break;
 }
+
+for (i = 0; i < style_entries; i++) {
+if (*style_flags[i] && style_pos == *style_end[i]) {
+if (*style_flags[i] & STYLE_FLAG_BOLD)
+av_bprintf(buf, "{\\b0}");
+if (*style_flags[i] & STYLE_FLAG_ITALIC)
+av_bprintf(buf, "{\\i0}");
+if (*style_flags[i] & STYLE_FLAG_UNDERLINE)
+av_bprintf(buf, "{\\u0}");
+}
+}
 text++;
+style_pos++;
 }
 
 return 0;
@@ -61,8 +93,17 @@ static int mov_text_decode_frame(AVCodecContext *avctx,
 AVSubtitle *sub = data;
 int ret, ts_start, ts_end;
 AVBPrint buf;
-const char *ptr = avpkt->data;
-const char *end;
+char *ptr = avpkt->data;
+char *end;
+//char *ptr_temp;
+int text_length, tsmb_type, style_entries, tsmb_size;
+int **style_start = {0,};
+int **style_end = {0,};
+int **style_flags = {0,};
+const uint8_t *tsmb;
+int index, i;
+int *flag;
+int *style_pos;
 
 if (!ptr || avpkt->size < 2)
 return AVERROR_INVALIDDATA;
@@ -82,7 +123,8 @@ static int mov_text_decode_frame(AVCodecContext *avctx,
  * In complex cases, there are style descriptors appended to the string
  * so we can't just assume the packet size is the string size.
  */
-end = ptr + FFMIN(2 + AV_RB16(ptr), avpkt->size);
+text_length = AV_RB16(ptr);
+end = ptr + FFMIN(2 + text_length, avpkt->size);
 ptr += 2;
 
 ts_start = av_rescale_q(avpkt->pts,
@@ -92,10 +134,53 @@ static int mov_text_decode_frame(AVCodecContext *avctx,
 avctx->time_base,
 (AVRational){1,100});
 
+tsmb_size = 0;
 // Note that the spec recommends lines be no longer than 2048 characters.
 av_bprint_init(&buf, 0, AV_BPRINT_SIZE_UNLIMITED);
-text_to_ass(&buf, ptr, end);
-ret = ff_ass_add_rect_bprint(sub, &buf, ts_start, ts_end-ts_start);
+if (text_length + 2 != avpkt->size) {
+while (text_length + 2 + tsmb_size < avpkt->size)  {
+tsmb = ptr + text_length + tsmb_size;
+tsmb_size = AV_RB32(tsmb);
+tsmb += 4;
+tsmb_type = AV_RB32(tsmb);
+tsmb += 4;
+
+if (tsmb_type == MKBETAG('s','t','y','l')) {
+style_entries = AV_RB16(tsmb);
+tsmb += 2;
+
+for(i = 0; i < style_entries; i++) {
+style_pos = av_malloc(4);
+*style_pos = AV_RB16(tsmb);
+index = i;
+av_dynarray_add(&style_start, &index, style_pos);
+tsmb += 2;
+style_pos = av_malloc(4);
+*style_pos = AV_RB16(tsmb);
+index = i;
+av_dynarray_add(&style_end, &index, style_pos);
+  

[FFmpeg-cvslog] dss_sp: use lowercase codec name without whitespace

2015-04-24 Thread Andreas Cadhalpun
ffmpeg | branch: master | Andreas Cadhalpun  
| Wed Apr 22 14:42:08 2015 +0200| [cfdaa4de6c496b0b761c763cd18067cb1af268a7] | 
committer: Vittorio Giovara

dss_sp: use lowercase codec name without whitespace

Signed-off-by: Andreas Cadhalpun 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cfdaa4de6c496b0b761c763cd18067cb1af268a7
---

 libavcodec/dss_sp.c |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/dss_sp.c b/libavcodec/dss_sp.c
index 6fadcc6..5862fd4 100644
--- a/libavcodec/dss_sp.c
+++ b/libavcodec/dss_sp.c
@@ -769,7 +769,7 @@ static int dss_sp_decode_frame(AVCodecContext *avctx, void 
*data,
 }
 
 AVCodec ff_dss_sp_decoder = {
-.name   = "DSS SP",
+.name   = "dss_sp",
 .long_name  = NULL_IF_CONFIG_SMALL("Digital Speech Standard - Standard 
Play mode (DSS SP)"),
 .type   = AVMEDIA_TYPE_AUDIO,
 .id = AV_CODEC_ID_DSS_SP,

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


[FFmpeg-cvslog] Merge commit 'cfdaa4de6c496b0b761c763cd18067cb1af268a7'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
23:22:57 2015 +0200| [cea62a90c0b76d872f5dea554a4ef8f08a1654b6] | committer: 
Michael Niedermayer

Merge commit 'cfdaa4de6c496b0b761c763cd18067cb1af268a7'

* commit 'cfdaa4de6c496b0b761c763cd18067cb1af268a7':
  dss_sp: use lowercase codec name without whitespace

See: 35e855d5b6950887320040da723cf5d5085263a7
Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cea62a90c0b76d872f5dea554a4ef8f08a1654b6
---



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


[FFmpeg-cvslog] avcodec/libxvid: remove now redundant init cleanup code

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
22:50:40 2015 +0200| [c949a4500e146e2bd4b341abd3b2e943e163088a] | committer: 
Michael Niedermayer

avcodec/libxvid: remove now redundant init cleanup code

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c949a4500e146e2bd4b341abd3b2e943e163088a
---

 libavcodec/libxvid.c |   37 -
 1 file changed, 12 insertions(+), 25 deletions(-)

diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c
index bc971c4..bd88326 100644
--- a/libavcodec/libxvid.c
+++ b/libavcodec/libxvid.c
@@ -481,8 +481,7 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
 } else {
 av_log(avctx, AV_LOG_ERROR,
"Too small height for threads > 1.");
-ret = AVERROR(EINVAL);
-goto fail;
+return AVERROR(EINVAL);
 }
 }
 #endif
@@ -503,8 +502,7 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
 if (!x->twopassbuffer || !x->old_twopassbuffer) {
 av_log(avctx, AV_LOG_ERROR,
"Xvid: Cannot allocate 2-pass log buffers\n");
-ret = AVERROR(ENOMEM);
-goto fail;
+return AVERROR(ENOMEM);
 }
 x->twopassbuffer[0] =
 x->old_twopassbuffer[0] = 0;
@@ -519,16 +517,14 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
 fd = av_tempfile("xvidff.", &x->twopassfile, 0, avctx);
 if (fd < 0) {
 av_log(avctx, AV_LOG_ERROR, "Xvid: Cannot write 2-pass pipe\n");
-ret = fd;
-goto fail;
+return fd;
 }
 x->twopassfd = fd;
 
 if (!avctx->stats_in) {
 av_log(avctx, AV_LOG_ERROR,
"Xvid: No 2-pass information loaded for second pass\n");
-ret = AVERROR(EINVAL);
-goto fail;
+return AVERROR(EINVAL);
 }
 
 ret = write(fd, avctx->stats_in, strlen(avctx->stats_in));
@@ -539,7 +535,7 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
 ret = AVERROR(EIO);
 }
 if (ret < 0)
-goto fail;
+return ret;
 
 rc2pass2.filename  = x->twopassfile;
 plugins[xvid_enc_create.num_plugins].func  = xvid_plugin_2pass2;
@@ -627,19 +623,15 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
 if (avctx->intra_matrix) {
 intra   = avctx->intra_matrix;
 x->intra_matrix = av_malloc(sizeof(unsigned char) * 64);
-if (!x->intra_matrix) {
-ret = AVERROR(ENOMEM);
-goto fail;
-}
+if (!x->intra_matrix)
+return AVERROR(ENOMEM);
 } else
 intra = NULL;
 if (avctx->inter_matrix) {
 inter   = avctx->inter_matrix;
 x->inter_matrix = av_malloc(sizeof(unsigned char) * 64);
-if (!x->inter_matrix) {
-ret = AVERROR(ENOMEM);
-goto fail;
-}
+if (!x->inter_matrix)
+return AVERROR(ENOMEM);
 } else
 inter = NULL;
 
@@ -684,20 +676,15 @@ static av_cold int xvid_encode_init(AVCodecContext *avctx)
 xerr = xvid_encore(NULL, XVID_ENC_CREATE, &xvid_enc_create, NULL);
 if (xerr) {
 av_log(avctx, AV_LOG_ERROR, "Xvid: Could not create encoder 
reference\n");
-goto fail;
+return AVERROR_EXTERNAL;
 }
 
 x->encoder_handle  = xvid_enc_create.handle;
 avctx->coded_frame = av_frame_alloc();
-if (!avctx->coded_frame) {
-ret = AVERROR(ENOMEM);
-goto fail;
-}
+if (!avctx->coded_frame)
+return AVERROR(ENOMEM);
 
 return 0;
-fail:
-xvid_encode_close(avctx);
-return ret;
 }
 
 static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,

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


[FFmpeg-cvslog] libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr  7 01:47:18 2015 +0200| [18db1286b04557aa2d2df7efbcb65ae825d5a469] | 
committer: Vittorio Giovara

libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe

This takes care of memory leaks on init error.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=18db1286b04557aa2d2df7efbcb65ae825d5a469
---

 libavcodec/libxvid.c |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavcodec/libxvid.c b/libavcodec/libxvid.c
index 6486ad1..46da773 100644
--- a/libavcodec/libxvid.c
+++ b/libavcodec/libxvid.c
@@ -33,6 +33,7 @@
 #include "libavutil/mathematics.h"
 
 #include "avcodec.h"
+#include "internal.h"
 #include "libxvid.h"
 #include "mpegvideo.h"
 
@@ -778,8 +779,12 @@ static av_cold int xvid_encode_close(AVCodecContext *avctx)
 {
 struct xvid_context *x = avctx->priv_data;
 
-xvid_encore(x->encoder_handle, XVID_ENC_DESTROY, NULL, NULL);
+if (x->encoder_handle) {
+xvid_encore(x->encoder_handle, XVID_ENC_DESTROY, NULL, NULL);
+x->encoder_handle = NULL;
+}
 
+av_frame_free(&avctx->coded_frame);
 av_freep(&avctx->extradata);
 if (x->twopassbuffer) {
 av_free(x->twopassbuffer);
@@ -824,4 +829,6 @@ AVCodec ff_libxvid_encoder = {
 .close  = xvid_encode_close,
 .pix_fmts   = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P, 
AV_PIX_FMT_NONE },
 .priv_class = &xvid_class,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };

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


[FFmpeg-cvslog] Merge commit '18db1286b04557aa2d2df7efbcb65ae825d5a469'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
22:48:29 2015 +0200| [437bdf482e928095c1b43681cfeb231a5d2cd5d6] | committer: 
Michael Niedermayer

Merge commit '18db1286b04557aa2d2df7efbcb65ae825d5a469'

* commit '18db1286b04557aa2d2df7efbcb65ae825d5a469':
  libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe

Conflicts:
libavcodec/libxvid.c

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=437bdf482e928095c1b43681cfeb231a5d2cd5d6
---



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


[FFmpeg-cvslog] lclenc: Mark codec as init-thread-safe and init-cleanup

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr  7 01:47:18 2015 +0200| [74a1cad7e3ba79e5b1e5b2e2bcf6179520442679] | 
committer: Vittorio Giovara

lclenc: Mark codec as init-thread-safe and init-cleanup

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=74a1cad7e3ba79e5b1e5b2e2bcf6179520442679
---

 libavcodec/lclenc.c |3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/lclenc.c b/libavcodec/lclenc.c
index acf5e73..20841bc 100644
--- a/libavcodec/lclenc.c
+++ b/libavcodec/lclenc.c
@@ -42,6 +42,7 @@
 #include 
 
 #include "avcodec.h"
+#include "internal.h"
 #include "lcl.h"
 #include "libavutil/internal.h"
 #include "libavutil/mem.h"
@@ -197,4 +198,6 @@ AVCodec ff_zlib_encoder = {
 .encode2= encode_frame,
 .close  = encode_end,
 .pix_fmts   = (const enum AVPixelFormat[]) { AV_PIX_FMT_BGR24, 
AV_PIX_FMT_NONE },
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };

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


[FFmpeg-cvslog] libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr  7 01:47:18 2015 +0200| [eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8] | 
committer: Vittorio Giovara

libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe

This takes care of memory leaks on init error.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8
---

 libavcodec/libx264.c |8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 2caef17..841b824 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -272,10 +272,12 @@ static av_cold int X264_close(AVCodecContext *avctx)
 X264Context *x4 = avctx->priv_data;
 
 av_freep(&avctx->extradata);
-av_free(x4->sei);
+av_freep(&x4->sei);
 
-if (x4->enc)
+if (x4->enc) {
 x264_encoder_close(x4->enc);
+x4->enc = NULL;
+}
 
 av_frame_free(&avctx->coded_frame);
 
@@ -697,4 +699,6 @@ AVCodec ff_libx264_encoder = {
 .priv_class   = &class,
 .defaults = x264_defaults,
 .init_static_data = X264_init_static,
+.caps_internal= FF_CODEC_CAP_INIT_THREADSAFE |
+FF_CODEC_CAP_INIT_CLEANUP,
 };

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


[FFmpeg-cvslog] Merge commit '74a1cad7e3ba79e5b1e5b2e2bcf6179520442679'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
22:20:41 2015 +0200| [9ba1c62775ca542aa71789de686170dbac609bc8] | committer: 
Michael Niedermayer

Merge commit '74a1cad7e3ba79e5b1e5b2e2bcf6179520442679'

* commit '74a1cad7e3ba79e5b1e5b2e2bcf6179520442679':
  lclenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9ba1c62775ca542aa71789de686170dbac609bc8
---



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


[FFmpeg-cvslog] Merge commit 'eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
22:21:12 2015 +0200| [c180f0f6d3981a93242c3ecabd6667434434ea03] | committer: 
Michael Niedermayer

Merge commit 'eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8'

* commit 'eae7338e1592f4a398b7c3cb9d1ac854b7a44ff8':
  libx264: Make codec use the init-cleanup flag and mark it as init-thread-safe

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c180f0f6d3981a93242c3ecabd6667434434ea03
---



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


[FFmpeg-cvslog] hqx: Mark codec as init-thread-safe and init-cleanup

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr  7 00:40:37 2015 +0200| [bb428e00ac158244d6691bf135be404e85b66a8b] | 
committer: Vittorio Giovara

hqx: Mark codec as init-thread-safe and init-cleanup

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bb428e00ac158244d6691bf135be404e85b66a8b
---

 libavcodec/hqx.c |7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/libavcodec/hqx.c b/libavcodec/hqx.c
index de460a5..11b872c 100644
--- a/libavcodec/hqx.c
+++ b/libavcodec/hqx.c
@@ -523,13 +523,10 @@ static av_cold int hqx_decode_close(AVCodecContext *avctx)
 static av_cold int hqx_decode_init(AVCodecContext *avctx)
 {
 HQXContext *ctx = avctx->priv_data;
-int ret = ff_hqx_init_vlcs(ctx);
-if (ret < 0)
-hqx_decode_close(avctx);
 
 ff_hqxdsp_init(&ctx->hqxdsp);
 
-return ret;
+return ff_hqx_init_vlcs(ctx);
 }
 
 AVCodec ff_hqx_decoder = {
@@ -542,4 +539,6 @@ AVCodec ff_hqx_decoder = {
 .decode = hqx_decode_frame,
 .close  = hqx_decode_close,
 .capabilities   = CODEC_CAP_DR1 | CODEC_CAP_SLICE_THREADS,
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };

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


[FFmpeg-cvslog] Merge commit 'bb428e00ac158244d6691bf135be404e85b66a8b'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
22:00:28 2015 +0200| [8d5088a168d13cfb8f21ee8de0dc8477982ea7d6] | committer: 
Michael Niedermayer

Merge commit 'bb428e00ac158244d6691bf135be404e85b66a8b'

* commit 'bb428e00ac158244d6691bf135be404e85b66a8b':
  hqx: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d5088a168d13cfb8f21ee8de0dc8477982ea7d6
---



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


[FFmpeg-cvslog] Merge commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
21:48:19 2015 +0200| [f2978aa7ed0faa768fc438b55a45c2e007124ffe] | committer: 
Michael Niedermayer

Merge commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd'

* commit '43171886e08b6a2f20a1e2f3ecc95a7984b591cd':
  huffyuvenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f2978aa7ed0faa768fc438b55a45c2e007124ffe
---



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


[FFmpeg-cvslog] huffyuvenc: Mark codec as init-thread-safe and init-cleanup

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr  7 01:47:18 2015 +0200| [43171886e08b6a2f20a1e2f3ecc95a7984b591cd] | 
committer: Vittorio Giovara

huffyuvenc: Mark codec as init-thread-safe and init-cleanup

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=43171886e08b6a2f20a1e2f3ecc95a7984b591cd
---

 libavcodec/huffyuvenc.c |5 +
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/huffyuvenc.c b/libavcodec/huffyuvenc.c
index 47fe2a5..6b3ff76 100644
--- a/libavcodec/huffyuvenc.c
+++ b/libavcodec/huffyuvenc.c
@@ -30,6 +30,7 @@
 #include "huffyuv.h"
 #include "huffman.h"
 #include "huffyuvencdsp.h"
+#include "internal.h"
 #include "put_bits.h"
 
 static inline int sub_left_prediction(HYuvContext *s, uint8_t *dst,
@@ -697,6 +698,8 @@ AVCodec ff_huffyuv_encoder = {
 AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
 AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
 },
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };
 
 #if CONFIG_FFVHUFF_ENCODER
@@ -713,5 +716,7 @@ AVCodec ff_ffvhuff_encoder = {
 AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_RGB24,
 AV_PIX_FMT_RGB32, AV_PIX_FMT_NONE
 },
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif

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


[FFmpeg-cvslog] asvenc: Mark codec as init-thread-safe and init-cleanup

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr  7 01:48:12 2015 +0200| [d90133b77bf69667d10e54de9aae7da223c6876a] | 
committer: Vittorio Giovara

asvenc: Mark codec as init-thread-safe and init-cleanup

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d90133b77bf69667d10e54de9aae7da223c6876a
---

 libavcodec/asvenc.c |5 +
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/asvenc.c b/libavcodec/asvenc.c
index d865c2e..f8c52af 100644
--- a/libavcodec/asvenc.c
+++ b/libavcodec/asvenc.c
@@ -29,6 +29,7 @@
 #include "asv.h"
 #include "avcodec.h"
 #include "fdctdsp.h"
+#include "internal.h"
 #include "mathops.h"
 #include "mpeg12data.h"
 
@@ -329,6 +330,8 @@ AVCodec ff_asv1_encoder = {
 .close  = asv_encode_close,
 .pix_fmts   = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
  AV_PIX_FMT_NONE },
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif
 
@@ -344,5 +347,7 @@ AVCodec ff_asv2_encoder = {
 .close  = asv_encode_close,
 .pix_fmts   = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUV420P,
  AV_PIX_FMT_NONE },
+.caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |
+  FF_CODEC_CAP_INIT_CLEANUP,
 };
 #endif

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


[FFmpeg-cvslog] Merge commit 'd90133b77bf69667d10e54de9aae7da223c6876a'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
21:34:28 2015 +0200| [a649650a0ea0f6b735084fc0055d574af1600017] | committer: 
Michael Niedermayer

Merge commit 'd90133b77bf69667d10e54de9aae7da223c6876a'

* commit 'd90133b77bf69667d10e54de9aae7da223c6876a':
  asvenc: Mark codec as init-thread-safe and init-cleanup

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a649650a0ea0f6b735084fc0055d574af1600017
---



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


[FFmpeg-cvslog] hq_hqa: Fix table data for profile 17

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Thu 
Apr 23 11:29:53 2015 +0100| [a4edaeb50fc7510f28a5d79349a7926a182c9930] | 
committer: Vittorio Giovara

hq_hqa: Fix table data for profile 17

The table had a wrong table height and was missing the first line of bytes.

Signed-off-by: Vittorio Giovara 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a4edaeb50fc7510f28a5d79349a7926a182c9930
---

 libavcodec/hq_hqadata.c |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/hq_hqadata.c b/libavcodec/hq_hqadata.c
index 4ade753..23fefc1 100644
--- a/libavcodec/hq_hqadata.c
+++ b/libavcodec/hq_hqadata.c
@@ -6204,6 +6204,7 @@ static const uint8_t hq_tab_16[] = {
 };
 
 static const uint8_t hq_tab_17[] = {
+ 0,  0, 25,  8, 34,  0, 59,  8, 68,  0, 13, 24, 22, 16, 47,
 24, 56, 16, 78, 25, 10, 32, 28, 41, 44, 32, 58, 41, 78, 32,
  8, 57, 31, 49, 38, 57, 61, 49, 68, 57,  1,  0, 26,  8, 35,
  0, 60,  8, 69,  0, 14, 24, 23, 16, 47, 25, 57, 16, 77, 25,
@@ -8357,7 +8358,7 @@ const HQProfile ff_hq_profile[NUM_HQ_PROFILES] = {
 { hq_tab_14,  352,  240,  8, 22,  15 },
 { hq_tab_15,  352,  288,  8, 18,  22 },
 { hq_tab_16,  176,  144,  8,  9,  11 },
-{ hq_tab_17, 1280, 1024, 16, 20, 128 },
+{ hq_tab_17, 1280, 1024, 16, 20, 256 },
 { hq_tab_18, 1280,  960, 16, 25, 192 },
 { hq_tab_19, 1024,  768, 16, 24, 128 },
 { hq_tab_20,  704,  480,  8, 20,  66 },

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


[FFmpeg-cvslog] Merge commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
21:26:54 2015 +0200| [0d3821a6df9688f06aa3c57049a73250b5b6871c] | committer: 
Michael Niedermayer

Merge commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930'

* commit 'a4edaeb50fc7510f28a5d79349a7926a182c9930':
  hq_hqa: Fix table data for profile 17

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0d3821a6df9688f06aa3c57049a73250b5b6871c
---



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


[FFmpeg-cvslog] riff: Add GMP4 fourcc for mpeg4

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Thu 
Apr 23 13:25:20 2015 +0100| [b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3] | 
committer: Vittorio Giovara

riff: Add GMP4 fourcc for mpeg4

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3
---

 libavformat/riff.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/libavformat/riff.c b/libavformat/riff.c
index d947107..54c5eb2 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -109,6 +109,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
 { AV_CODEC_ID_MPEG4,MKTAG('Q', 'M', 'P', '4') }, /* QNAP Systems */
 { AV_CODEC_ID_MPEG4,MKTAG('P', 'L', 'V', '1') }, /* Pelco DVR 
MPEG-4 */
 { AV_CODEC_ID_MPEG4,MKTAG('G', 'L', 'V', '4') },
+{ AV_CODEC_ID_MPEG4,MKTAG('G', 'M', 'P', '4') }, /* GeoVision 
camera */
 { AV_CODEC_ID_MSMPEG4V3,MKTAG('M', 'P', '4', '3') },
 { AV_CODEC_ID_MSMPEG4V3,MKTAG('D', 'I', 'V', '3') },
 { AV_CODEC_ID_MSMPEG4V3,MKTAG('M', 'P', 'G', '3') },

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


[FFmpeg-cvslog] Merge commit 'b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
21:16:08 2015 +0200| [861dec5e90254818636a20188f2844222962bfdf] | committer: 
Michael Niedermayer

Merge commit 'b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3'

* commit 'b17cbb0b1c4fdf8324eff24d40a02201bfaebfd3':
  riff: Add GMP4 fourcc for mpeg4

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=861dec5e90254818636a20188f2844222962bfdf
---



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


[FFmpeg-cvslog] Merge commit '3c04ec04df8cba12f3a7408709ff5c1fddfe8d82'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
20:56:41 2015 +0200| [9c56cf09ca6da8b89c3155dc50f75232571d0be7] | committer: 
Michael Niedermayer

Merge commit '3c04ec04df8cba12f3a7408709ff5c1fddfe8d82'

* commit '3c04ec04df8cba12f3a7408709ff5c1fddfe8d82':
  riff: Add GLV4 fourcc for mpeg4

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9c56cf09ca6da8b89c3155dc50f75232571d0be7
---



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


[FFmpeg-cvslog] riff: Add GLV4 fourcc for mpeg4

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr 21 13:10:00 2015 +0100| [3c04ec04df8cba12f3a7408709ff5c1fddfe8d82] | 
committer: Vittorio Giovara

riff: Add GLV4 fourcc for mpeg4

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3c04ec04df8cba12f3a7408709ff5c1fddfe8d82
---

 libavformat/riff.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/libavformat/riff.c b/libavformat/riff.c
index 8c05e90..d947107 100644
--- a/libavformat/riff.c
+++ b/libavformat/riff.c
@@ -108,6 +108,7 @@ const AVCodecTag ff_codec_bmp_tags[] = {
 { AV_CODEC_ID_MPEG4,MKTAG('D', 'r', 'e', 'X') },
 { AV_CODEC_ID_MPEG4,MKTAG('Q', 'M', 'P', '4') }, /* QNAP Systems */
 { AV_CODEC_ID_MPEG4,MKTAG('P', 'L', 'V', '1') }, /* Pelco DVR 
MPEG-4 */
+{ AV_CODEC_ID_MPEG4,MKTAG('G', 'L', 'V', '4') },
 { AV_CODEC_ID_MSMPEG4V3,MKTAG('M', 'P', '4', '3') },
 { AV_CODEC_ID_MSMPEG4V3,MKTAG('D', 'I', 'V', '3') },
 { AV_CODEC_ID_MSMPEG4V3,MKTAG('M', 'P', 'G', '3') },

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


[FFmpeg-cvslog] Merge commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
20:49:20 2015 +0200| [036162a3787044cd82b6fa4e73eb56ddf2e57c96] | committer: 
Michael Niedermayer

Merge commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9'

* commit '5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9':
  internal: Make dlog/tlog a no-op when disabled

Conflicts:
libavcodec/internal.h

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=036162a3787044cd82b6fa4e73eb56ddf2e57c96
---



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


[FFmpeg-cvslog] internal: Make dlog/tlog a no-op when disabled

2015-04-24 Thread Vittorio Giovara
ffmpeg | branch: master | Vittorio Giovara  | Tue 
Apr 21 13:24:18 2015 +0100| [5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9] | 
committer: Vittorio Giovara

internal: Make dlog/tlog a no-op when disabled

Improves Coverity analysis, avoiding "double semicolon" CIDs.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5bba3ab0cf7a0238ee1ea31ca2da08ce860fd8f9
---

 libavcodec/internal.h |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/internal.h b/libavcodec/internal.h
index 6f15a78..634400f 100644
--- a/libavcodec/internal.h
+++ b/libavcodec/internal.h
@@ -51,13 +51,13 @@
 #ifdef DEBUG
 #   define ff_dlog(ctx, ...) av_log(ctx, AV_LOG_DEBUG, __VA_ARGS__)
 #else
-#   define ff_dlog(ctx, ...)
+#   define ff_dlog(ctx, ...) while(0)
 #endif
 
 #ifdef TRACE
 #   define ff_tlog(ctx, ...) av_log(ctx, AV_LOG_TRACE, __VA_ARGS__)
 #else
-#   define ff_tlog(p, ...)
+#   define ff_tlog(ctx, ...) while(0)
 #endif
 
 

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


[FFmpeg-cvslog] rtsp: Make sure we don' t write too many transport entries into a fixed-size array

2015-04-24 Thread Martin Storsjö
ffmpeg | branch: master | Martin Storsjö  | Fri Apr 24 
12:38:09 2015 +0300| [b90adb0aba073f9c1b4abca852119947393ced4c] | committer: 
Martin Storsjö

rtsp: Make sure we don't write too many transport entries into a fixed-size 
array

CC: libav-sta...@libav.org
Signed-off-by: Martin Storsjö 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b90adb0aba073f9c1b4abca852119947393ced4c
---

 libavformat/rtsp.c |2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 1b60b4f..cbea685 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -972,6 +972,8 @@ static void rtsp_parse_transport(RTSPMessageHeader *reply, 
const char *p)
 p++;
 
 reply->nb_transports++;
+if (reply->nb_transports >= RTSP_MAX_TRANSPORTS)
+break;
 }
 }
 

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


[FFmpeg-cvslog] Merge commit 'b90adb0aba073f9c1b4abca852119947393ced4c'

2015-04-24 Thread Michael Niedermayer
ffmpeg | branch: master | Michael Niedermayer  | Fri Apr 24 
20:37:47 2015 +0200| [10a28e8a08d609b9f8352c221845d15cd0021675] | committer: 
Michael Niedermayer

Merge commit 'b90adb0aba073f9c1b4abca852119947393ced4c'

* commit 'b90adb0aba073f9c1b4abca852119947393ced4c':
  rtsp: Make sure we don't write too many transport entries into a fixed-size 
array

Merged-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=10a28e8a08d609b9f8352c221845d15cd0021675
---



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


[FFmpeg-cvslog] avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC copy and hv mc functions

2015-04-24 Thread Shivraj Patil
ffmpeg | branch: master | Shivraj Patil  | Wed Apr 22 
14:52:44 2015 +0530| [97f074f134048276db2f2c552e6e6b24fe0a6894] | committer: 
Michael Niedermayer

avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC copy and hv mc 
functions

Incorporated review comment.
Removed "__" from volatile.

Signed-off-by: Shivraj Patil 
Reviewed-by: Nedeljko Babic 
Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=97f074f134048276db2f2c552e6e6b24fe0a6894
---

 libavcodec/mips/hevcdsp_init_mips.c |   19 +
 libavcodec/mips/hevcdsp_mips.h  |   20 +
 libavcodec/mips/hevcdsp_msa.c   | 1098 +++
 libavutil/mips/generic_macros_msa.h |  133 +
 4 files changed, 1270 insertions(+)

diff --git a/libavcodec/mips/hevcdsp_init_mips.c 
b/libavcodec/mips/hevcdsp_init_mips.c
index 05ed81f..4fec336 100644
--- a/libavcodec/mips/hevcdsp_init_mips.c
+++ b/libavcodec/mips/hevcdsp_init_mips.c
@@ -25,6 +25,16 @@ static av_cold void hevc_dsp_init_msa(HEVCDSPContext *c,
   const int bit_depth)
 {
 if (8 == bit_depth) {
+c->put_hevc_qpel[1][0][0] = ff_hevc_put_hevc_pel_pixels4_8_msa;
+c->put_hevc_qpel[2][0][0] = ff_hevc_put_hevc_pel_pixels6_8_msa;
+c->put_hevc_qpel[3][0][0] = ff_hevc_put_hevc_pel_pixels8_8_msa;
+c->put_hevc_qpel[4][0][0] = ff_hevc_put_hevc_pel_pixels12_8_msa;
+c->put_hevc_qpel[5][0][0] = ff_hevc_put_hevc_pel_pixels16_8_msa;
+c->put_hevc_qpel[6][0][0] = ff_hevc_put_hevc_pel_pixels24_8_msa;
+c->put_hevc_qpel[7][0][0] = ff_hevc_put_hevc_pel_pixels32_8_msa;
+c->put_hevc_qpel[8][0][0] = ff_hevc_put_hevc_pel_pixels48_8_msa;
+c->put_hevc_qpel[9][0][0] = ff_hevc_put_hevc_pel_pixels64_8_msa;
+
 c->put_hevc_qpel[1][0][1] = ff_hevc_put_hevc_qpel_h4_8_msa;
 c->put_hevc_qpel[3][0][1] = ff_hevc_put_hevc_qpel_h8_8_msa;
 c->put_hevc_qpel[4][0][1] = ff_hevc_put_hevc_qpel_h12_8_msa;
@@ -42,6 +52,15 @@ static av_cold void hevc_dsp_init_msa(HEVCDSPContext *c,
 c->put_hevc_qpel[7][1][0] = ff_hevc_put_hevc_qpel_v32_8_msa;
 c->put_hevc_qpel[8][1][0] = ff_hevc_put_hevc_qpel_v48_8_msa;
 c->put_hevc_qpel[9][1][0] = ff_hevc_put_hevc_qpel_v64_8_msa;
+
+c->put_hevc_qpel[1][1][1] = ff_hevc_put_hevc_qpel_hv4_8_msa;
+c->put_hevc_qpel[3][1][1] = ff_hevc_put_hevc_qpel_hv8_8_msa;
+c->put_hevc_qpel[4][1][1] = ff_hevc_put_hevc_qpel_hv12_8_msa;
+c->put_hevc_qpel[5][1][1] = ff_hevc_put_hevc_qpel_hv16_8_msa;
+c->put_hevc_qpel[6][1][1] = ff_hevc_put_hevc_qpel_hv24_8_msa;
+c->put_hevc_qpel[7][1][1] = ff_hevc_put_hevc_qpel_hv32_8_msa;
+c->put_hevc_qpel[8][1][1] = ff_hevc_put_hevc_qpel_hv48_8_msa;
+c->put_hevc_qpel[9][1][1] = ff_hevc_put_hevc_qpel_hv64_8_msa;
 }
 }
 #endif  // #if HAVE_MSA
diff --git a/libavcodec/mips/hevcdsp_mips.h b/libavcodec/mips/hevcdsp_mips.h
index 13cdb5b..4f7f273 100644
--- a/libavcodec/mips/hevcdsp_mips.h
+++ b/libavcodec/mips/hevcdsp_mips.h
@@ -29,6 +29,16 @@ void ff_hevc_put_hevc_##PEL##_##DIRWIDTH##_8_msa(int16_t 
*dst,  \
  intptr_t my,   \
  int width)
 
+MC(pel, pixels, 4);
+MC(pel, pixels, 6);
+MC(pel, pixels, 8);
+MC(pel, pixels, 12);
+MC(pel, pixels, 16);
+MC(pel, pixels, 24);
+MC(pel, pixels, 32);
+MC(pel, pixels, 48);
+MC(pel, pixels, 64);
+
 MC(qpel, h, 4);
 MC(qpel, h, 8);
 MC(qpel, h, 12);
@@ -46,4 +56,14 @@ MC(qpel, v, 24);
 MC(qpel, v, 32);
 MC(qpel, v, 48);
 MC(qpel, v, 64);
+
+MC(qpel, hv, 4);
+MC(qpel, hv, 8);
+MC(qpel, hv, 12);
+MC(qpel, hv, 16);
+MC(qpel, hv, 24);
+MC(qpel, hv, 32);
+MC(qpel, hv, 48);
+MC(qpel, hv, 64);
+
 #undef MC
diff --git a/libavcodec/mips/hevcdsp_msa.c b/libavcodec/mips/hevcdsp_msa.c
index 88e97d6..fcc344b 100644
--- a/libavcodec/mips/hevcdsp_msa.c
+++ b/libavcodec/mips/hevcdsp_msa.c
@@ -21,6 +21,18 @@
 #include "libavutil/mips/generic_macros_msa.h"
 #include "libavcodec/mips/hevcdsp_mips.h"
 
+#define HEVC_FILT_8TAP_DPADD_W(vec0, vec1, vec2, vec3,\
+   filt0, filt1, filt2, filt3)\
+( {   \
+v4i32 out;\
+  \
+out = __msa_dotp_s_w((v8i16) (vec0), (v8i16) (filt0));\
+out = __msa_dpadd_s_w(out, (v8i16) (vec1), (v8i16) (filt1));  \
+out = __msa_dpadd_s_w(out, (v8i16) (vec2), (v8i16) (filt2));  \
+out = __msa_dpadd_s_w(out, (v8i16) (vec3), (v8i16) (filt3));  \
+out;  \
+} )
+
 #define HEVC_FILT_8TAP_DPADD_H(vec0, vec1, vec2, vec3, 
\
filt0, filt1, filt2, filt3, 
\
 

[FFmpeg-cvslog] vp9: use aligned size to write segmentation map into cache.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
20:14:19 2015 -0400| [ed45edb2f6fe0af577b6d09665763c6cb479a0a5] | committer: 
Michael Niedermayer

vp9: use aligned size to write segmentation map into cache.

The unaligned size is not handled in setctx_2d(), causing edges of images
to have improper segmentation prediction, which causes visual artifacts
at image edges a few frames later.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ed45edb2f6fe0af577b6d09665763c6cb479a0a5
---

 libavcodec/vp9.c |6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 8d9ba0d..1935f94 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -1352,8 +1352,8 @@ static void decode_mode(AVCodecContext *ctx)
 VP9Block *b = s->b;
 int row = s->row, col = s->col, row7 = s->row7;
 enum TxfmMode max_tx = max_tx_for_bl_bp[b->bs];
-int w4 = FFMIN(s->cols - col, bwh_tab[1][b->bs][0]);
-int h4 = FFMIN(s->rows - row, bwh_tab[1][b->bs][1]), y;
+int bw4 = bwh_tab[1][b->bs][0], w4 = FFMIN(s->cols - col, bw4);
+int bh4 = bwh_tab[1][b->bs][1], h4 = FFMIN(s->rows - row, bh4), y;
 int have_a = row > 0, have_l = col > s->tiling.tile_col_start;
 int vref, filter_id;
 
@@ -1395,7 +1395,7 @@ static void decode_mode(AVCodecContext *ctx)
 if (s->segmentation.enabled &&
 (s->segmentation.update_map || s->keyframe || s->intraonly)) {
 setctx_2d(&s->frames[CUR_FRAME].segmentation_map[row * 8 * s->sb_cols 
+ col],
-  w4, h4, 8 * s->sb_cols, b->seg_id);
+  bw4, bh4, 8 * s->sb_cols, b->seg_id);
 }
 
 b->skip = s->segmentation.enabled &&

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


[FFmpeg-cvslog] vp9: remove another optimization branch in iadst16 which causes overflows.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
15:48:37 2015 -0400| [3de13d5212b6a0ff146dc0b50e34ee7dbc822eef] | committer: 
Michael Niedermayer

vp9: remove another optimization branch in iadst16 which causes overflows.

See sample vp90-2-14-resize-fp-tiles-16-8.webm from the vp9 test vector
set to reproduce the issue.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3de13d5212b6a0ff146dc0b50e34ee7dbc822eef
---

 libavcodec/x86/vp9itxfm.asm |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/x86/vp9itxfm.asm b/libavcodec/x86/vp9itxfm.asm
index a9d45a4..9cf0d78 100644
--- a/libavcodec/x86/vp9itxfm.asm
+++ b/libavcodec/x86/vp9itxfm.asm
@@ -1622,7 +1622,9 @@ VP9_IDCT_IDCT_16x16_ADD_XMM avx
 PSIGNW  m3, [pw_m1] ; m3=out1[w], 
m7=t10[w]
 SUMSUB_BAw,  2,  6,  1  ; m2=out14[w], 
m6=t11[w]
 
-%if cpuflag(ssse3)
+; unfortunately, the code below overflows in some cases, e.g.
+; 
http://downloads.webmproject.org/test_data/libvpx/vp90-2-14-resize-fp-tiles-16-8.webm
+%if 0; cpuflag(ssse3)
 SUMSUB_BAw,  7,  6,  1
 pmulhrswm7, [pw_11585x2]; m7=out6[w]
 pmulhrswm6, [pw_11585x2]; m6=out9[w]

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


[FFmpeg-cvslog] vp9: add fate test for intraonly frames.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
20:59:27 2015 -0400| [5d914a4a4334c21e0956a2b6a22f1a2d8f693535] | committer: 
Michael Niedermayer

vp9: add fate test for intraonly frames.

Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-16-intra-only.webm

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5d914a4a4334c21e0956a2b6a22f1a2d8f693535
---

 tests/fate/vpx.mak   |1 +
 tests/ref/fate/vp9-16-intra-only |   10 ++
 2 files changed, 11 insertions(+)

diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index 428823c..d77d5cb 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -104,6 +104,7 @@ $(eval $(call FATE_VP9_SUITE,09-lf_deltas,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,10-show-existing-frame,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,10-show-existing-frame2,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,15-segkey_adpq,$(1),$(2)))
+$(eval $(call FATE_VP9_SUITE,16-intra-only,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,2pass-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,parallelmode-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,segmentation-aq-akiyo,$(1),$(2)))
diff --git a/tests/ref/fate/vp9-16-intra-only b/tests/ref/fate/vp9-16-intra-only
new file mode 100644
index 000..5bbfaea
--- /dev/null
+++ b/tests/ref/fate/vp9-16-intra-only
@@ -0,0 +1,10 @@
+#format: frame checksums
+#version: 1
+#hash: MD5
+#tb 0: 12/359
+#stream#, dts,pts, duration, size, hash
+0,  0,  0,1,   152064, d57529601178948afa4818c3c8938884
+0,  1,  1,1,   152064, d47e00250c45733d64af067a417bcd06
+0,  2,  2,1,   152064, 984e41cd8350808ac6129746b2377818
+0,  4,  4,1,   152064, 76ba63001170b8992fc72be5c4ace731
+0,  5,  5,1,   152064, c4e7f96a8fd58d901b1d881926ddae09

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


[FFmpeg-cvslog] vp9: add fate test for segmentation image-edge issue.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
20:18:52 2015 -0400| [0eccf7d43af7c94973d68f1df4db74b1ff829ab8] | committer: 
Michael Niedermayer

vp9: add fate test for segmentation image-edge issue.

Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-15-segkey_adpq.webm

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0eccf7d43af7c94973d68f1df4db74b1ff829ab8
---

 tests/fate/vpx.mak|1 +
 tests/ref/fate/vp9-15-segkey_adpq |  155 +
 2 files changed, 156 insertions(+)

diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index 0872c9b..428823c 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -103,6 +103,7 @@ $(eval $(call FATE_VP9_SUITE,06-bilinear,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,09-lf_deltas,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,10-show-existing-frame,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,10-show-existing-frame2,$(1),$(2)))
+$(eval $(call FATE_VP9_SUITE,15-segkey_adpq,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,2pass-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,parallelmode-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,segmentation-aq-akiyo,$(1),$(2)))
diff --git a/tests/ref/fate/vp9-15-segkey_adpq 
b/tests/ref/fate/vp9-15-segkey_adpq
new file mode 100644
index 000..f12db8b
--- /dev/null
+++ b/tests/ref/fate/vp9-15-segkey_adpq
@@ -0,0 +1,155 @@
+#format: frame checksums
+#version: 1
+#hash: MD5
+#tb 0: 1001/3
+#stream#, dts,pts, duration, size, hash
+0,  0,  0,1,   613440, d4f0e4b606ddb40b482aecb24cf3bc63
+0,  1,  1,1,   613440, 692ec092bc5928fa6430d056e883759a
+0,  2,  2,1,   613440, dad790df33430899fed98886a24b37e5
+0,  3,  3,1,   613440, 7e66e793ac9462a40dd5b963fb62e667
+0,  4,  4,1,   613440, 0d795c6e20f42f09aca0ddb9dffaa6e8
+0,  5,  5,1,   613440, 0ef3739c4ab2c51f0ab8e290eadad77e
+0,  6,  6,1,   613440, 04a15f765960263c1b4a5a8822e17322
+0,  7,  7,1,   613440, 116d518830c958bf46759fd79bc74198
+0,  8,  8,1,   613440, 58ea67addab05825cc2e5f2ab99fca4b
+0,  9,  9,1,   613440, 590f6e5deea6dde21dc1098fa2017c2f
+0, 10, 10,1,   613440, 895479957b0882ccce4159782dee8deb
+0, 11, 11,1,   613440, cc8e05afdfb6f9c7042fd6f9e9d49140
+0, 12, 12,1,   613440, 3e47c556a63af90f1ca4609f97f25d2c
+0, 13, 13,1,   613440, e5ca5dce8cbd39412db2fe219d6d2594
+0, 14, 14,1,   613440, c62b456e12230660d26eb7226f257d0c
+0, 15, 15,1,   613440, e184c961b373de465d3242f32f7cf3ed
+0, 16, 16,1,   613440, 7466b91858f740fc28965a63effe05d6
+0, 17, 17,1,   613440, c8f06a3b1e471c4e7a9efd71a30dfe3b
+0, 18, 18,1,   613440, d4fb95148963b2eaff0211ddc5117c13
+0, 19, 19,1,   613440, c646526b40277289520d47ed8ca3b644
+0, 20, 20,1,   613440, e441ae686fa444e4e3584543611043ba
+0, 21, 21,1,   613440, 68d707ef6909bfbc02dcbd9e392a04f6
+0, 22, 22,1,   613440, 1ff285d17a26622b61bd2651754602b1
+0, 23, 23,1,   613440, c272192987e44e54e5335e6416bd15a5
+0, 24, 24,1,   613440, 8f6f02572181eb4855dcd4c957e57d2e
+0, 25, 25,1,   613440, baf03eb567fd092eeb6f08ff5e098350
+0, 26, 26,1,   613440, 479c78bd3da0892b8d4e32c99ec4739f
+0, 27, 27,1,   613440, d39a52f6e30ef10462bdef1006809e88
+0, 28, 28,1,   613440, d58395369806221efe9ba88513319d8a
+0, 29, 29,1,   613440, 459e77e83c510ee1d79bf069752d44e5
+0, 30, 30,1,   613440, 438027c8eacb9c795f8267a151ef5a4e
+0, 31, 31,1,   613440, ea6b73fb0d4b23ebbdaeb0267135d083
+0, 32, 32,1,   613440, 48160c624d4d5050a4c8abcbe0edf4b2
+0, 33, 33,1,   613440, 6fc6d5b4751cf137fc0204c0026f2503
+0, 34, 34,1,   613440, 5ea20f6483fc5cde854313ed8288c7ca
+0, 35, 35,1,   613440, dafa41fa3468f684ca5538593cd1a0de
+0, 36, 36,1,   613440, b73d3336c83a27874e24b691c34c3421
+0, 37, 37,1,   613440, d0b0488a5871a49442746ac8ea1343bc
+0, 38, 38,1,   613440, df6fe9cb354624b69908730f24f51b88
+0, 39, 39,1,   613440, a388b159a024ace9437976206e62473c
+0, 40, 40,1,   613440, 9007423410201a70b6997477ed9040f6
+0, 41, 41,1,   613440, 7f7425cc018ad391e06b867f51d69513
+0, 42, 42,1,   613440, 2ef51a3a15c627f803ee

[FFmpeg-cvslog] vp9: fix intraonly frame decoding.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
20:57:15 2015 -0400| [640d878bc161a3fb5a85d26a5cca13fc414bbe9c] | committer: 
Michael Niedermayer

vp9: fix intraonly frame decoding.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=640d878bc161a3fb5a85d26a5cca13fc414bbe9c
---

 libavcodec/vp9.c |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c
index 1935f94..1310798 100644
--- a/libavcodec/vp9.c
+++ b/libavcodec/vp9.c
@@ -3111,8 +3111,8 @@ static void decode_sb(AVCodecContext *ctx, int row, int 
col, struct VP9Filter *l
 VP9Context *s = ctx->priv_data;
 int c = ((s->above_partition_ctx[col] >> (3 - bl)) & 1) |
 (((s->left_partition_ctx[row & 0x7] >> (3 - bl)) & 1) << 1);
-const uint8_t *p = s->keyframe ? vp9_default_kf_partition_probs[bl][c] :
- s->prob.p.partition[bl][c];
+const uint8_t *p = s->keyframe || s->intraonly ? 
vp9_default_kf_partition_probs[bl][c] :
+ 
s->prob.p.partition[bl][c];
 enum BlockPartition bp;
 ptrdiff_t hbs = 4 >> bl;
 AVFrame *f = s->frames[CUR_FRAME].tf.f;
@@ -3791,7 +3791,7 @@ static int vp9_decode_frame(AVCodecContext *ctx, void 
*frame,
 return res;
 f = s->frames[CUR_FRAME].tf.f;
 f->key_frame = s->keyframe;
-f->pict_type = s->keyframe ? AV_PICTURE_TYPE_I : AV_PICTURE_TYPE_P;
+f->pict_type = (s->keyframe || s->intraonly) ? AV_PICTURE_TYPE_I : 
AV_PICTURE_TYPE_P;
 ls_y = f->linesize[0];
 ls_uv =f->linesize[1];
 
@@ -3801,7 +3801,7 @@ static int vp9_decode_frame(AVCodecContext *ctx, void 
*frame,
 ff_thread_release_buffer(ctx, &s->next_refs[i]);
 if (s->refreshrefmask & (1 << i)) {
 res = ff_thread_ref_frame(&s->next_refs[i], 
&s->frames[CUR_FRAME].tf);
-} else {
+} else if (s->refs[i].f->data[0]) {
 res = ff_thread_ref_frame(&s->next_refs[i], &s->refs[i]);
 }
 if (res < 0)

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


[FFmpeg-cvslog] vp9: add lf_deltas fate test.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
11:51:03 2015 -0400| [345e3be7baa7175ecf64513a7d8600ba3d39e9c1] | committer: 
Michael Niedermayer

vp9: add lf_deltas fate test.

Sample available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-09-lf_deltas.webm

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=345e3be7baa7175ecf64513a7d8600ba3d39e9c1
---

 tests/fate/vpx.mak  |1 +
 tests/ref/fate/vp9-09-lf_deltas |   35 +++
 2 files changed, 36 insertions(+)

diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index d277d36..2c11b81 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -100,6 +100,7 @@ $(foreach W,$(VP9_SIZE_A),$(eval $(foreach 
H,$(VP9_SIZE_A),$(eval $(call FATE_VP
 $(foreach W,$(VP9_SIZE_B),$(eval $(foreach H,$(VP9_SIZE_B),$(eval $(call 
FATE_VP9_SUITE,03-size-$(W)x$(H),$(1),$(2))
 $(eval $(call FATE_VP9_SUITE,03-deltaq,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,06-bilinear,$(1),$(2)))
+$(eval $(call FATE_VP9_SUITE,09-lf_deltas,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,2pass-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,parallelmode-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,segmentation-aq-akiyo,$(1),$(2)))
diff --git a/tests/ref/fate/vp9-09-lf_deltas b/tests/ref/fate/vp9-09-lf_deltas
new file mode 100644
index 000..733a70c
--- /dev/null
+++ b/tests/ref/fate/vp9-09-lf_deltas
@@ -0,0 +1,35 @@
+#format: frame checksums
+#version: 1
+#hash: MD5
+#tb 0: 1/30
+#stream#, dts,pts, duration, size, hash
+0,  0,  0,1,   126720, a83c7f4602f595fd09e97f8c8a7277ec
+0,  1,  1,1,   126720, 53e1a3fd44932883a8dd112bbb0e359f
+0,  2,  2,1,   126720, 4bb16d168f9f0a7702c31a68bb8ff36c
+0,  3,  3,1,   126720, 1b2df157913aba96553aaf8d51491bf3
+0,  4,  4,1,   126720, 9d041532e42fca7a4062cd3e9b75413b
+0,  5,  5,1,   126720, 0dbac5ca06e13714d10e99042aefe375
+0,  6,  6,1,   126720, bb83a507a65d2a640b08f42a77bb37f6
+0,  7,  7,1,   126720, 176f992d37c7daa36135cddb49398de3
+0,  8,  8,1,   126720, c41834f72b3281cf6aaa66fd7416e6c3
+0,  9,  9,1,   126720, 790d4e6b1609dec782ff978e2003d318
+0, 10, 10,1,   126720, 449622f741f7577c1d721f2e9eb25091
+0, 11, 11,1,   126720, 8ef8543f7895c87ab04491b0150628e5
+0, 12, 12,1,   126720, 88ef626aca4b2bcb8c58a69db20a7b02
+0, 13, 13,1,   126720, 4b2f7adc2e1872ecdd9ffa7d1f1df4a6
+0, 14, 14,1,   126720, 7b162660225022ef31e39c34fee3418e
+0, 15, 15,1,   126720, 2b439a4b846edcc69cdf6075de5ac8fb
+0, 16, 16,1,   126720, ba2eb1ba0ed9abf701a53a94c9c626fc
+0, 17, 17,1,   126720, 9fbec5d5334fd5e917feee756b652d93
+0, 18, 18,1,   126720, 93b5eb99ea54abc5fa90c5674499e27e
+0, 19, 19,1,   126720, 04a98408e9b0aed28932ef1dfdcfdb6c
+0, 20, 20,1,   126720, 9856ba976bed30bc790a3f28e926b092
+0, 21, 21,1,   126720, 2b0f450e9724cfc57b846148ff876e51
+0, 22, 22,1,   126720, 163757f3529369b9789ea606387b831d
+0, 23, 23,1,   126720, de5ed2aff936c54f3378d0dcc2575d13
+0, 24, 24,1,   126720, 1f642826b8a6fb111c7c6130481dab89
+0, 25, 25,1,   126720, b8e3a77c7d3c5c56f67aa7409fb5404c
+0, 26, 26,1,   126720, eb06cb4f471e42d7fc06929a442cca8b
+0, 27, 27,1,   126720, 53471649a5080b306d2c04a4f7673bdf
+0, 28, 28,1,   126720, 70996be0cc5d2bd97025015dd50caa99
+0, 29, 29,1,   126720, ff3280a8562fdf6697c4a7cb9c1bf0a0

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


[FFmpeg-cvslog] vp9: add fate tests for show-existing-frame feature.

2015-04-24 Thread Ronald S. Bultje
ffmpeg | branch: master | Ronald S. Bultje  | Wed Apr 22 
12:24:41 2015 -0400| [4b02032fb4cf2a62c022add3ee59dc782690efbf] | committer: 
Michael Niedermayer

vp9: add fate tests for show-existing-frame feature.

Samples available at:
http://downloads.webmproject.org/test_data/libvpx/vp90-2-10-show-existing-frame.webm
http://downloads.webmproject.org/test_data/libvpx/vp90-2-10-show-existing-frame2.webm

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4b02032fb4cf2a62c022add3ee59dc782690efbf
---

 tests/fate/vpx.mak |2 ++
 tests/ref/fate/vp9-10-show-existing-frame  |   14 ++
 tests/ref/fate/vp9-10-show-existing-frame2 |   20 
 3 files changed, 36 insertions(+)

diff --git a/tests/fate/vpx.mak b/tests/fate/vpx.mak
index 2c11b81..0872c9b 100644
--- a/tests/fate/vpx.mak
+++ b/tests/fate/vpx.mak
@@ -101,6 +101,8 @@ $(foreach W,$(VP9_SIZE_B),$(eval $(foreach 
H,$(VP9_SIZE_B),$(eval $(call FATE_VP
 $(eval $(call FATE_VP9_SUITE,03-deltaq,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,06-bilinear,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,09-lf_deltas,$(1),$(2)))
+$(eval $(call FATE_VP9_SUITE,10-show-existing-frame,$(1),$(2)))
+$(eval $(call FATE_VP9_SUITE,10-show-existing-frame2,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,2pass-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,parallelmode-akiyo,$(1),$(2)))
 $(eval $(call FATE_VP9_SUITE,segmentation-aq-akiyo,$(1),$(2)))
diff --git a/tests/ref/fate/vp9-10-show-existing-frame 
b/tests/ref/fate/vp9-10-show-existing-frame
new file mode 100644
index 000..266f44e
--- /dev/null
+++ b/tests/ref/fate/vp9-10-show-existing-frame
@@ -0,0 +1,14 @@
+#format: frame checksums
+#version: 1
+#hash: MD5
+#tb 0: 1/30
+#stream#, dts,pts, duration, size, hash
+0,  0,  0,1,   152064, 18981342ec178e082519451062c3a67f
+0,  1,  1,1,   152064, 04ab9dbeac49ec31be58f6e671698e05
+0,  6,  6,1,   152064, a41f00034923e56ba51a0b598acc2e3a
+0,  7,  7,1,   152064, 63fa55ae9535ccdf06d44cce8065dda6
+0,  9,  9,1,   152064, 0e4b08e14d919edee2bbff2ecd47de57
+0, 10, 10,1,   152064, 0e4b08e14d919edee2bbff2ecd47de57
+0, 13, 13,1,   152064, 9e932915c67a789f6877e6d3f76d3649
+0, 14, 14,1,   152064, 12f2e975c217e7ffcf334524e8acec35
+0, 15, 15,1,   152064, 9e932915c67a789f6877e6d3f76d3649
diff --git a/tests/ref/fate/vp9-10-show-existing-frame2 
b/tests/ref/fate/vp9-10-show-existing-frame2
new file mode 100644
index 000..cdd4369
--- /dev/null
+++ b/tests/ref/fate/vp9-10-show-existing-frame2
@@ -0,0 +1,20 @@
+#format: frame checksums
+#version: 1
+#hash: MD5
+#tb 0: 1/30
+#stream#, dts,pts, duration, size, hash
+0,  0,  0,1,   152064, 382b12c33cd86b38758706b8ebca8a85
+0,  1,  1,1,   152064, 799544370b35c91711a5b49a28cf86a8
+0,  2,  2,1,   152064, 7218eb4b6d1c7aea4f96ee47ad675e8e
+0,  3,  3,1,   152064, 627466200370e6ad60ea570d31be66e3
+0,  4,  4,1,   152064, 7dc65a2af108379f2b9265a9a1ea7cf8
+0,  5,  5,1,   152064, c979e2f084760775a567f60f79f28198
+0,  6,  6,1,   152064, fe668a6417aa0543e4ed4d1c67c5cbcb
+0,  7,  7,1,   152064, bf9901e39815fa93cce0ed5b02b2ef2d
+0,  8,  8,1,   152064, 627466200370e6ad60ea570d31be66e3
+0,  9,  9,1,   152064, 7dc65a2af108379f2b9265a9a1ea7cf8
+0, 10, 10,1,   152064, c979e2f084760775a567f60f79f28198
+0, 11, 11,1,   152064, fe668a6417aa0543e4ed4d1c67c5cbcb
+0, 13, 13,1,   152064, 627466200370e6ad60ea570d31be66e3
+0, 14, 14,1,   152064, 7dc65a2af108379f2b9265a9a1ea7cf8
+0, 15, 15,1,   152064, c979e2f084760775a567f60f79f28198

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


[FFmpeg-cvslog] avformat/mp3: large id3 tags break concatenated file detection

2015-04-24 Thread wm4
ffmpeg | branch: master | wm4  | Fri Apr 24 12:26:39 
2015 +0200| [537ab680534e53bd298ba3f62d4aabb56afcd403] | committer: Michael 
Niedermayer

avformat/mp3: large id3 tags break concatenated file detection

If the file size is much larger than what is indicated in the XING
header, the demuxer assumes it's a concatenated file, and throws away
the (presumably) incorrect duration information. Unfortunately, this
also triggers if the id3 tags are very large (embedded pictures and
such). Then the half-baked heuristic not only breaks the duration
display, but also gapless audio.

Fix it by subtracting the size of the headers (the check is off by some
bytes, but that doesn't matter at all). Note that there could be an
arbitrary amount of tags _after_ the mp3 data, but hopefully these are
not too large to trigger the heuristic in practice.

Also add a warning when this happens.

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=537ab680534e53bd298ba3f62d4aabb56afcd403
---

 libavformat/mp3dec.c |3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index 8c17776..abd7fc0 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -147,6 +147,7 @@ static void mp3_parse_info_tag(AVFormatContext *s, AVStream 
*st,
 MP3DecContext *mp3 = s->priv_data;
 static const int64_t xing_offtbl[2][2] = {{32, 17}, {17,9}};
 uint64_t fsize = avio_size(s->pb);
+fsize = fsize >= avio_tell(s->pb) ? fsize - avio_tell(s->pb) : 0;
 
 /* Check for Xing / Info tag */
 avio_skip(s->pb, xing_offtbl[c->lsf == 1][c->nb_channels == 1]);
@@ -166,6 +167,8 @@ static void mp3_parse_info_tag(AVFormatContext *s, AVStream 
*st,
 delta = FFMAX(fsize, mp3->header_filesize) - min;
 if (fsize > mp3->header_filesize && delta > min >> 4) {
 mp3->frames = 0;
+av_log(s, AV_LOG_WARNING,
+   "invalid concatenated file detected - using bitrate for 
duration\n");
 } else if (delta > min >> 4) {
 av_log(s, AV_LOG_WARNING,
"filesize and duration do not match (growing file?)\n");

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


[FFmpeg-cvslog] lavd/v4l2: print buffer flags in case of error

2015-04-24 Thread Giorgio Vazzana
ffmpeg | branch: master | Giorgio Vazzana  | Thu Oct 16 
11:10:03 2014 +0200| [00a452a9adea0ffb47de4b0a2a6eec1db2bf842f] | committer: 
Michael Niedermayer

lavd/v4l2: print buffer flags in case of error

Signed-off-by: Michael Niedermayer 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=00a452a9adea0ffb47de4b0a2a6eec1db2bf842f
---

 libavdevice/v4l2.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index fba7764..b0fa765 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -528,8 +528,8 @@ static int mmap_read_frame(AVFormatContext *ctx, AVPacket 
*pkt)
 
 if (s->frame_size > 0 && buf.bytesused != s->frame_size) {
 av_log(ctx, AV_LOG_ERROR,
-   "The v4l2 frame is %d bytes, but %d bytes are expected\n",
-   buf.bytesused, s->frame_size);
+   "The v4l2 frame is %d bytes, but %d bytes are expected. Flags: 
0x%08X\n",
+   buf.bytesused, s->frame_size, buf.flags);
 enqueue_buffer(s, &buf);
 return AVERROR_INVALIDDATA;
 }

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


[FFmpeg-cvslog] avutil/frame: fix everythnig/everything typo

2015-04-24 Thread Clément Bœsch
ffmpeg | branch: master | Clément Bœsch  | Fri Apr 24 
10:57:03 2015 +0200| [8e985b727181786ee5536b61790c8bfbaf43c271] | committer: 
Clément Bœsch

avutil/frame: fix everythnig/everything typo

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8e985b727181786ee5536b61790c8bfbaf43c271
---

 libavutil/frame.h |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavutil/frame.h b/libavutil/frame.h
index 1e6d9cd..e910b51 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -666,7 +666,7 @@ AVFrame *av_frame_clone(const AVFrame *src);
 void av_frame_unref(AVFrame *frame);
 
 /**
- * Move everythnig contained in src to dst and reset src.
+ * Move everything contained in src to dst and reset src.
  */
 void av_frame_move_ref(AVFrame *dst, AVFrame *src);
 

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


[FFmpeg-cvslog] libvpxenc: only set noise reduction w/vp8

2015-04-24 Thread James Zern
ffmpeg | branch: master | James Zern  | Tue Apr 21 00:03:00 
2015 -0700| [238ec505e263e7d0363798a05c1c28f494a6300a] | committer: James Zern

libvpxenc: only set noise reduction w/vp8

this quiets a warning:
Failed to set VP8E_SET_NOISE_SENSITIVITY codec control: Unspecified
internal error

Reviewed-by: Michael Niedermayer 
Signed-off-by: James Zern 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=238ec505e263e7d0363798a05c1c28f494a6300a
---

 libavcodec/libvpxenc.c |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
index 2104876..159fbdd 100644
--- a/libavcodec/libvpxenc.c
+++ b/libavcodec/libvpxenc.c
@@ -525,9 +525,10 @@ static av_cold int vpx_init(AVCodecContext *avctx,
 codecctl_int(avctx, VP8E_SET_ARNR_STRENGTH,ctx->arnr_strength);
 if (ctx->arnr_type >= 0)
 codecctl_int(avctx, VP8E_SET_ARNR_TYPE,ctx->arnr_type);
-codecctl_int(avctx, VP8E_SET_NOISE_SENSITIVITY, avctx->noise_reduction);
-if (avctx->codec_id == AV_CODEC_ID_VP8)
+if (avctx->codec_id == AV_CODEC_ID_VP8) {
+codecctl_int(avctx, VP8E_SET_NOISE_SENSITIVITY, 
avctx->noise_reduction);
 codecctl_int(avctx, VP8E_SET_TOKEN_PARTITIONS,  
av_log2(avctx->slices));
+}
 #if FF_API_MPV_OPT
 FF_DISABLE_DEPRECATION_WARNINGS
 if (avctx->mb_threshold) {

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


[FFmpeg-cvslog] libvpxdec: cosmetics: reindent

2015-04-24 Thread James Zern
ffmpeg | branch: master | James Zern  | Wed Apr 22 14:16:39 
2015 -0700| [db3f86871eb107242c381f106d083022d1adb005] | committer: James Zern

libvpxdec: cosmetics: reindent

Signed-off-by: James Zern 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=db3f86871eb107242c381f106d083022d1adb005
---

 libavcodec/libvpxdec.c |   83 
 1 file changed, 42 insertions(+), 41 deletions(-)

diff --git a/libavcodec/libvpxdec.c b/libavcodec/libvpxdec.c
index 7faef3a..75231f8 100644
--- a/libavcodec/libvpxdec.c
+++ b/libavcodec/libvpxdec.c
@@ -60,55 +60,56 @@ static av_cold int vpx_init(AVCodecContext *avctx,
 }
 
 // returns 0 on success, AVERROR_INVALIDDATA otherwise
-static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img) {
+static int set_pix_fmt(AVCodecContext *avctx, struct vpx_image *img)
+{
 if (avctx->codec_id == AV_CODEC_ID_VP8 && img->fmt != VPX_IMG_FMT_I420)
 return AVERROR_INVALIDDATA;
 switch (img->fmt) {
-case VPX_IMG_FMT_I420:
-avctx->pix_fmt = AV_PIX_FMT_YUV420P;
-return 0;
+case VPX_IMG_FMT_I420:
+avctx->pix_fmt = AV_PIX_FMT_YUV420P;
+return 0;
 #if CONFIG_LIBVPX_VP9_DECODER
-case VPX_IMG_FMT_I422:
-avctx->pix_fmt = AV_PIX_FMT_YUV422P;
+case VPX_IMG_FMT_I422:
+avctx->pix_fmt = AV_PIX_FMT_YUV422P;
+return 0;
+case VPX_IMG_FMT_I444:
+avctx->pix_fmt = AV_PIX_FMT_YUV444P;
+return 0;
+#ifdef VPX_IMG_FMT_HIGHBITDEPTH
+case VPX_IMG_FMT_I42016:
+if (img->bit_depth == 10) {
+avctx->pix_fmt = AV_PIX_FMT_YUV420P10LE;
 return 0;
-case VPX_IMG_FMT_I444:
-avctx->pix_fmt = AV_PIX_FMT_YUV444P;
+} else if (img->bit_depth == 12) {
+avctx->pix_fmt = AV_PIX_FMT_YUV420P12LE;
 return 0;
-#ifdef VPX_IMG_FMT_HIGHBITDEPTH
-case VPX_IMG_FMT_I42016:
-if (img->bit_depth == 10) {
-avctx->pix_fmt = AV_PIX_FMT_YUV420P10LE;
-return 0;
-} else if (img->bit_depth == 12) {
-avctx->pix_fmt = AV_PIX_FMT_YUV420P12LE;
-return 0;
-} else {
-return AVERROR_INVALIDDATA;
-}
-case VPX_IMG_FMT_I42216:
-if (img->bit_depth == 10) {
-avctx->pix_fmt = AV_PIX_FMT_YUV422P10LE;
-return 0;
-} else if (img->bit_depth == 12) {
-avctx->pix_fmt = AV_PIX_FMT_YUV422P12LE;
-return 0;
-} else {
-return AVERROR_INVALIDDATA;
-}
-case VPX_IMG_FMT_I44416:
-if (img->bit_depth == 10) {
-avctx->pix_fmt = AV_PIX_FMT_YUV444P10LE;
-return 0;
-} else if (img->bit_depth == 12) {
-avctx->pix_fmt = AV_PIX_FMT_YUV444P12LE;
-return 0;
-} else {
-return AVERROR_INVALIDDATA;
-}
+} else {
+return AVERROR_INVALIDDATA;
+}
+case VPX_IMG_FMT_I42216:
+if (img->bit_depth == 10) {
+avctx->pix_fmt = AV_PIX_FMT_YUV422P10LE;
+return 0;
+} else if (img->bit_depth == 12) {
+avctx->pix_fmt = AV_PIX_FMT_YUV422P12LE;
+return 0;
+} else {
+return AVERROR_INVALIDDATA;
+}
+case VPX_IMG_FMT_I44416:
+if (img->bit_depth == 10) {
+avctx->pix_fmt = AV_PIX_FMT_YUV444P10LE;
+return 0;
+} else if (img->bit_depth == 12) {
+avctx->pix_fmt = AV_PIX_FMT_YUV444P12LE;
+return 0;
+} else {
+return AVERROR_INVALIDDATA;
+}
 #endif
 #endif
-default:
-return AVERROR_INVALIDDATA;
+default:
+return AVERROR_INVALIDDATA;
 }
 }
 

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


[FFmpeg-cvslog] libvpxenc: cosmetics: reindent

2015-04-24 Thread James Zern
ffmpeg | branch: master | James Zern  | Wed Apr 22 14:16:06 
2015 -0700| [e07ef1ada3d8a0dff5f4064a234544e1b0e3cd94] | committer: James Zern

libvpxenc: cosmetics: reindent

Signed-off-by: James Zern 

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e07ef1ada3d8a0dff5f4064a234544e1b0e3cd94
---

 libavcodec/libvpxenc.c |   26 +-
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
index 159fbdd..c2408a5 100644
--- a/libavcodec/libvpxenc.c
+++ b/libavcodec/libvpxenc.c
@@ -269,7 +269,8 @@ static av_cold int vp8_free(AVCodecContext *avctx)
 #if CONFIG_LIBVPX_VP9_ENCODER
 static int set_pix_fmt(AVCodecContext *avctx, vpx_codec_caps_t codec_caps,
struct vpx_codec_enc_cfg *enccfg, vpx_codec_flags_t 
*flags,
-   vpx_img_fmt_t *img_fmt) {
+   vpx_img_fmt_t *img_fmt)
+{
 #ifdef VPX_IMG_FMT_HIGHBITDEPTH
 enccfg->g_bit_depth = enccfg->g_input_bit_depth = 8;
 #endif
@@ -422,12 +423,12 @@ static av_cold int vpx_init(AVCodecContext *avctx,
 #if CONFIG_LIBVPX_VP9_ENCODER
 || enccfg.rc_end_usage == VPX_Q
 #endif
-) {
+   ) {
 if (ctx->crf < enccfg.rc_min_quantizer || ctx->crf > 
enccfg.rc_max_quantizer) {
-av_log(avctx, AV_LOG_ERROR,
-   "CQ level %d must be between minimum and maximum 
quantizer value (%d-%d)\n",
-   ctx->crf, enccfg.rc_min_quantizer, 
enccfg.rc_max_quantizer);
-return AVERROR(EINVAL);
+av_log(avctx, AV_LOG_ERROR,
+   "CQ level %d must be between minimum and maximum quantizer 
value (%d-%d)\n",
+   ctx->crf, enccfg.rc_min_quantizer, enccfg.rc_max_quantizer);
+return AVERROR(EINVAL);
 }
 }
 
@@ -436,7 +437,7 @@ static av_cold int vpx_init(AVCodecContext *avctx,
 //0-100 (0 => CBR, 100 => VBR)
 enccfg.rc_2pass_vbr_bias_pct   = round(avctx->qcompress * 100);
 if (avctx->bit_rate)
-enccfg.rc_2pass_vbr_minsection_pct =
+enccfg.rc_2pass_vbr_minsection_pct =
 avctx->rc_min_rate * 100LL / avctx->bit_rate;
 if (avctx->rc_max_rate)
 enccfg.rc_2pass_vbr_maxsection_pct =
@@ -490,8 +491,8 @@ static av_cold int vpx_init(AVCodecContext *avctx,
 /* 0-3: For non-zero values the encoder increasingly optimizes for reduced
complexity playback on low powered devices at the expense of encode
quality. */
-   if (avctx->profile != FF_PROFILE_UNKNOWN)
-   enccfg.g_profile = avctx->profile;
+if (avctx->profile != FF_PROFILE_UNKNOWN)
+enccfg.g_profile = avctx->profile;
 
 enccfg.g_error_resilient = ctx->error_resilient || ctx->flags & 
VP8F_ERROR_RESILIENT;
 
@@ -611,8 +612,7 @@ static inline void cx_pktcpy(struct FrameListData *dst,
 if (src_alpha) {
 dst->buf_alpha = src_alpha->data.frame.buf;
 dst->sz_alpha = src_alpha->data.frame.sz;
-}
-else {
+} else {
 dst->buf_alpha = NULL;
 dst->sz_alpha = 0;
 }
@@ -703,8 +703,8 @@ static int queue_frames(AVCodecContext *avctx, AVPacket 
*pkt_out,
 /* consume all available output from the encoder before returning. buffers
are only good through the next vpx_codec call */
 while ((pkt = vpx_codec_get_cx_data(&ctx->encoder, &iter)) &&
-(!ctx->is_alpha ||
- (ctx->is_alpha && (pkt_alpha = 
vpx_codec_get_cx_data(&ctx->encoder_alpha, &iter_alpha) {
+   (!ctx->is_alpha ||
+(ctx->is_alpha && (pkt_alpha = 
vpx_codec_get_cx_data(&ctx->encoder_alpha, &iter_alpha) {
 switch (pkt->kind) {
 case VPX_CODEC_CX_FRAME_PKT:
 if (!size) {

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