Re: [FFmpeg-devel] [PATCH] avfilter/showcqt: add fontcolor option

2014-08-23 Thread Clément Bœsch
On Sat, Aug 23, 2014 at 05:51:31AM +0700, Muhammad Faiz wrote:
[...]
> Update patch to the latest master branch.
> 
> Thank's.
> 
> Muhammad Faiz

> 
> ---
>  doc/filters.texi  |  26 
>  libavfilter/avf_showcqt.c | 102 
> --
>  libavfilter/version.h |   2 +-
>  3 files changed, 98 insertions(+), 32 deletions(-)
> 

Thanks, applied.

Next time please send a git-format-patch (git commit ... && git
format-patch -1, or use git send-email) instead, so it saves the committer
the time to copy/paste the commit message and author.

[...]

-- 
Clément B.


pgpnMiUxLoEFx.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 3/5] avutil/pixelutils: faster pixelutils_sad_[au]_16x16

2014-08-23 Thread Clément Bœsch
On Sun, Aug 17, 2014 at 01:51:13PM +0200, Michael Niedermayer wrote:
> On Thu, Aug 14, 2014 at 11:05:13PM +0200, Clément Bœsch wrote:
> > ~560 → ~500 decicycles
> > 
> > This is following the comments from Michael in
> > https://ffmpeg.org/pipermail/ffmpeg-devel/2014-August/160599.html
> > 
> > Using 2 registers for accumulator didn't help. On the other hand,
> > some re-ordering between the movs and psadbw allowed going ~538 to ~500.
> > ---
> >  libavutil/x86/pixelutils.asm | 14 +-
> >  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> should be ok
> 

applied, thanks

-- 
Clément B.


pgpaYzMElEx_1.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avfilter/showcqt: add fontcolor option

2014-08-23 Thread Muhammad Faiz
On Sat, Aug 23, 2014 at 3:09 PM, Clément Bœsch  wrote:

> Next time please send a git-format-patch (git commit ... && git
> format-patch -1, or use git send-email) instead, so it saves the committer
> the time to copy/paste the commit message and author.
>
> Thank's for the suggestion

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


Re: [FFmpeg-devel] Reintroducing FFmpeg to Debian

2014-08-23 Thread Andreas Cadhalpun

Hi,

On 17.08.2014 00:49, Andreas Cadhalpun wrote:

I have now sent the pkg-config patches to the BTS [1].


I have found a simpler way to make it possible to link packages not 
using pkg-config against FFmpeg in Debian:
The lib*-ffmpeg-dev packages now install symbolic links from the 
standard lib*.so library names to the suffixed ones.
This makes it possible to use the normal linker flags, e.g. '-lavcodec', 
to link against the FFmpeg libraries with '-ffmpeg' suffix.


Therefore I have closed the bugs with the pkg-config patches [1].

Thus, once FFmpeg is through NEW, most packages can just switch the 
build-dependencies to be build against FFmpeg.


Best regards,
Andreas


1: 
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=reintroducing-ffmpeg;users=andreas.cadhal...@googlemail.com


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


Re: [FFmpeg-devel] [PATCH] lavc/tiff: add support for LZMA compression

2014-08-23 Thread Michael Niedermayer
On Fri, Aug 22, 2014 at 11:39:57PM -0300, James Almer wrote:
> Derived from deflate code.
> Requires liblzma.
> 
> Signed-off-by: James Almer 

how can this be tested ?
do you have a testcase / sample ?

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

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


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


Re: [FFmpeg-devel] [PATCH] lavc/tiff: add support for LZMA compression

2014-08-23 Thread Hendrik Leppkes
On Sat, Aug 23, 2014 at 1:31 PM, Michael Niedermayer  wrote:
> On Fri, Aug 22, 2014 at 11:39:57PM -0300, James Almer wrote:
>> Derived from deflate code.
>> Requires liblzma.
>>
>> Signed-off-by: James Almer 
>
> how can this be tested ?
> do you have a testcase / sample ?
>

This image should be lzma compressed:
https://www.flameeyes.eu/tmp/imgsrc001-lzma.tiff

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


[FFmpeg-devel] [PATCH]Do not show an unreadable error code if mov header parsing fails

2014-08-23 Thread Carl Eugen Hoyos
Hi!

I don't think showing "-1094995529" or similar makes much sense.
The calling application can still decide to show the error 
string (as ffmpeg does).

Please comment, Carl Eugen
diff --git a/libavformat/mov.c b/libavformat/mov.c
index b3eb287..ae48c02 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3562,7 +3562,7 @@ static int mov_read_header(AVFormatContext *s)
 if (mov->moov_retry)
 avio_seek(pb, 0, SEEK_SET);
 if ((err = mov_read_default(mov, pb, atom)) < 0) {
-av_log(s, AV_LOG_ERROR, "error reading header: %d\n", err);
+av_log(s, AV_LOG_ERROR, "error reading header\n");
 mov_read_close(s);
 return err;
 }
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] web/style: Add a comment in the generated css file for the doc in the main repo

2014-08-23 Thread Andreas Cadhalpun

Hi,

On 25.07.2014 11:25, db0 company wrote:

Since the style in the release is the one generated from the website,
it has to be the same license. If we add a license to the css/less,
then it's better to have the same on the whole website.
I'll add one.


Did you choose a license already?

Best regards,
Andreas
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Use makeinfo to generate html doc for the new website

2014-08-23 Thread Andreas Cadhalpun

Hi,

On 20.07.2014 23:23, Timothy Gu wrote:

texi2html is deprecated by upstream in favor of makeinfo/texi2any. See:

- https://www.gnu.org/software/texinfo/manual/texinfo/html_node/texi2html.html
- https://wiki.debian.org/Texi2htmlTransition
- https://lists.debian.org/debian-devel/2013/05/msg01516.html

This is actually two separate changes. But as makeinfo and texi2html
adopt 2 (very) different init file syntaxes, it is easier to do the two
transitions at once.

Based on a patch by Andreas Cadhalpun .

Fixes Trac ticket #3232.

Signed-off-by: Timothy Gu 
---


Is there a reason, why this patch hasn't been applied?

Best regards,
Andreas
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread Christophe Gisquet
As far as I can see, the only reason those functions are SSE4 is because
of the pextrw needed for the following block widths:
- 2, used  only by chroma;
- 6, used by chroma and indirectly by luma;
- 12, used by both.
The better solution would be to convert all chroma handling to NV12, but
it is vastly simpler to modify the above cases to not use pextrw.

This is done in 2 steps:
- Fix width of 12 to do 8+4 instead of 6+6;
- Modify the store macros for width 2 and 6 by passing data through
  a GPR (alas at the cost for some functions of a supplementary GPR).

Christophe Gisquet (2):
  x86: hevc_mc: split differently calls
  x86: hevc_mc: convert to ssse3

 libavcodec/x86/hevc_mc.asm|  63 +++--
 libavcodec/x86/hevcdsp.h  |  48 ++--
 libavcodec/x86/hevcdsp_init.c | 561 ++
 3 files changed, 362 insertions(+), 310 deletions(-)

-- 
1.9.2.msysgit.0

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


[FFmpeg-devel] [PATCH 1/2] x86: hevc_mc: split differently calls

2014-08-23 Thread Christophe Gisquet
In some cases, 2 or 3 calls are performed to functions for unusual
widths. Instead, perform 2 calls for different widths to split the
workload.

The 8+16 and 4+8 widths for respectively 8 and more than 8 bits can't
be processed that way without modifications: some calls use unaligned
buffers, and having branches to handle this was resulting in no
micro-benchmark benefit.

For block_w == 12 (around 1% of the pixels of the sequence):
Before:
12758 decicycles in epel_uni, 4093 runs, 3 skips
19389 decicycles in qpel_uni, 8187 runs, 5 skips
22699 decicycles in epel_bi, 32743 runs, 25 skips
34736 decicycles in qpel_bi, 32733 runs, 35 skips

After:
11929 decicycles in epel_uni, 4096 runs, 0 skips
18131 decicycles in qpel_uni, 8184 runs, 8 skips
20065 decicycles in epel_bi, 32750 runs, 18 skips
31458 decicycles in qpel_bi, 32753 runs, 15 skips
---
 libavcodec/x86/hevcdsp_init.c | 43 +--
 1 file changed, 41 insertions(+), 2 deletions(-)

diff --git a/libavcodec/x86/hevcdsp_init.c b/libavcodec/x86/hevcdsp_init.c
index 3b7cc51..6bcced6 100644
--- a/libavcodec/x86/hevcdsp_init.c
+++ b/libavcodec/x86/hevcdsp_init.c
@@ -123,6 +123,45 @@ void 
ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *_dst, ptrdiff_t dst
 mc_rep_uni_func(name, bitd, step, W, opt);\
 mc_rep_bi_func(name, bitd, step, W, opt)
 
+#define mc_rep_func2(name, bitd, step1, step2, W, opt) \
+void ff_hevc_put_hevc_##name##W##_##bitd##_##opt(int16_t *dst, 
 \
+ uint8_t *src, ptrdiff_t 
_srcstride, int height,\
+ intptr_t mx, intptr_t my, int 
width)   \
+{  
 \
+ff_hevc_put_hevc_##name##step1##_##bitd##_##opt(dst, src, _srcstride, 
height, mx, my, width);   \
+ff_hevc_put_hevc_##name##step2##_##bitd##_##opt(dst + step1, src + (step1 
* ((bitd + 7) / 8)),  \
+_srcstride, height, mx, 
my, width); \
+}
+#define mc_rep_uni_func2(name, bitd, step1, step2, W, opt) \
+void ff_hevc_put_hevc_uni_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t 
dststride, \
+ uint8_t *src, ptrdiff_t 
_srcstride, int height,\
+ intptr_t mx, intptr_t my, 
int width)   \
+{  
 \
+ff_hevc_put_hevc_uni_##name##step1##_##bitd##_##opt(dst, dststride, src, 
_srcstride, height, mx, my, width);\
+ff_hevc_put_hevc_uni_##name##step2##_##bitd##_##opt(dst + (step1 * ((bitd 
+ 7) / 8)), dststride,\
+src + (step1 * ((bitd 
+ 7) / 8)), _srcstride,   \
+height, mx, my, 
width); \
+}
+#define mc_rep_bi_func2(name, bitd, step1, step2, W, opt) \
+void ff_hevc_put_hevc_bi_##name##W##_##bitd##_##opt(uint8_t *dst, ptrdiff_t 
dststride, uint8_t *src,\
+ptrdiff_t _srcstride, 
int16_t* src2,\
+int height, intptr_t mx, 
intptr_t my, int width)\
+{  
 \
+ff_hevc_put_hevc_bi_##name##step1##_##bitd##_##opt(dst, dststride, src, 
_srcstride, src2, height, mx, my, width);\
+ff_hevc_put_hevc_bi_##name##step2##_##bitd##_##opt(dst + (step1 * ((bitd + 
7) / 8)), dststride, \
+   src + (step1 * ((bitd + 
7) / 8)), _srcstride,\
+   src2 + step1, height, 
mx, my, width);\
+}
+
+#define mc_rep_funcs(name, bitd, step, W, opt)\
+mc_rep_func(name, bitd, step, W, opt);\
+mc_rep_uni_func(name, bitd, step, W, opt);\
+mc_rep_bi_func(name, bitd, step, W, opt)
+
+#define mc_rep_funcs2(name, bitd, step1, step2, W, opt) \
+mc_rep_func2(name, bitd, step1, step2, W, opt); \
+mc_rep_uni_func2(name, bitd, step1, step2, W, opt); \
+mc_rep_bi_func2(name, bitd, step1, step2, W, opt)
 
 #if ARCH_X86_64 && HAVE_SSE4_EXTERNAL
 
