[libav-devel] [PATCH] avcodec/vc1dec: fix mby_start for interlaced content

2018-02-09 Thread Sean McGovern
From: Michael Niedermayer 

Bug-Id: 1100
Bug-Id: ffmpeg/Ticket2531
Cc: libav-sta...@libav.org
---
 libavcodec/vc1dec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 8902110..5005a21 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -652,7 +652,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
   buf_size3 << 3);
 /* assuming that the field marker is at the exact middle,
hope it's correct */
-slices[n_slices].mby_start = s->mb_height >> 1;
+slices[n_slices].mby_start = s->mb_height + 1 >> 1;
 n_slices1 = n_slices - 1; // index of the last slice of 
the first field
 n_slices++;
 break;
@@ -700,7 +700,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void 
*data,
 buf_size3 = vc1_unescape_buffer(divider + 4, buf + buf_size - 
divider - 4, slices[n_slices].buf);
 init_get_bits([n_slices].gb, slices[n_slices].buf,
   buf_size3 << 3);
-slices[n_slices].mby_start = s->mb_height >> 1;
+slices[n_slices].mby_start = s->mb_height + 1 >> 1;
 n_slices1 = n_slices - 1;
 n_slices++;
 }
-- 
2.7.4

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Re: [libav-devel] Add HW H.264 and HEVC encoding for AMD GPUs based on AMF SDK

2018-02-09 Thread Mironov, Mikhail
> -Original Message-
> From: libav-devel [mailto:libav-devel-boun...@libav.org] On Behalf Of Diego
> Biurrun
> Sent: February 9, 2018 1:06 PM
> To: libav development 
> Subject: Re: [libav-devel] Add HW H.264 and HEVC encoding for AMD GPUs
> based on AMF SDK
> 
> On Wed, Feb 07, 2018 at 09:46:29AM +0100, Diego Biurrun wrote:
> > On Sun, Feb 04, 2018 at 07:04:39PM +, Mironov, Mikhail wrote:
> > > I have a developer who will cover AMF integration on regular basis
> (together with me). He starts tomorrow and will be up to date soon.
> > > I will ask him to cleanup the things you mentioned if you will not submit
> the changes first.
> > > He is on BCC for now.
> >
> > It seems a bit more cleanup is needed on your side as well:
> >
> > /home/libav/libs/include/AMF/core/Platform.h:431:16: error: implicit
> declaration of function ‘memcmp’ [-Werror=implicit-function-declaration]
> >
> > Indeed that header is missing a string.h #include and things break on one
> of my systems.
> 
> I worked around that locally and added FATE (compile) testing for AMF:
> 
> https://fate.libav.org/x86_64-linux-external-libs/20180209180449
> 
> Diego
> ___
> libav-devel mailing list
> libav-devel@libav.org
> https://lists.libav.org/mailman/listinfo/libav-devel

We will push this fix to AMF repo with upcoming update  - hopefully next week.
Thanks,
Mikhail
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Re: [libav-devel] [PATCH] build: Ignore generated mpeg12framerate test binary

2018-02-09 Thread Luca Barbato

On 09/02/2018 18:48, Diego Biurrun wrote:

---
  libavcodec/tests/.gitignore | 1 +
  1 file changed, 1 insertion(+)

diff --git a/libavcodec/tests/.gitignore b/libavcodec/tests/.gitignore
index 31fa59b018..488a3be240 100644
--- a/libavcodec/tests/.gitignore
+++ b/libavcodec/tests/.gitignore
@@ -3,4 +3,5 @@
  /fft-fixed
  /golomb
  /iirfilter
+/mpeg12framerate
  /rangecoder



Ok.
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Re: [libav-devel] Add HW H.264 and HEVC encoding for AMD GPUs based on AMF SDK

2018-02-09 Thread Diego Biurrun
On Wed, Feb 07, 2018 at 09:46:29AM +0100, Diego Biurrun wrote:
> On Sun, Feb 04, 2018 at 07:04:39PM +, Mironov, Mikhail wrote:
> > I have a developer who will cover AMF integration on regular basis 
> > (together with me). He starts tomorrow and will be up to date soon. 
> > I will ask him to cleanup the things you mentioned if you will not submit 
> > the changes first.
> > He is on BCC for now.
> 
> It seems a bit more cleanup is needed on your side as well:
> 
> /home/libav/libs/include/AMF/core/Platform.h:431:16: error: implicit 
> declaration of function ‘memcmp’ [-Werror=implicit-function-declaration]
> 
> Indeed that header is missing a string.h #include and things break on one of 
> my systems.

I worked around that locally and added FATE (compile) testing for AMF:

https://fate.libav.org/x86_64-linux-external-libs/20180209180449

Diego
___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

[libav-devel] [PATCH] build: Ignore generated mpeg12framerate test binary

2018-02-09 Thread Diego Biurrun
---
 libavcodec/tests/.gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/libavcodec/tests/.gitignore b/libavcodec/tests/.gitignore
index 31fa59b018..488a3be240 100644
--- a/libavcodec/tests/.gitignore
+++ b/libavcodec/tests/.gitignore
@@ -3,4 +3,5 @@
 /fft-fixed
 /golomb
 /iirfilter
+/mpeg12framerate
 /rangecoder
-- 
2.11.0

___
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

[libav-devel] [PATCH] Add AV1 video decoding support through libaom

2018-02-09 Thread Luca Barbato
Signed-off-by: Diego Biurrun 
Signed-off-by: Luca Barbato 
---