@@ -180,7 +219,7 @@ mc_rep_funcs(epel_hv, 8,  8, 48, sse4);
 mc_rep_funcs(epel_hv, 8,  8, 32, sse4);
 mc_rep_funcs(epel_hv, 8,  8, 24, sse4);
 mc_rep_funcs(epel_hv, 8,  8, 16, sse4);
-mc_rep_funcs(epel_hv, 8,  4, 12, sse4);
+mc_rep_funcs2(epel_hv,8,  8,  4, 12, sse4);
 mc

[FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread Christophe Gisquet
The only sse4 instruction is pextrw, which is used on rather minor
functions for small blocks. Therefore use whichever GPR is available
to extract the output word.

Before (sse4), for block_w == 6:
4627 decicycles in epel_uni, 16377 runs, 7 skips
7422 decicycles in epel_bi, 65501 runs, 35 skips

After:
4649 decicycles in epel_uni, 16371 runs, 13 skips
7432 decicycles in epel_bi, 65505 runs, 31 skips
---
 libavcodec/x86/hevc_mc.asm|  63 +++--
 libavcodec/x86/hevcdsp.h  |  48 ++--
 libavcodec/x86/hevcdsp_init.c | 522 +-
 3 files changed, 323 insertions(+), 310 deletions(-)

diff --git a/libavcodec/x86/hevc_mc.asm b/libavcodec/x86/hevc_mc.asm
index e2236ec..eb61b18 100644
--- a/libavcodec/x86/hevc_mc.asm
+++ b/libavcodec/x86/hevc_mc.asm
@@ -52,9 +52,9 @@ hevc_epel_filters_%4_%1 times %2 d%3 -2, 58
 
 
 
-EPEL_TABLE  8, 8, b, sse4
-EPEL_TABLE 10, 4, w, sse4
-EPEL_TABLE 12, 4, w, sse4
+EPEL_TABLE  8, 8, b, ssse3
+EPEL_TABLE 10, 4, w, ssse3
+EPEL_TABLE 12, 4, w, ssse3
 
 %macro QPEL_TABLE 4
 hevc_qpel_filters_%4_%1 times %2 d%3  -1,  4
@@ -71,13 +71,13 @@ hevc_qpel_filters_%4_%1 times %2 d%3  -1,  4
 times %2 d%3   4, -1
 %endmacro
 
-QPEL_TABLE  8, 8, b, sse4
-QPEL_TABLE 10, 4, w, sse4
-QPEL_TABLE 12, 4, w, sse4
+QPEL_TABLE  8, 8, b, ssse3
+QPEL_TABLE 10, 4, w, ssse3
+QPEL_TABLE 12, 4, w, ssse3
 
 %define MAX_PB_SIZE  64
 
-%define hevc_qpel_filters_sse4_14 hevc_qpel_filters_sse4_10
+%define hevc_qpel_filters_ssse3_14 hevc_qpel_filters_ssse3_10
 
 %if ARCH_X86_64
 
@@ -121,9 +121,9 @@ QPEL_TABLE 12, 4, w, sse4
 
 %macro EPEL_FILTER 2-4; bit depth, filter index
 %ifdef PIC
-lea rfilterq, [hevc_epel_filters_sse4_%1]
+lea rfilterq, [hevc_epel_filters_ssse3_%1]
 %else
-%define rfilterq hevc_epel_filters_sse4_%1
+%define rfilterq hevc_epel_filters_ssse3_%1
 %endif
 sub  %2q, 1
 shl  %2q, 5  ; multiply by 32
@@ -138,9 +138,9 @@ QPEL_TABLE 12, 4, w, sse4
 
 %macro EPEL_HV_FILTER 1
 %ifdef PIC
-lea rfilterq, [hevc_epel_filters_sse4_%1]
+lea rfilterq, [hevc_epel_filters_ssse3_%1]
 %else
-%define rfilterq hevc_epel_filters_sse4_%1
+%define rfilterq hevc_epel_filters_ssse3_%1
 %endif
 sub  mxq, 1
 sub  myq, 1
@@ -151,9 +151,9 @@ QPEL_TABLE 12, 4, w, sse4
 lea   r3srcq, [srcstrideq*3]
 
 %ifdef PIC
-lea rfilterq, [hevc_epel_filters_sse4_10]
+lea rfilterq, [hevc_epel_filters_ssse3_10]
 %else
-%define rfilterq hevc_epel_filters_sse4_10
+%define rfilterq hevc_epel_filters_ssse3_10
 %endif
 movdqa   m12, [rfilterq + myq]; get 2 first values of 
filters
 movdqa   m13, [rfilterq + myq+16] ; get 2 last values of 
filters
@@ -161,9 +161,9 @@ QPEL_TABLE 12, 4, w, sse4
 
 %macro QPEL_FILTER 2
 %ifdef PIC
-lea rfilterq, [hevc_qpel_filters_sse4_%1]
+lea rfilterq, [hevc_qpel_filters_ssse3_%1]
 %else
-%define rfilterq hevc_qpel_filters_sse4_%1
+%define rfilterq hevc_qpel_filters_ssse3_%1
 %endif
 lea  %2q, [%2q*8-8]
 movdqa   m12, [rfilterq + %2q*8]   ; get 4 first values of 
filters
@@ -357,14 +357,25 @@ QPEL_TABLE 12, 4, w, sse4
 %endmacro
 
 %macro PEL_8STORE2 3
+%if cpuflag(sse4)
 pextrw  [%1], %2, 0
+%else
+movdrfilterd, %2
+mov [%1], rfilterw
+%endif
 %endmacro
 %macro PEL_8STORE4 3
 movd[%1], %2
 %endmacro
 %macro PEL_8STORE6 3
 movd[%1], %2
+%if cpuflag(sse4)
 pextrw[%1+4], %2, 2
+%else
+psrldq%2, 4
+movdrfilterd, %2
+mov   [%1+4], rfilterw
+%endif
 %endmacro
 %macro PEL_8STORE8 3
 movq   [%1], %2
@@ -426,7 +437,7 @@ QPEL_TABLE 12, 4, w, sse4
 %endmacro
 
 %macro QPEL_SET_POINTER  2
-lea rfilterq, [hevc_qpel_filters_sse4_%1]
+lea rfilterq, [hevc_qpel_filters_ssse3_%1]
 lea  %2q, [rfilterq + 8*%2q]
 %endmacro
 
@@ -535,7 +546,6 @@ QPEL_TABLE 12, 4, w, sse4
 %endif
 %endmacro
 
-INIT_XMM sse4; adds ff_ and _sse4 to 
function name
 ; **
 ; void put_hevc_mc_pixels(int16_t *dst, ptrdiff_t dststride,
 ; uint8_t *_src, ptrdiff_t _srcstride,
@@ -543,7 +553,7 @@ INIT_XMM sse4; adds ff_ 
and _sse4 to functio
 ; **
 
 %macro HEVC_PUT_HEVC_PEL_PIXELS 2
-cglobal hevc_put_hevc_pel_pixels%1_%2, 4, 4, 3, dst, src, srcstride,height
+cglobal hevc_put_hevc_pel_pixels%1_%2, 4, 5, 3, dst, src, srcstride, height, 
rfilter
 pxor   m2, m2
 .loop
 SIMPLE_LOAD   %1, %2, srcq, m0
@@ -552,7 +562,7 @@ cglobal hevc_put_hevc_pel_pixels%1_%2, 4, 4, 3, dst, src, 
srcstride,height
 LOOP_END dst, src, srcstride
 RET
 

Re: [FFmpeg-devel] [PATCH 3/4] dict.c: Free non-strduped av_dict_set arguments on error.

2014-08-23 Thread Reimar Döffinger
On Fri, Aug 22, 2014 at 07:47:09AM +0200, Reimar Döffinger wrote:
> On 22.08.2014, at 07:36, Reimar Döffinger  wrote:
> > On 22.08.2014, at 04:06, Michael Niedermayer  wrote:
> >> On Sat, Aug 16, 2014 at 02:43:46PM +0200, Reimar Döffinger wrote:
> >>> On Wed, Aug 13, 2014 at 01:57:56PM +0200, Michael Niedermayer wrote:
>  On Mon, Aug 11, 2014 at 09:17:18PM +0200, Reimar Döffinger wrote:
> > Unfortunately this was not explicitly documented and thus
> > might be very risky.
>  
>  yes
>  
>  maybe a AV_DICT_FREE_ARGS_ON_ERROR could be used, but its not as
>  convenient as getting the behavior by default
> >>> 
> >>> That would add a lot of clutter and make it more inconvenient to use
> >>> and likely to be forgotten.
> >>> I also honestly see no real use-case for not setting it.
> >>> One way to solve this would be to deprecate AV_DICT_DONT_STRDUP_KEY/
> >>> AV_DICT_DONT_STRDUP_VAL, warning that they fail to free on error
> >>> and then add new values, e.g. AV_DICT_OWN_KEY (better suggestions?)
> >>> with the new behaviour.
> >>> Will still be a bit of a pain to replace all uses in FFmpeg, but
> >>> manageable.
> >>> What do you think? Better suggestions?
> >> 
> >> i guess its either to apply the patch or not, i dont see a better
> >> solution. renaming and deprecating options is certainly a bigger mess
> >> and doesnt avoid the problem 
> > 
> > Given how fixing all uses in FFmpeg would be a bigger mess IMHO I'd favour 
> > applying it, if necessary with the ABI bump as excuse.
> > If you agree apply it (or wait for me to do it this evening at earliest).
> 
> Note I found only one use outside FFmpeg, in VLC's avcommon.h, and it does 
> not check return value, so it would actually be fixed by this change, too.

Pushed, with some minor refinements like bumping minor in case someone
really needs to test for it.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread Mickaël Raulet
For 10bits and 12bits, they should stay sse4 as well because of packusdw. You 
need some instructions to convert it to ssse3 see below


static av_always_inline __m128i _MM_PACKUS_EPI32( __m128i a, __m128i b )
{
 a = _mm_slli_epi32 (a, 16);
 a = _mm_srai_epi32 (a, 16);
 b = _mm_slli_epi32 (b, 16);
 b = _mm_srai_epi32 (b, 16);
 a = _mm_packs_epi32 (a, b);
return a;
}

Mickaël



Le 23 août 2014 à 15:22, Christophe Gisquet  a 
écrit :

> As far as I can see, the only reason those functions are SSE4 is because
> of the pextrw needed for the following block widths:
> - 2, used  only by chroma;
> - 6, used by chroma and indirectly by luma;
> - 12, used by both.
> The better solution would be to convert all chroma handling to NV12, but
> it is vastly simpler to modify the above cases to not use pextrw.
> 
> This is done in 2 steps:
> - Fix width of 12 to do 8+4 instead of 6+6;
> - Modify the store macros for width 2 and 6 by passing data through
>  a GPR (alas at the cost for some functions of a supplementary GPR).
> 
> Christophe Gisquet (2):
>  x86: hevc_mc: split differently calls
>  x86: hevc_mc: convert to ssse3
> 
> libavcodec/x86/hevc_mc.asm|  63 +++--
> libavcodec/x86/hevcdsp.h  |  48 ++--
> libavcodec/x86/hevcdsp_init.c | 561 ++
> 3 files changed, 362 insertions(+), 310 deletions(-)
> 
> -- 
> 1.9.2.msysgit.0
> 
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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


Re: [FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread James Almer
On 23/08/14 11:07 AM, Mickaël Raulet wrote:
> For 10bits and 12bits, they should stay sse4 as well because of packusdw. You 
> need some instructions to convert it to ssse3 see below
> 
> 
> static av_always_inline __m128i _MM_PACKUS_EPI32( __m128i a, __m128i b )
> {
>  a = _mm_slli_epi32 (a, 16);
>  a = _mm_srai_epi32 (a, 16);
>  b = _mm_slli_epi32 (b, 16);
>  b = _mm_srai_epi32 (b, 16);
>  a = _mm_packs_epi32 (a, b);
> return a;
> }

There's a PACK macro in lavfi/x86/yasm-16.asm that does this without intrinsics.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread James Almer
On 23/08/14 10:22 AM, Christophe Gisquet wrote:
> The only sse4 instruction is pextrw, which is used on rather minor
> functions for small blocks. Therefore use whichever GPR is available
> to extract the output word.
> 
> Before (sse4), for block_w == 6:
> 4627 decicycles in epel_uni, 16377 runs, 7 skips
> 7422 decicycles in epel_bi, 65501 runs, 35 skips
> 
> After:
> 4649 decicycles in epel_uni, 16371 runs, 13 skips
> 7432 decicycles in epel_bi, 65505 runs, 31 skips
> ---
>  libavcodec/x86/hevc_mc.asm|  63 +++--
>  libavcodec/x86/hevcdsp.h  |  48 ++--
>  libavcodec/x86/hevcdsp_init.c | 522 
> +-
>  3 files changed, 323 insertions(+), 310 deletions(-)
> 
> diff --git a/libavcodec/x86/hevc_mc.asm b/libavcodec/x86/hevc_mc.asm
> index e2236ec..eb61b18 100644
> --- a/libavcodec/x86/hevc_mc.asm
> +++ b/libavcodec/x86/hevc_mc.asm
> @@ -52,9 +52,9 @@ hevc_epel_filters_%4_%1 times %2 d%3 -2, 58
>  
>  
>  
> -EPEL_TABLE  8, 8, b, sse4
> -EPEL_TABLE 10, 4, w, sse4
> -EPEL_TABLE 12, 4, w, sse4
> +EPEL_TABLE  8, 8, b, ssse3
> +EPEL_TABLE 10, 4, w, ssse3
> +EPEL_TABLE 12, 4, w, ssse3
>  
>  %macro QPEL_TABLE 4
>  hevc_qpel_filters_%4_%1 times %2 d%3  -1,  4
> @@ -71,13 +71,13 @@ hevc_qpel_filters_%4_%1 times %2 d%3  -1,  4
>  times %2 d%3   4, -1
>  %endmacro
>  
> -QPEL_TABLE  8, 8, b, sse4
> -QPEL_TABLE 10, 4, w, sse4
> -QPEL_TABLE 12, 4, w, sse4
> +QPEL_TABLE  8, 8, b, ssse3
> +QPEL_TABLE 10, 4, w, ssse3
> +QPEL_TABLE 12, 4, w, ssse3

Do these need to be duplicated? You could just remove the suffix and let 
every version of the function use the same tables.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread Timothy Gu
On Aug 23, 2014 7:47 AM, "James Almer"  wrote:
>
> On 23/08/14 11:07 AM, Mickaël Raulet wrote:
> > For 10bits and 12bits, they should stay sse4 as well because of
packusdw. You need some instructions to convert it to ssse3 see below
> >
> >
> > static av_always_inline __m128i _MM_PACKUS_EPI32( __m128i a, __m128i b )
> > {
> >  a = _mm_slli_epi32 (a, 16);
> >  a = _mm_srai_epi32 (a, 16);
> >  b = _mm_slli_epi32 (b, 16);
> >  b = _mm_srai_epi32 (b, 16);
> >  a = _mm_packs_epi32 (a, b);
> > return a;
> > }
>
> There's a PACK macro in lavfi/x86/yasm-16.asm that does this without
intrinsics.

You meant yadif-16, right?

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


Re: [FFmpeg-devel] [PATCH] lavc/tiff: add support for LZMA compression

2014-08-23 Thread James Almer
On 23/08/14 8:37 AM, Hendrik Leppkes wrote:
> On Sat, Aug 23, 2014 at 1:31 PM, Michael Niedermayer  wrote:
>> On Fri, Aug 22, 2014 at 11:39:57PM -0300, James Almer wrote:
>>> Derived from deflate code.
>>> Requires liblzma.
>>>
>>> Signed-off-by: James Almer 
>>
>> how can this be tested ?
>> do you have a testcase / sample ?
>>
> 
> This image should be lzma compressed:
> https://www.flameeyes.eu/tmp/imgsrc001-lzma.tiff
> 
> - Hendrik

I get an assertion failure "width <= bytes_per_row" from this file in 
tiff_unpack_strip(), before the lzma code even comes to play.
libtiff seems to be able to handle it, though, so could open a ticket in track 
after this gets committed (Without this patch the decoder just aborts as soon 
as it finds it's lzma).
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread James Almer
On 23/08/14 11:55 AM, Timothy Gu wrote:
> On Aug 23, 2014 7:47 AM, "James Almer"  wrote:
>>
>> On 23/08/14 11:07 AM, Mickaël Raulet wrote:
>>> For 10bits and 12bits, they should stay sse4 as well because of
> packusdw. You need some instructions to convert it to ssse3 see below
>>>
>>>
>>> static av_always_inline __m128i _MM_PACKUS_EPI32( __m128i a, __m128i b )
>>> {
>>>  a = _mm_slli_epi32 (a, 16);
>>>  a = _mm_srai_epi32 (a, 16);
>>>  b = _mm_slli_epi32 (b, 16);
>>>  b = _mm_srai_epi32 (b, 16);
>>>  a = _mm_packs_epi32 (a, b);
>>> return a;
>>> }
>>
>> There's a PACK macro in lavfi/x86/yasm-16.asm that does this without
> intrinsics.
> 
> You meant yadif-16, right?
> 
> Timothy

Oops, yes i meant that :P
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread Christophe Gisquet
Hi,

2014-08-23 16:52 GMT+02:00 James Almer :
>> -QPEL_TABLE  8, 8, b, sse4
>> -QPEL_TABLE 10, 4, w, sse4
>> -QPEL_TABLE 12, 4, w, sse4
>> +QPEL_TABLE  8, 8, b, ssse3
>> +QPEL_TABLE 10, 4, w, ssse3
>> +QPEL_TABLE 12, 4, w, ssse3
>
> Do these need to be duplicated? You could just remove the suffix and let
> every version of the function use the same tables.

What do you mean by duplicated? That tables for 10 and 12 are?

Otherwise, I'm leaving the ssse3/opt parameter for 2 reasons:
- try to not perform changes that aren't required for it to work
- I don't know how the avx2 code would look but indeed, if it had to
use other tables, it would then use new macro(s)

Maybe your suggestions could be delayed after the code is converted to
ssse3? Probably there wouldn't be any, but patch conflicts would be
cumbersome.

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


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread James Almer
On 23/08/14 12:11 PM, Christophe Gisquet wrote:
> Hi,
> 
> 2014-08-23 16:52 GMT+02:00 James Almer :
>>> -QPEL_TABLE  8, 8, b, sse4
>>> -QPEL_TABLE 10, 4, w, sse4
>>> -QPEL_TABLE 12, 4, w, sse4
>>> +QPEL_TABLE  8, 8, b, ssse3
>>> +QPEL_TABLE 10, 4, w, ssse3
>>> +QPEL_TABLE 12, 4, w, ssse3
>>
>> Do these need to be duplicated? You could just remove the suffix and let
>> every version of the function use the same tables.
> 
> What do you mean by duplicated? That tables for 10 and 12 are?
> 
> Otherwise, I'm leaving the ssse3/opt parameter for 2 reasons:
> - try to not perform changes that aren't required for it to work
> - I don't know how the avx2 code would look but indeed, if it had to
> use other tables, it would then use new macro(s)
> 
> Maybe your suggestions could be delayed after the code is converted to
> ssse3? Probably there wouldn't be any, but patch conflicts would be
> cumbersome.

I was talking about the opt suffix since both the ssse3 and sse4 tables will 
be the same.
And sure, it was just a suggestion, so go with whatever is easier for you.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread Christophe Gisquet
Hi,

2014-08-23 17:01 GMT+02:00 James Almer :
>>> There's a PACK macro in lavfi/x86/yasm-16.asm that does this without
>> intrinsics.
>>
>> You meant yadif-16, right?
>>
>> Timothy
>
> Oops, yes i meant that :P

I expect it to be needed for the weighted pred functions, so I'll
split it from yadif-16 into x264util under a more explicit name
(PACK_U32? PACK_U32_TO_16 ?)

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


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread Christophe Gisquet
Hi,

2014-08-23 17:16 GMT+02:00 James Almer :
>> What do you mean by duplicated? That tables for 10 and 12 are?
[...]
> I was talking about the opt suffix since both the ssse3 and sse4 tables will
> be the same.

Oh ok, in case we have to instantiate sse4 versions. Because at the
moment there are only tables for ssse3 with this patch.

Ideally, if the loss is sufficiently small between the ssse3 and sse4
versions, we'd just keep the sse3 version, as the object code increase
wouldn't be worth it.

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


Re: [FFmpeg-devel] [PATCH 0/2] x86: hevc_mc: port to SSSE3

2014-08-23 Thread James Almer
On 23/08/14 12:15 PM, Christophe Gisquet wrote:
> Hi,
> 
> 2014-08-23 17:01 GMT+02:00 James Almer :
 There's a PACK macro in lavfi/x86/yasm-16.asm that does this without
>>> intrinsics.
>>>
>>> You meant yadif-16, right?
>>>
>>> Timothy
>>
>> Oops, yes i meant that :P
> 
> I expect it to be needed for the weighted pred functions, so I'll
> split it from yadif-16 into x264util under a more explicit name
> (PACK_U32? PACK_U32_TO_16 ?)

PACKUSDW. Like other macros that emulate a single instruction (PALIGNR, PABSW, 
etc) you can use its name.

The yadif-16.asm macro seems to be for a single register. It will have to be 
changed to support two.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] lavc/tiff: add support for LZMA compression

2014-08-23 Thread James Almer
On 23/08/14 8:31 AM, Michael Niedermayer wrote:
> On Fri, Aug 22, 2014 at 11:39:57PM -0300, James Almer wrote:
>> Derived from deflate code.
>> Requires liblzma.
>>
>> Signed-off-by: James Almer 
> 
> how can this be tested ?
> do you have a testcase / sample ?

libtiff can create lzma compressed files. You can install xz-utils from most 
linux distros.

I nonetheless uploaded three files to the ftp (rgb, yuv420p and pal8 to 
test all code paths). They are called rgv-3c-8b_lzma.tif, yuv-3c-8b_lzma.tif 
and palette-1c-4b_lzma.tiff
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread James Almer
On 23/08/14 12:20 PM, Christophe Gisquet wrote:
> Hi,
> 
> 2014-08-23 17:16 GMT+02:00 James Almer :
>>> What do you mean by duplicated? That tables for 10 and 12 are?
> [...]
>> I was talking about the opt suffix since both the ssse3 and sse4 tables will
>> be the same.
> 
> Oh ok, in case we have to instantiate sse4 versions. Because at the
> moment there are only tables for ssse3 with this patch.
> 
> Ideally, if the loss is sufficiently small between the ssse3 and sse4
> versions, we'd just keep the sse3 version, as the object code increase
> wouldn't be worth it.

Right, i now realize i misread the patch. I assumed you were duplicating the 
tables with a new ssse3 version instead of renaming the existing sse4.

Disregard all this then. Sorry.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread Mickaël Raulet
For avx2 I have some to push to the trunk, I did merge it yesterday with
all recent changes. But I don t remember what those tables looks like.

For 10 and 12bits, ssse3 should slow down the decoding since it uses 4 more
instructions in the loop.

Le samedi 23 août 2014, Christophe Gisquet  a
écrit :

> Hi,
>
> 2014-08-23 16:52 GMT+02:00 James Almer >:
> >> -QPEL_TABLE  8, 8, b, sse4
> >> -QPEL_TABLE 10, 4, w, sse4
> >> -QPEL_TABLE 12, 4, w, sse4
> >> +QPEL_TABLE  8, 8, b, ssse3
> >> +QPEL_TABLE 10, 4, w, ssse3
> >> +QPEL_TABLE 12, 4, w, ssse3
> >
> > Do these need to be duplicated? You could just remove the suffix and let
> > every version of the function use the same tables.
>
> What do you mean by duplicated? That tables for 10 and 12 are?
>
> Otherwise, I'm leaving the ssse3/opt parameter for 2 reasons:
> - try to not perform changes that aren't required for it to work
> - I don't know how the avx2 code would look but indeed, if it had to
> use other tables, it would then use new macro(s)
>
> Maybe your suggestions could be delayed after the code is converted to
> ssse3? Probably there wouldn't be any, but patch conflicts would be
> cumbersome.
>
> --
> Christophe
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org 
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 2/2] x86: hevc_mc: convert to ssse3

2014-08-23 Thread Christophe Gisquet
Hi,

2014-08-23 17:48 GMT+02:00 Mickaël Raulet :
> For avx2 I have some to push to the trunk, I did merge it yesterday with
> all recent changes. But I don t remember what those tables looks like.

Well, my point was hypothetical, but I guess this means some conflicts
are to be expected when either patchset is merged.

Do you have specific (START/STOP_TIMER) and global (using time or
-benchmark option) measures?

> For 10 and 12bits, ssse3 should slow down the decoding since it uses 4 more
> instructions in the loop.

Not systematically, as out-of-order execution and several execution
ports can "hide" them. But those are too dependent for this and I
expect a loss and a need for a sse4 version.

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


Re: [FFmpeg-devel] [PATCH] Use makeinfo to generate html doc for the new website

2014-08-23 Thread Michael Niedermayer
On Sat, Aug 23, 2014 at 03:13:50PM +0200, Andreas Cadhalpun wrote:
> Hi,
> 
> On 20.07.2014 23:23, Timothy Gu wrote:
> >texi2html is deprecated by upstream in favor of makeinfo/texi2any. See:
> >
> >- 
> >https://www.gnu.org/software/texinfo/manual/texinfo/html_node/texi2html.html
> >- https://wiki.debian.org/Texi2htmlTransition
> >- https://lists.debian.org/debian-devel/2013/05/msg01516.html
> >
> >This is actually two separate changes. But as makeinfo and texi2html
> >adopt 2 (very) different init file syntaxes, it is easier to do the two
> >transitions at once.
> >
> >Based on a patch by Andreas Cadhalpun .
> >
> >Fixes Trac ticket #3232.
> >
> >Signed-off-by: Timothy Gu 
> >---
> 
> Is there a reason, why this patch hasn't been applied?

the makeinfo available on our webserver is too old (4.13)
a newer version (provided by timothy), did not work
if someone wants to work on this, i can give him/her an account

note, we plan to migrate things to a box with ubuntu 14.04 but its
unknown when this will be finished

Thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

There will always be a question for which you do not know the correct answer.


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


[FFmpeg-devel] [PATCH] libx264: fix -b_qfactor and -chromaoffset

2014-08-23 Thread Hii
Currently -b_qfactor and -chromaoffset have no effect in libx264, the 
attached patch is an attempt to fix the issue.


Move the corresponding lines after x264_param_default_preset() to 
prevent them being overwritten by it, make the two parameters functional.

Also make b_qfactor changeable by x264's tunings after the move.

(feel free to edit the commit message as I am not a native English speaker.)


From d8597d3f708c21deae40b21754173763c5a13658 Mon Sep 17 00:00:00 2001
From: Hii 
Date: Sat, 23 Aug 2014 17:08:02 +0800
Subject: [PATCH] libx264: fix -b_qfactor and -chromaoffset

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

diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 7793581..8aff14d 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -371,8 +371,6 @@ static av_cold int X264_init(AVCodecContext *avctx)
 
 x4->params.b_deblocking_filter = avctx->flags & 
CODEC_FLAG_LOOP_FILTER;
 
-x4->params.rc.f_pb_factor = avctx->b_quant_factor;
-x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
 if (x4->preset || x4->tune)
 if (x264_param_default_preset(&x4->params, x4->preset, x4->tune) < 0) {
 int i;
@@ -430,6 +428,9 @@ static av_cold int X264_init(AVCodecContext *avctx)
 
 if (avctx->i_quant_factor > 0)
 x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor);
+if (avctx->b_quant_factor > 0)
+x4->params.rc.f_pb_factor = avctx->b_quant_factor;
+x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
 
 if (avctx->me_method == ME_EPZS)
 x4->params.analyse.i_me_method = X264_ME_DIA;
@@ -827,6 +828,7 @@ static const AVCodecDefault x264_defaults[] = {
 { "flags2",   "0" },
 { "g","-1" },
 { "i_qfactor","-1" },
+{ "b_qfactor","-1" },
 { "qmin", "-1" },
 { "qmax", "-1" },
 { "qdiff","-1" },
-- 
1.9.0.msysgit.0

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


Re: [FFmpeg-devel] [PATCH] Use makeinfo to generate html doc for the new website

2014-08-23 Thread Timothy Gu
Hi,

On Aug 23, 2014 9:52 AM, "Michael Niedermayer"  wrote:
>
> On Sat, Aug 23, 2014 at 03:13:50PM +0200, Andreas Cadhalpun wrote:

> > Is there a reason, why this patch hasn't been applied?
>
> the makeinfo available on our webserver is too old (4.13)
> a newer version (provided by timothy), did not work
> if someone wants to work on this, i can give him/her an account

It doesn't matter, as the server doesn't use the modified Makefile IIRC.
This only makes the users' documentation better at this moment.

I still want to work on server integration, but my time is limited.

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


Re: [FFmpeg-devel] Reintroducing FFmpeg to Debian

2014-08-23 Thread Michael Niedermayer
Hi

On Thu, Aug 21, 2014 at 03:16:50AM +0200, Attila Kinali wrote:
> Servus,
> 
> On Wed, 20 Aug 2014 18:43:18 +0900
> Norbert Preining  wrote:
> 
> > By continuing old fights, inspite of the very clearly friendly and
> > open offers and suggestions byu Michael, you and others from AV continue
> > simply to insult and be nasty.
> 
> Sorry, but this is not true. Yes, Michael always offers to mend ways
> and to do this and that. But he never does. It's just lip service.
> He didn't do it before the split and he didn't happen after the split.

Theres something about your statements, the one above as well as the
ones in other mails in this thread that i dont fully understand

You said in this thread that "i'm not a developer
and have not written one line of code for libav. i dont even read
the mailinglists"
(https://lists.debian.org/debian-devel/2014/08/msg00782.html)

and IIRC you also didnt read the ffmpeg mailing lists in the time
before the fork, except some specific threads, nor are you on the
ffmpeg IRC channels and i belive you arent subscribed to the FFmpeg
mailing lists now either. I definitly found a unsubscribe statement
for your address from march 2011 in the logs.

Given that, how can you even know anything about FFmpeg or what its
developers do or say or not do or not say
?

FFmpeg development discussions are mainly on our mailing list. with
a tiny bit on our IRC channels

I know you did read some specific threads which where related to
the fork as you participated in them. But these where possibly the
most heated and aggressive discussions we ever had on
ffmpeg-devel. And certainly are not representative for FFmpeg either
before or after the fork.


> Yes, the people at libav are bitter. Yes, they are angry. But how
> would you feel if people would walk up to you at random OSS events
> and tell you that X just told them you are the bad guy, that you
> steal childrens ice cream? (Yes, this has happend)
> 
> 
> > I am really impressed by the ability of Michael to take this without
> > changing into a more inpolite tone. Which you and others from AV are
> > definitely doing.
> 
> If you mean me by "others", then i would like to ask where i have been
> impolite.
> 
> > * AV maintainers are averse o any cooperation, and just licking their
> >   wounds since several years
> 
> You know, that FFmpeg and libav have been cooperating ever since the
> split? FFmpeg merges all (or almost all?) patches commited to libav

> without further review.

normally (for example in the kernel) code is reviewed before it is
pushed and not when it is merged.
Yet i _try_ to review and test what i merge from libav.
To proof that, here are some examples of bugfixes and decissions
based on such reviews. These wouldnt exist if the code wouldnt be
reviewed.

4 days ago:
libav added some () to a condition:
https://github.com/libav/libav/commit/d456baafb68cd80c0f537f1d843076e4dd853558

on the ffmpeg side the code was instead changed the following way a
year ago
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=1e2ab98460761c86268993e7a7ee690876df5efd
libav decided not to pick this change, and instead made their own
different change as shown above

and in the merge i tested both to double check that our solution is
correct and libavs isnt, and kept our solution.
More precissely libavs breaks decoding of
http://samples.ffmpeg.org/ffmpeg-bugs/roundup/issue414/black_screen_VC-1.mkv


or for example 16days ago
libav fixed a few memory leaks
https://github.com/libav/libav/commit/5b220e1e19c17b202d83d9be0868d152109ae8f0
but they used the wrong deallocation function, that is free() instead
of av_free*() which can lead to memory corruption,
Multiple people noticed that and it was fixed in the same git push
that pushed the merge
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=92deb28945a5f2b58908d383f183cfc1bc1d7fae
also there where multiple other related issues found when reviewing
the change from libav which where fixed in ffmpeg in the same push as
well:
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=12b59e57f3d7a37ef7b29d8a1df5eb886b00b4ba
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=31eaecfee9d84381945f3d5201775b9b00161d7a
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=92a28e9f562124732fa27f0c62118f15a6fee239
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5f8300afc6537e2e06f8f90989d5f268884bb79c

but either way, id like to suggest again, we move forward and
rather discuss how we can improve the situation, do something about
the split and move toward un-doing it!

Thanks

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Everything should be made as simple as possible, but not simpler.
-- Albert Einstein


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


[FFmpeg-devel] [PATCH/RFC] avutil/pixelutils: port ppc/altivec sad functions

2014-08-23 Thread Clément Bœsch
---
This is 100% untested and probably doesn't even compile.

Can anyone with PPC/Altivec HW test or provide such access?

After the altivec optims are ported we can drop the duplicated version in
libavcodec entirely.

The fate-pixelutils tests should cover the alignment checks; there might be
some fixes in this area as I'm not sure about the requirement.

About the copyright, I put Brian Foley only, because of
59925ef2044e3ba2b5be49a35d37929550e3d6bc. If someone feels like some more
people should be added, please tell me.
---
 libavutil/pixelutils.c |   6 +--
 libavutil/ppc/Makefile |   3 ++
 libavutil/ppc/pixelutils.h |  26 +
 libavutil/ppc/pixelutils_altivec.c | 106 +
 libavutil/ppc/pixelutils_altivec.h |  30 +++
 libavutil/ppc/pixelutils_init.c|  33 
 6 files changed, 201 insertions(+), 3 deletions(-)
 create mode 100644 libavutil/ppc/pixelutils.h
 create mode 100644 libavutil/ppc/pixelutils_altivec.c
 create mode 100644 libavutil/ppc/pixelutils_altivec.h
 create mode 100644 libavutil/ppc/pixelutils_init.c

diff --git a/libavutil/pixelutils.c b/libavutil/pixelutils.c
index 10ff7e8..9a7b7f1 100644
--- a/libavutil/pixelutils.c
+++ b/libavutil/pixelutils.c
@@ -23,6 +23,7 @@
 #if CONFIG_PIXELUTILS
 
 #include "x86/pixelutils.h"
+#include "ppc/pixelutils.h"
 
 static av_always_inline int sad_wxh(const uint8_t *src1, ptrdiff_t stride1,
 const uint8_t *src2, ptrdiff_t stride2,
@@ -77,9 +78,8 @@ av_pixelutils_sad_fn av_pixelutils_get_sad_fn(int w_bits, int 
h_bits, int aligne
 if (w_bits != h_bits) // only squared sad for now
 return NULL;
 
-#if ARCH_X86
-ff_pixelutils_sad_init_x86(sad, aligned);
-#endif
+if (ARCH_X86) ff_pixelutils_sad_init_x86(sad, aligned);
+if (ARCH_PPC) ff_pixelutils_sad_init_ppc(sad, aligned);
 
 return sad[w_bits - 1];
 #endif
diff --git a/libavutil/ppc/Makefile b/libavutil/ppc/Makefile
index 4fd8d6d..295e4e5 100644
--- a/libavutil/ppc/Makefile
+++ b/libavutil/ppc/Makefile
@@ -1,4 +1,7 @@
 OBJS += ppc/cpu.o   \
 ppc/float_dsp_init.o\
 
+OBJS-$(CONFIG_PIXELUTILS) += ppc/pixelutils_init.o
+
 ALTIVEC-OBJS += ppc/float_dsp_altivec.o \
+ALTIVEC-OBJS-$(CONFIG_PIXELUTILS) += ppc/pixelutils_altivec.o   \
diff --git a/libavutil/ppc/pixelutils.h b/libavutil/ppc/pixelutils.h
new file mode 100644
index 000..c737a69
--- /dev/null
+++ b/libavutil/ppc/pixelutils.h
@@ -0,0 +1,26 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef AVUTIL_PPC_PIXELUTILS_H
+#define AVUTIL_PPC_PIXELUTILS_H
+
+#include "libavutil/pixelutils.h"
+
+void ff_pixelutils_sad_init_ppc(av_pixelutils_sad_fn *sad, int aligned);
+
+#endif /* AVUTIL_PPC_PIXELUTILS_H */
diff --git a/libavutil/ppc/pixelutils_altivec.c 
b/libavutil/ppc/pixelutils_altivec.c
new file mode 100644
index 000..5cf338a
--- /dev/null
+++ b/libavutil/ppc/pixelutils_altivec.c
@@ -0,0 +1,106 @@
+/*
+ * This file is part of FFmpeg.
+ *
+ * Copyright (c) 2002 Brian Foley
+ *
+ * FFmpeg is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * FFmpeg is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with FFmpeg; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "util_altivec.h"
+#include "pixelutils_altivec.h"
+
+int ff_pixelutils_sad_8x8_altivec(const uint8_t *src1, ptrdiff_t stride1,
+  const uint8_t *src2, ptrdiff_t stride2)
+{
+int i, s;
+const vector unsigned int zero =
+(const vector unsigned int) vec_splat_u32(0);
+const 

[FFmpeg-devel] [PATCH 2/2] Correct few "ffmpeg" typos

2014-08-23 Thread Paul B Mahol
Signed-off-by: Paul B Mahol 
---
 libavcodec/aasc.c| 2 +-
 libavcodec/cinepak.c | 2 +-
 libavcodec/cyuv.c| 2 +-
 libavcodec/flicvideo.c   | 2 +-
 libavcodec/idcinvideo.c  | 2 +-
 libavcodec/interplayvideo.c  | 2 +-
 libavcodec/libopencore-amr.c | 2 +-
 libavcodec/libvo-amrwbenc.c  | 2 +-
 libavcodec/msrle.c   | 2 +-
 libavcodec/msvideo1.c| 2 +-
 libavcodec/qtrle.c   | 2 +-
 libavcodec/ra144.c   | 2 +-
 libavcodec/ra144.h   | 2 +-
 libavcodec/ra288.c   | 2 +-
 libavcodec/ra288.h   | 2 +-
 libavcodec/roqvideodec.c | 2 +-
 libavcodec/rpza.c| 2 +-
 libavcodec/smc.c | 2 +-
 libavcodec/sp5x.h| 2 +-
 libavcodec/svq1.c| 4 ++--
 libavcodec/svq1.h| 4 ++--
 libavcodec/svq1_cb.h | 4 ++--
 libavcodec/svq1_vlc.h| 2 +-
 libavcodec/svq1dec.c | 4 ++--
 libavcodec/vmdaudio.c| 2 +-
 libavcodec/vmdvideo.c| 2 +-
 libavcodec/vp3.c | 2 +-
 libavcodec/vp3data.h | 2 +-
 libavcodec/vp3dsp.c  | 2 +-
 libavcodec/vqavideo.c| 2 +-
 libavcodec/xan.c | 2 +-
 31 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/libavcodec/aasc.c b/libavcodec/aasc.c
index 38658f8..65ef782 100644
--- a/libavcodec/aasc.c
+++ b/libavcodec/aasc.c
@@ -1,6 +1,6 @@
 /*
  * Autodesk RLE Decoder
- * Copyright (C) 2005 the ffmpeg project
+ * Copyright (c) 2005 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/cinepak.c b/libavcodec/cinepak.c
index 082d0b2..4746289 100644
--- a/libavcodec/cinepak.c
+++ b/libavcodec/cinepak.c
@@ -1,6 +1,6 @@
 /*
  * Cinepak Video Decoder
- * Copyright (C) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/cyuv.c b/libavcodec/cyuv.c
index c686123..6e8e461 100644
--- a/libavcodec/cyuv.c
+++ b/libavcodec/cyuv.c
@@ -4,7 +4,7 @@
  * based on "Creative YUV (CYUV) stream format for AVI":
  *   http://www.csse.monash.edu.au/~timf/videocodec/cyuv.txt
  *
- * Copyright (C) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/flicvideo.c b/libavcodec/flicvideo.c
index a2d59e8..5bd5fb6 100644
--- a/libavcodec/flicvideo.c
+++ b/libavcodec/flicvideo.c
@@ -1,6 +1,6 @@
 /*
  * FLI/FLC Animation Video Decoder
- * Copyright (C) 2003, 2004 the ffmpeg project
+ * Copyright (c) 2003, 2004 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/idcinvideo.c b/libavcodec/idcinvideo.c
index 80c7d07..7765376 100644
--- a/libavcodec/idcinvideo.c
+++ b/libavcodec/idcinvideo.c
@@ -1,6 +1,6 @@
 /*
  * id Quake II CIN Video Decoder
- * Copyright (C) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/interplayvideo.c b/libavcodec/interplayvideo.c
index 0f6c4e2..96c0cd1 100644
--- a/libavcodec/interplayvideo.c
+++ b/libavcodec/interplayvideo.c
@@ -1,6 +1,6 @@
 /*
  * Interplay MVE Video Decoder
- * Copyright (C) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/libopencore-amr.c b/libavcodec/libopencore-amr.c
index 4c7b6af..827bded 100644
--- a/libavcodec/libopencore-amr.c
+++ b/libavcodec/libopencore-amr.c
@@ -1,6 +1,6 @@
 /*
  * AMR Audio decoder stub
- * Copyright (c) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/libvo-amrwbenc.c b/libavcodec/libvo-amrwbenc.c
index 4216a41..f14d61f 100644
--- a/libavcodec/libvo-amrwbenc.c
+++ b/libavcodec/libvo-amrwbenc.c
@@ -1,6 +1,6 @@
 /*
  * AMR Audio encoder stub
- * Copyright (c) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/msrle.c b/libavcodec/msrle.c
index 9f0cac6..260ad80 100644
--- a/libavcodec/msrle.c
+++ b/libavcodec/msrle.c
@@ -1,6 +1,6 @@
 /*
  * Microsoft RLE video decoder
- * Copyright (C) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/msvideo1.c b/libavcodec/msvideo1.c
index e60abee..88397be 100644
--- a/libavcodec/msvideo1.c
+++ b/libavcodec/msvideo1.c
@@ -1,6 +1,6 @@
 /*
  * Microsoft Video-1 Decoder
- * Copyright (C) 2003 the ffmpeg project
+ * Copyright (c) 2003 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/qtrle.c b/libavcodec/qtrle.c
index 4a4..b367643 100644
--- a/libavcodec/qtrle.c
+++ b/libavcodec/qtrle.c
@@ -1,6 +1,6 @@
 /*
  * Quicktime Animation (RLE) Video Decoder
- * Copyright (C) 2004 the ffmpeg project
+ * Copyright (c) 2004 The FFmpeg Project
  *
  * This file is part of FFmpeg.
  *
diff --git a/libavcodec/ra144.c b/libavcodec/ra144.c
index d5ad02f..696a49e 100644
--- a/libav

[FFmpeg-devel] [PATCH 1/2] avcodec/xan: fix style issue

2014-08-23 Thread Paul B Mahol
Signed-off-by: Paul B Mahol 
---
 libavcodec/xan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/xan.c b/libavcodec/xan.c
index 7489113..bb28916 100644
--- a/libavcodec/xan.c
+++ b/libavcodec/xan.c
@@ -556,7 +556,7 @@ static int xan_decode_frame(AVCodecContext *avctx,
 int i;
 tag  = bytestream2_get_le32(&ctx);
 size = bytestream2_get_be32(&ctx);
-if(size < 0) {
+if (size < 0) {
 av_log(avctx, AV_LOG_ERROR, "Invalid tag size %d\n", size);
 return AVERROR_INVALIDDATA;
 }
-- 
1.7.11.2

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


Re: [FFmpeg-devel] [PATCH 1/2] avcodec/xan: fix style issue

2014-08-23 Thread Clément Bœsch
On Sat, Aug 23, 2014 at 07:40:21PM +, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol 
> ---
>  libavcodec/xan.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/xan.c b/libavcodec/xan.c
> index 7489113..bb28916 100644
> --- a/libavcodec/xan.c
> +++ b/libavcodec/xan.c
> @@ -556,7 +556,7 @@ static int xan_decode_frame(AVCodecContext *avctx,
>  int i;
>  tag  = bytestream2_get_le32(&ctx);
>  size = bytestream2_get_be32(&ctx);
> -if(size < 0) {
> +if (size < 0) {
>  av_log(avctx, AV_LOG_ERROR, "Invalid tag size %d\n", size);
>  return AVERROR_INVALIDDATA;
>  }

Obviously OK. No need to send a patch for this.

-- 
Clément B.


pgpsly0Hz7_Tg.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH 2/2] Correct few "ffmpeg" typos

2014-08-23 Thread Clément Bœsch
On Sat, Aug 23, 2014 at 07:40:22PM +, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol 
> ---
>  libavcodec/aasc.c| 2 +-
>  libavcodec/cinepak.c | 2 +-
>  libavcodec/cyuv.c| 2 +-
>  libavcodec/flicvideo.c   | 2 +-
>  libavcodec/idcinvideo.c  | 2 +-
>  libavcodec/interplayvideo.c  | 2 +-
>  libavcodec/libopencore-amr.c | 2 +-
>  libavcodec/libvo-amrwbenc.c  | 2 +-
>  libavcodec/msrle.c   | 2 +-
>  libavcodec/msvideo1.c| 2 +-
>  libavcodec/qtrle.c   | 2 +-
>  libavcodec/ra144.c   | 2 +-
>  libavcodec/ra144.h   | 2 +-
>  libavcodec/ra288.c   | 2 +-
>  libavcodec/ra288.h   | 2 +-
>  libavcodec/roqvideodec.c | 2 +-
>  libavcodec/rpza.c| 2 +-
>  libavcodec/smc.c | 2 +-
>  libavcodec/sp5x.h| 2 +-
>  libavcodec/svq1.c| 4 ++--
>  libavcodec/svq1.h| 4 ++--
>  libavcodec/svq1_cb.h | 4 ++--
>  libavcodec/svq1_vlc.h| 2 +-
>  libavcodec/svq1dec.c | 4 ++--
>  libavcodec/vmdaudio.c| 2 +-
>  libavcodec/vmdvideo.c| 2 +-
>  libavcodec/vp3.c | 2 +-
>  libavcodec/vp3data.h | 2 +-
>  libavcodec/vp3dsp.c  | 2 +-
>  libavcodec/vqavideo.c| 2 +-
>  libavcodec/xan.c | 2 +-
>  31 files changed, 35 insertions(+), 35 deletions(-)
> 

Fine with me

[...]

-- 
Clément B.


pgp0s00vy4Bqs.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] Add input support for DeckLink devices.

2014-08-23 Thread Deti Fliegl

On 19.08.14 15:43, Carl Eugen Hoyos wrote:

Deti Fliegl  fliegl.de> writes:


Minor update to propagate field dominance.


At least a Changelog entry and a libavdevice version
bump are still missing, but consider waiting for a
real review.
Well in the meantime I updated my patch once again to add proper frame 
sizes and frame rates to the video codec. Maybe somebody wants to review 
the patch.


Deti

commit missing files

use avctx as context as often as possible

respect field dominance

fix frame size and rate

adapt documentation

Signed-off-by: Deti fliegl 
---
 configure   |   4 +-
 doc/indevs.texi |  54 
 libavdevice/Makefile|   5 +-
 libavdevice/alldevices.c|   2 +-
 libavdevice/decklink_common.cpp | 229 +
 libavdevice/decklink_common.h   |  98 
 libavdevice/decklink_common_c.h |  32 +++
 libavdevice/decklink_dec.cpp| 531 
 libavdevice/decklink_dec.h  |  32 +++
 libavdevice/decklink_dec_c.c|  54 
 libavdevice/decklink_enc.cpp| 196 ++-
 libavdevice/decklink_enc.h  |  11 -
 libavdevice/decklink_enc_c.c|   1 +
 13 files changed, 1055 insertions(+), 194 deletions(-)
 create mode 100644 libavdevice/decklink_common.cpp
 create mode 100644 libavdevice/decklink_common.h
 create mode 100644 libavdevice/decklink_common_c.h
 create mode 100644 libavdevice/decklink_dec.cpp
 create mode 100644 libavdevice/decklink_dec.h
 create mode 100644 libavdevice/decklink_dec_c.c

diff --git a/configure b/configure
index f355dad..189542f 100755
--- a/configure
+++ b/configure
@@ -253,7 +253,7 @@ External library support:
native MPEG-4/Xvid encoder exists [no]
   --enable-libzmq  enable message passing via libzmq [no]
   --enable-libzvbi enable teletext support via libzvbi [no]
-  --enable-decklinkenable Blackmagick DeckLink output [no]
+  --enable-decklinkenable Blackmagick DeckLink I/O support [no]
   --enable-openal  enable OpenAL 1.1 capture support [no]
   --enable-opencl  enable OpenCL code
   --enable-opengl  enable OpenGL rendering [no]
@@ -2441,6 +2441,8 @@ bktr_indev_deps_any="dev_bktr_ioctl_bt848_h 
machine_ioctl_bt848_h dev_video_bktr
 caca_outdev_deps="libcaca"
 decklink_outdev_deps="decklink pthreads"
 decklink_outdev_extralibs="-lstdc++"
+decklink_indev_deps="decklink pthreads"
+decklink_indev_extralibs="-lstdc++"
 dshow_indev_deps="IBaseFilter"
 dshow_indev_extralibs="-lpsapi -lole32 -lstrmiids -luuid"
 dv1394_indev_deps="dv1394"
diff --git a/doc/indevs.texi b/doc/indevs.texi
index ce409b9..99e1112 100644
--- a/doc/indevs.texi
+++ b/doc/indevs.texi
@@ -922,4 +922,58 @@ Use the MIT-SHM extension for shared memory. Default value 
is @code{1}.
 It may be necessary to disable it for remote displays.
 @end table
 
+@section decklink
+
+The decklink input device provides capture capabilities for Blackmagic
+DeckLink devices.
+
+To enable this input device, you need the Blackmagic DeckLink SDK and you
+need to configure with the appropriate @code{--extra-cflags}
+and @code{--extra-ldflags}.
+On Windows, you need to run the IDL files through @command{widl}.
+
+DeckLink is very picky about the formats it supports. Pixel format is always
+uyvy422, framerate and video size must be determined for your device with
+@command{-list_formats 1}. Audio sample rate is always 48 kHz and the number
+of channels currently is limited to 2 (stereo).
+
+@subsection Options
+
+@table @option
+
+@item list_devices
+If set to @option{true}, print a list of devices and exit.
+Defaults to @option{false}.
+
+@item list_formats
+If set to @option{true}, print a list of supported formats and exit.
+Defaults to @option{false}.
+
+@end table
+
+@subsection Examples
+
+@itemize
+
+@item
+List input devices:
+@example
+ffmpeg -f decklink -list_devices 1 -i dummy
+@end example
+
+@item
+List supported formats:
+@example
+ffmpeg -f decklink -list_formats 1 -i 'Intensity Pro'
+@end example
+
+@item
+Capture video clip at 1080i50 (format 11):
+@example
+ffmpeg -f decklink -i 'Intensity Pro@@11' -acodec copy -vcodec copy output.avi
+@end example
+
+@end itemize
+
+
 @c man end INPUT DEVICES
diff --git a/libavdevice/Makefile b/libavdevice/Makefile
index db301e7..8cf98f0 100644
--- a/libavdevice/Makefile
+++ b/libavdevice/Makefile
@@ -16,7 +16,8 @@ OBJS-$(CONFIG_ALSA_OUTDEV)   += 
alsa-audio-common.o \
 OBJS-$(CONFIG_AVFOUNDATION_INDEV)+= avfoundation.o
 OBJS-$(CONFIG_BKTR_INDEV)+= bktr.o
 OBJS-$(CONFIG_CACA_OUTDEV)   += caca.o
-OBJS-$(CONFIG_DECKLINK_OUTDEV)   += decklink_enc.o decklink_enc_c.o
+OBJS-$(CONFIG_DECKLINK_OUTDEV)   += decklink_enc.o decklink_enc_c.o 
decklink_common.o
+OBJS-$(CONFIG_DECKLINK_INDEV)+= decklink_dec.o decklink_dec_c.o 
decklink_common.o
 OBJS-$(CONFIG_DSHOW_INDEV)   += dshow.o dshow_enummediat

Re: [FFmpeg-devel] Reintroducing FFmpeg to Debian

2014-08-23 Thread Kieran Kunhya
> but either way, id like to suggest again, we move forward and
> rather discuss how we can improve the situation, do something about
> the split and move toward un-doing it!

We look forward to seeing you in Dublin then.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH/RFC] avutil/pixelutils: port ppc/altivec sad functions

2014-08-23 Thread Michael Niedermayer
On Sat, Aug 23, 2014 at 09:24:33PM +0200, Clément Bœsch wrote:
> ---
> This is 100% untested and probably doesn't even compile.

it does compile, but i dont have a ppc so i cant say if it would work

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

He who knows, does not speak. He who speaks, does not know. -- Lao Tsu


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


[FFmpeg-devel] Common mailing-list for API evolutions

2014-08-23 Thread Clément Bœsch
Hi,

Kieran suggested tonight on #ffmpeg-devel to have a common mailing-list
between the two projects to start communicating again in sane terms.

The proposition would be a mailing-list where the 2 projects would send
the patches that will make API evolutions. So the projects can continue to
drop or add codecs & filters without caring about the other, but will try
to communicate more about the API, for the sake of our common users.

At first, I suggest that won't engage anything from any of the two
projects (so we don't end up in a stalled states such as one project
trying to block the other), but it could be seen as a way to introduce
some common technical ground.

What do you think?

On the technical side, we potentially need a neutral party to setup such
mailing-list. Is anyone willing to do that?

Best regards,

-- 
Clément B.


pgpelKtcU89FR.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] Common mailing-list for API evolutions

2014-08-23 Thread Clément Bœsch
Hi,

Kieran suggested tonight on #ffmpeg-devel to have a common mailing-list
between the two projects to start communicating again in sane terms.

The proposition would be a mailing-list where the 2 projects would send
the patches that will make API evolutions. So the projects can continue to
drop or add codecs & filters without caring about the other, but will try
to communicate more about the API, for the sake of our common users.

At first, I suggest that won't engage anything from any of the two
projects (so we don't end up in a stalled states such as one project
trying to block the other), but it could be seen as a way to introduce
some common technical ground.

What do you think?

On the technical side, we potentially need a neutral party to setup such
mailing-list. Is anyone willing to do that?

Best regards,

-- 
Clément B.


pgpe78o0kYcbG.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] Common mailing-list for API evolutions

2014-08-23 Thread Clément Bœsch
On Sun, Aug 24, 2014 at 12:27:09AM +0200, Clément Bœsch wrote:
> Hi,
> 
> Kieran suggested tonight on #ffmpeg-devel to have a common mailing-list
> between the two projects to start communicating again in sane terms.
> 
> The proposition would be a mailing-list where the 2 projects would send
> the patches that will make API evolutions. So the projects can continue to
> drop or add codecs & filters without caring about the other, but will try
> to communicate more about the API, for the sake of our common users.
> 
> At first, I suggest that won't engage anything from any of the two
> projects (so we don't end up in a stalled states such as one project
> trying to block the other), but it could be seen as a way to introduce
> some common technical ground.
> 
> What do you think?
> 
> On the technical side, we potentially need a neutral party to setup such
> mailing-list. Is anyone willing to do that?
> 
> Best regards,
> 

Please don't reply here, I messed up the libav-devel mail...

-- 
Clément B.


pgpvGZVKwQQiR.pgp
Description: PGP signature
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH]Do not show an unreadable error code if mov header parsing fails

2014-08-23 Thread Michael Niedermayer
On Sat, Aug 23, 2014 at 02:02:49PM +0200, Carl Eugen Hoyos wrote:
> Hi!
> 
> I don't think showing "-1094995529" or similar makes much sense.
> The calling application can still decide to show the error 
> string (as ffmpeg does).
> 
> Please comment, Carl Eugen

>  mov.c |2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 22cbe9fcb08e20f3520d8391f4a03dac1cb464df  patchmovheader.diff
> diff --git a/libavformat/mov.c b/libavformat/mov.c
> index b3eb287..ae48c02 100644
> --- a/libavformat/mov.c
> +++ b/libavformat/mov.c
> @@ -3562,7 +3562,7 @@ static int mov_read_header(AVFormatContext *s)
>  if (mov->moov_retry)
>  avio_seek(pb, 0, SEEK_SET);
>  if ((err = mov_read_default(mov, pb, atom)) < 0) {
> -av_log(s, AV_LOG_ERROR, "error reading header: %d\n", err);
> +av_log(s, AV_LOG_ERROR, "error reading header\n");

i think av_err2str() might provide a nicer string


[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Concerning the gods, I have no means of knowing whether they exist or not
or of what sort they may be, because of the obscurity of the subject, and
the brevity of human life -- Protagoras


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


Re: [FFmpeg-devel] Filters

2014-08-23 Thread JULIAN GARDNER







>
> From: JULIAN GARDNER 
>To: FFmpeg development discussions and patches  
>Sent: Monday, 18 August 2014, 19:51
>Subject: Re: [FFmpeg-devel] Filters
> 
>
>
>>
>> From: Clément Bœsch 
>>To: FFmpeg development discussions and patches  
>>Sent: Sunday, 20 July 2014, 10:40
>>Subject: Re: [FFmpeg-devel] Filters
>> 
>>
>>On Fri, Jul 18, 2014 at 10:33:40PM +0100, JULIAN GARDNER wrote:
>>[...]
>>> fmpeg -i .ts -vcodec libx264 -b:v 1000k -acodec libfaac -async 1 -vf 
>>> 'split [mark], drawbox=10:10:100:100:color=green [dontneed];[mark] 
>>> drawbox=100:100:100;100:color=red [vid];[dontneed][vid] overlay' -y -f 
>>> mpegts processed.ts
>>> 
>>
>>try -filter_complex instead of -vf and
>>-map [vid] -y -f mpegts processed.ts -map '[dontneed]' -f null -
>>
>>[...]
>>
>>-- 
>>Clément B.
>>
>
>Thanks for this, its 99% what i need apart from I lose the audio on the [vid] 
>output. I want the small picture [160x100] output without audio and the 
>640x360 output with audio
>
>
>Commandlineffmpeg -threads 0 -i 
>"udp://231.231.11.3:1234?localaddr=192.168.2.123" -filter_complex 
>'scale=iw/2:ih/2,split [mark], scale=160:90,drawbox=10:10:5:5:color=red 
>[detect];[mark] drawbox=10:10:10:5:5:color=blue [vid]' -map [detect] -vcodec 
>libx264 -preset faster -x264opts keyint=75 -x264opts bitrate=512 -bufsize 1M 
>-r 25 -an -f mpegts 
>"udp://238.170.112.96:1234?pkt_size=1316&buffer_size=1048576" -map [vid][0:a] 
>-vcodec libx264 -preset faster -x264opts keyint=75 -x264opts bitrate=1150 
>-bufsize 1M -r 25 -acodec libfaac -ab 128k -ar 32k -ac 2 -f mpegts 
>"udp://225.170.112.96:1234?pkt_size=1316&buffer_size=1048576"
>
>
>Output (as I know you love this)ffmpeg version N-63057-g63504d8 Copyright (c) 
>2000-2014 the FFmpeg developers
>  built on Aug 14 2014 10:36:36 with gcc 4.6 (Ubuntu/Linaro 
>4.6.4-1ubuntu1~12.04)
>  configuration: --enable-gpl --enable-version3 --enable-nonfree 
>--enable-postproc --enable-libfaac --enable-libmp3lame --enable-libx264 
>--enable-libzvbi --cc='ccache cc'
>  libavutil  52. 82.100 / 52. 82.100
>  libavcodec 55. 60.103 / 55. 60.103
>  libavformat    55. 37.102 / 55. 37.102
>  libavdevice    55. 13.101 / 55. 13.101
>  libavfilter 4.  5.100 /  4.  5.100
>  libswscale  2.  6.100 /  2.  6.100
>  libswresample   0. 18.100 /  0. 18.100
>  libpostproc    52.  3.100 / 52.  3.100
>Input #0, mpegts, from 'udp://231.231.11.3:1234?localaddr=192.168.2.123':
>  Duration: N/A, start: 12191.492622, bitrate: 128 kb/s
>  Program 48
>    Stream #0:0[0x41]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 
>1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc
>    Stream #0:1[0x42]: Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, 
>s16p, 128 kb/s
>Codec AVOption ab (set bitrate (in bits/s)) specified for output file #1 
>(udp://225.170.112.96:1234?pkt_size=1316&buffer_size=1048576) has not been 
>used for any stream. The most likely reason is either wrong type (e.g. a video 
>option with no video streams) or that it is a private option of some encoder 
>which was not actually used for any stream.
>[libx264 @ 0x2d72560] VBV maxrate unspecified, assuming CBR
>[libx264 @ 0x2d72560] using SAR=1/1
>[libx264 @ 0x2d72560] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
>[libx264 @ 0x2d72560] profile High, level 1.3
>[libx264 @ 0x2d74d60] VBV maxrate unspecified, assuming CBR
>[libx264 @ 0x2d74d60] using SAR=1/1
>[libx264 @ 0x2d74d60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
>[libx264 @ 0x2d74d60] profile High, level 3.0
>Output #0, mpegts, to 
>'udp://238.170.112.96:1234?pkt_size=1316&buffer_size=1048576':
>  Metadata:
>    encoder : Lavf55.37.102
>    Stream #0:0: Video: h264 (libx264), yuv420p, 160x90 [SAR 1:1 DAR 16:9], 
>q=-1--1, 512 kb/s, 90k tbn, 25 tbc
>Output #1, mpegts, to 
>'udp://225.170.112.96:1234?pkt_size=1316&buffer_size=1048576':
>  Metadata:
>    encoder : Lavf55.37.102
>    Stream #1:0: Video: h264 (libx264), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 
>q=-1--1, 1150 kb/s, 90k tbn, 25 tbc
>Stream mapping:
>  Stream #0:0 (h264) -> scale
>  drawbox -> Stream #0:0 (libx264)
>  drawbox -> Stream #1:0 (libx264)
>Press [q] to stop, [?] for help
>[mpegts @ 0x2d40fc0] New 0011 Table, version 255 to 0
>frame=  130 fps= 26 q=-1.0 Lq=-1.0 size= 245kB time=00:00:05.12 bitrate= 
>392.2kbits/s dup=24 drop=224
>
>any idea on how i can get the audio back
>
>joolz

I tried your suggestion of splitting the "-map [vid[0:a]" into "-map [vid] -map 
[0:a] and I get the following error message

Output with label '0:a' does not exist in any defined filter graph, or is 
already used elsewhere.

I managed to get around this by using "-map [vid] -map a:0x42", but why does 
the split one fail.


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


Re: [FFmpeg-devel] [PATCH] Use makeinfo to generate html doc for the new website

2014-08-23 Thread Michael Niedermayer
On Sun, Jul 20, 2014 at 02:23:07PM -0700, Timothy Gu wrote:
> texi2html is deprecated by upstream in favor of makeinfo/texi2any. See:
> 
> - https://www.gnu.org/software/texinfo/manual/texinfo/html_node/texi2html.html
> - https://wiki.debian.org/Texi2htmlTransition
> - https://lists.debian.org/debian-devel/2013/05/msg01516.html
> 
> This is actually two separate changes. But as makeinfo and texi2html
> adopt 2 (very) different init file syntaxes, it is easier to do the two
> transitions at once.
> 
> Based on a patch by Andreas Cadhalpun .
> 
> Fixes Trac ticket #3232.
> 
> Signed-off-by: Timothy Gu 

breaks build on ubuntu 12.04

makeinfo: unrecognized option '--init-file=./doc/t2h.pm'
Try `makeinfo --help' for more information.
makeinfo: unrecognized option '--init-file=./doc/t2h.pm'
Try `makeinfo --help' for more information.
make: *** [doc/ffmpeg-utils.html] Error 1
make: *** Waiting for unfinished jobs
make: *** [doc/ffplay.html] Error 1
HTMLdoc/ffserver.html
HTMLdoc/ffprobe-all.html

also mac OSX 10.9.4 seems to only have makeinfo 4.8, or at least thats
whats installed on the box i looked at

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

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus


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


Re: [FFmpeg-devel] [PATCH]Do not show an unreadable error code if mov header parsing fails

2014-08-23 Thread Carl Eugen Hoyos
On Sunday 24 August 2014 12:50:14 am Michael Niedermayer wrote:
> On Sat, Aug 23, 2014 at 02:02:49PM +0200, Carl Eugen Hoyos wrote:
> > Hi!
> >
> > I don't think showing "-1094995529" or similar makes much sense.
> > The calling application can still decide to show the error
> > string (as ffmpeg does).
> >
> > Please comment, Carl Eugen
> >
> >  mov.c |2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 22cbe9fcb08e20f3520d8391f4a03dac1cb464df  patchmovheader.diff
> > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > index b3eb287..ae48c02 100644
> > --- a/libavformat/mov.c
> > +++ b/libavformat/mov.c
> > @@ -3562,7 +3562,7 @@ static int mov_read_header(AVFormatContext *s)
> >  if (mov->moov_retry)
> >  avio_seek(pb, 0, SEEK_SET);
> >  if ((err = mov_read_default(mov, pb, atom)) < 0) {
> > -av_log(s, AV_LOG_ERROR, "error reading header: %d\n", err);
> > +av_log(s, AV_LOG_ERROR, "error reading header\n");
>
> i think av_err2str() might provide a nicer string

I prefer the original patch because ffmpeg -i deadf.mov prints 
the same error twice with attached patch and no (or nearly no) 
other demuxer behaves like this.

Carl Eugen
diff --git a/libavformat/mov.c b/libavformat/mov.c
index b3eb287..ced721c 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3562,7 +3562,7 @@ static int mov_read_header(AVFormatContext *s)
 if (mov->moov_retry)
 avio_seek(pb, 0, SEEK_SET);
 if ((err = mov_read_default(mov, pb, atom)) < 0) {
-av_log(s, AV_LOG_ERROR, "error reading header: %d\n", err);
+av_log(s, AV_LOG_ERROR, "error reading header: %s\n", av_err2str(err));
 mov_read_close(s);
 return err;
 }
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH]Do not show an unreadable error code if mov header parsing fails

2014-08-23 Thread Michael Niedermayer
On Sun, Aug 24, 2014 at 01:16:16AM +0200, Carl Eugen Hoyos wrote:
> On Sunday 24 August 2014 12:50:14 am Michael Niedermayer wrote:
> > On Sat, Aug 23, 2014 at 02:02:49PM +0200, Carl Eugen Hoyos wrote:
> > > Hi!
> > >
> > > I don't think showing "-1094995529" or similar makes much sense.
> > > The calling application can still decide to show the error
> > > string (as ffmpeg does).
> > >
> > > Please comment, Carl Eugen
> > >
> > >  mov.c |2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 22cbe9fcb08e20f3520d8391f4a03dac1cb464df  patchmovheader.diff
> > > diff --git a/libavformat/mov.c b/libavformat/mov.c
> > > index b3eb287..ae48c02 100644
> > > --- a/libavformat/mov.c
> > > +++ b/libavformat/mov.c
> > > @@ -3562,7 +3562,7 @@ static int mov_read_header(AVFormatContext *s)
> > >  if (mov->moov_retry)
> > >  avio_seek(pb, 0, SEEK_SET);
> > >  if ((err = mov_read_default(mov, pb, atom)) < 0) {
> > > -av_log(s, AV_LOG_ERROR, "error reading header: %d\n", err);
> > > +av_log(s, AV_LOG_ERROR, "error reading header\n");
> >
> > i think av_err2str() might provide a nicer string
> 
> I prefer the original patch because ffmpeg -i deadf.mov prints 
> the same error twice with attached patch and no (or nearly no) 
> other demuxer behaves like this.

apply whichever you prefer

both LGTM

[...]

-- 
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The worst form of inequality is to try to make unequal things equal.
-- Aristotle


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


Re: [FFmpeg-devel] [PATCH] lavc/tiff: add support for LZMA compression

2014-08-23 Thread Michael Niedermayer
On Sat, Aug 23, 2014 at 11:57:04AM -0300, James Almer wrote:
> On 23/08/14 8:37 AM, Hendrik Leppkes wrote:
> > On Sat, Aug 23, 2014 at 1:31 PM, Michael Niedermayer  
> > wrote:
> >> On Fri, Aug 22, 2014 at 11:39:57PM -0300, James Almer wrote:
> >>> Derived from deflate code.
> >>> Requires liblzma.
> >>>
> >>> Signed-off-by: James Almer 
> >>
> >> how can this be tested ?
> >> do you have a testcase / sample ?
> >>
> > 
> > This image should be lzma compressed:
> > https://www.flameeyes.eu/tmp/imgsrc001-lzma.tiff
> > 
> > - Hendrik
> 
> I get an assertion failure "width <= bytes_per_row" from this file in 
> tiff_unpack_strip(), before the lzma code even comes to play.
> libtiff seems to be able to handle it, though, so could open a ticket in 
> track 
> after this gets committed (Without this patch the decoder just aborts as soon 
> as it finds it's lzma).

applied

assert fixed

thanks

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

What does censorship reveal? It reveals fear. -- Julian Assange


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


Re: [FFmpeg-devel] [PATCH 0/5] RGB48/64 with bits_per_raw_sample

2014-08-23 Thread Carl Eugen Hoyos
Christophe Gisquet  gmail.com> writes:

> 2014-08-20 20:26 GMT+02:00 Carl Eugen Hoyos:
> > Christophe Gisquet writes:
> >
> >> Depending on the input and/or filters, you sometime
> >> have an input or output pixel format like "rgb48le(12
> >> bpc)". Unfortunately, most often, the 12 bpc
> >> information is ignored or stripped.
> >
> > Could you explain what command line you are trying
> > to fix?
> > I apparently misunderstand the patchset, I don't
> > see how / what it fixes...
> 
> The biggest "issue" is that 10/12bits data is 
> interpreted as 16bits:

I consider this a (important) feature.

> - cf. ticket #2966 (that's the remaining missing part)

There is a bug:
The image has to be rescaled in the demuxer.

> - png can only write 16bits data but sometimes it is 
> not rescaled (image appears darker), cf. the above

Is there another example than #2966?

> - ppm images are forcibly rescaled to fill the 16bits 
> (probably lossless but still) etc.

If you believe this is a real-world issue, is 
can easily be fixed afaict.

> > Note that I believe it would be completely wrong to
> > add additional colourspaces with 8 
> Yes, on second thought it has its own bag of issues 
> (multiplications of codepaths eg in swscale), but 
> that's to me the only solution that isn't a fragile 
> hack. Also note that there are already plenty of 
> those 8http://ffmpeg.org/mailman/listinfo/ffmpeg-devel