Freshen to work with the current libaom.

 Changelog  |   1 +
 configure  |   4 ++
 doc/general.texi   |  10 
 libavcodec/Makefile|   2 +
 libavcodec/allcodecs.c |   1 +
 libavcodec/libaom.c|  90 
 libavcodec/libaom.h|  31 +++
 libavcodec/libaomdec.c | 137 +
 libavcodec/version.h   |   2 +-
 9 files changed, 277 insertions(+), 1 deletion(-)
 create mode 100644 libavcodec/libaom.c
 create mode 100644 libavcodec/libaom.h
 create mode 100644 libavcodec/libaomdec.c

diff --git a/Changelog b/Changelog
index 51c3f85a28..0d20cd47df 100644
--- a/Changelog
+++ b/Changelog
@@ -20,6 +20,7 @@ version :
 - Intel QSV-accelerated MJPEG encoding
 - NVIDIA CUVID-accelerated H.264 and HEVC decoding
 - Intel QSV-accelerated overlay filter
+- AV1 Support through libaom


 version 12:
diff --git a/configure b/configure
index 9f84f88014..1bb9072da4 100755
--- a/configure
+++ b/configure
@@ -187,6 +187,7 @@ External library support:
   --enable-bzlib bzip2 compression [autodetect]
   --enable-frei0rvideo filtering plugins
   --enable-gnutlscrypto
+  --enable-libaomAV1 video encoding/decoding
   --enable-libbs2b   Bauer stereophonic-to-binaural DSP
   --enable-libcdio   audio CD input
   --enable-libdc1394 IEEE 1394/Firewire camera input
@@ -1297,6 +1298,7 @@ EXTERNAL_LIBRARY_LIST="
 avxsynth
 frei0r
 gnutls
+libaom
 libbs2b
 libdc1394
 libdcadec
@@ -2311,6 +2313,7 @@ avisynth_deps="LoadLibrary"
 avxsynth_deps="libdl"
 avisynth_demuxer_deps_any="avisynth avxsynth"
 avisynth_demuxer_select="riffdec"
+libaom_av1_decoder_deps="libaom"
 libdcadec_decoder_deps="libdcadec"
 libfaac_encoder_deps="libfaac"
 libfaac_encoder_select="audio_frame_queue"
@@ -4602,6 +4605,7 @@ enabled cuvid && require cuvid cuviddec.h 
cuvidCreateDecoder -lnvcuv
 enabled frei0r&& require_header frei0r.h
 enabled gnutls&& require_pkg_config gnutls gnutls gnutls/gnutls.h 
gnutls_global_init &&
  check_lib gmp gmp.h mpz_export -lgmp
+enabled libaom&& require_pkg_config libaom "aom >= 0.1.0" 
aom/aom_codec.h aom_codec_version
 enabled libbs2b   && require_pkg_config libbs2b libbs2b bs2b.h 
bs2b_open
 enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 
dc1394/dc1394.h dc1394_new
 enabled libdcadec && require libdcadec libdcadec/dca_context.h 
dcadec_context_create -ldcadec
diff --git a/doc/general.texi b/doc/general.texi
index 0c92761a49..e066b42187 100644
--- a/doc/general.texi
+++ b/doc/general.texi
@@ -16,6 +16,14 @@ for more formats. None of them are used by default, their 
use has to be
 explicitly requested by passing the appropriate flags to
 @command{./configure}.

+@section Alliance for Open Media libaom
+
+Libav can make use of the libaom library for AV1 decoding.
+
+Go to @url{http://aomedia.org/} and follow the instructions for
+installing the library. Then pass @code{--enable-libaom} to configure to
+enable it.
+
 @section OpenCORE and VisualOn libraries

 Spun off Google Android sources, OpenCore, VisualOn and Fraunhofer
@@ -617,6 +625,8 @@ following image formats are supported:
 @item Autodesk Animator Flic video  @tab @tab  X
 @item Autodesk RLE   @tab @tab  X
 @tab fourcc: AASC
+@item AV1@tab @tab  E
+@tab Supported through external library libaom
 @item AVS (Audio Video Standard) video  @tab @tab  X
 @tab Video encoding used by the Creature Shock game.
 @item Beam Software VB   @tab @tab  X
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 99969ac779..0b50a839bc 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -687,6 +687,7 @@ OBJS-$(CONFIG_TAK_DEMUXER) += tak.o
 OBJS-$(CONFIG_WEBM_MUXER)  += mpeg4audio.o

 # external codec libraries
+OBJS-$(CONFIG_LIBAOM_AV1_DECODER) += libaomdec.o libaom.o
 OBJS-$(CONFIG_LIBDCADEC_DECODER)  += libdcadec.o dca.o
 OBJS-$(CONFIG_LIBFAAC_ENCODER)+= libfaac.o
 OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
@@ -814,6 +815,7 @@ SKIPHEADERS-$(CONFIG_CUVID)+= cuvid.h
 SKIPHEADERS-$(CONFIG_AMF)  += amfenc.h
 SKIPHEADERS-$(CONFIG_D3D11VA)  += d3d11va.h dxva2_internal.h
 SKIPHEADERS-$(CONFIG_DXVA2)+= dxva2.h dxva2_internal.h
+SKIPHEADERS-$(CONFIG_LIBAOM)   += libaom.h
 SKIPHEADERS-$(CONFIG_LIBSCHROEDINGER)  += libschroedinger.h
 SKIPHEADERS-$(CONFIG_LIBVPX)   += libvpx.h
 SKIPHEADERS-$(CONFIG_NVENC)+= nvenc.h
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index efde5a2b0e..ec923cd511 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@