2799 Commits
Author SHA1 Message Date
Marvin ScholzandJean-Baptiste Kempf 3f13730e55 Build: Do not build libdav1dentrypoint by default
This library is just a helper and should not be built by default as it
is only used to extract the objects and has no use as stand-alone
library for uses to link to.
2018-09-26 16:30:47 +02:00
Hugo Beauzée-Luyssen 34f96e80f2 win32/thread.c: Fix styling 2018-09-26 16:04:30 +02:00
Derek Buitenhuis afac3d3f8e API: Run dav1d_init under pthread_once
This makes the function thread safe, to call, for example,
from multiple transient dependecies or threads.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-09-26 14:31:16 +01:00
Derek Buitenhuis a6853a9448 win32: Add implementation of pthread_once
This function will be required to make dav1d_init threadsafe.

Full erro checking support is included in this implementation,
for completeness, even though dav1d_init cannot fail, and thus
will ignore the return value of pthread_once.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-09-26 14:31:16 +01:00
Raphael ZumerandRonald S. Bultje cbeac008b7 Fix style issues 2018-09-26 01:21:35 +02:00
Raphael ZumerandRonald S. Bultje a0364377f8 Fix attempt to copy chroma for monochrome streams 2018-09-26 01:21:35 +02:00
Janne GrunauandRonald S. Bultje 82f7611b3c get rid of variable length arrays in intra prediction 2018-09-26 01:07:22 +02:00
Janne GrunauandRonald S. Bultje c36909909e build: add -Wvla to warn about undesired variable length arrays 2018-09-26 01:07:21 +02:00
James Almer d30b933940 Use aligned free() in dav1d_open() error code path
These were all allocated with aligned malloc().
2018-09-25 20:05:02 -03:00
James Almer 0cf63fb76a make dav1d_close() write NULL to the Dav1dContext pointer after freeing it
This prevents leaving the caller with a dangling pointer.
2018-09-25 18:50:01 -03:00
Hugo Beauzée-Luyssen 9fd4ede0ec gitlab-ci: Check for win32/win64 builds 2018-09-25 17:53:14 +02:00
Ronald S. BultjeandLuc Trudeau 6622002197 Use picture, not block, boundaries for edge extension conditions. 2018-09-25 16:31:28 +02:00
Konstantin Pavlov 9075f0ee57 gitlab-ci: use a newer image which includes nasm. 2018-09-25 13:56:01 +03:00
Hugo Beauzée-Luyssen 8d9a85e089 Remove superfluous semicolon
They are not valid out of a function in ISO C
2018-09-25 11:34:42 +02:00
Hugo Beauzée-Luyssen ac6c286860 validate: Don't use __PRETTY_FUNCTION__
It is not valid in ISO C and doesn't differ from __func__
2018-09-25 11:34:42 +02:00
Hugo Beauzée-Luyssen 3ad41348d2 validate: Don't name variadic macro parameters
As it is forbidden by ISO C
2018-09-25 11:34:42 +02:00
Luc Trudeau c714165827 Fix undefined-behavior in obu.c
Removes undefined-behavior when primary_ref_frame is 7
2018-09-25 09:43:20 +02:00
Marvin Scholz 7b70548104 Readme: Document required Meson version
Meson before 0.45 did not honor the meson version arg in the build file,
so there will be no proper error when using the wrong version.

Fix #24
2018-09-24 22:23:11 +02:00
Ronald S. Bultje d18bd0d7a0 Fix stride in ac buffer from 32 to width in padding.
Fixes mismatch in issue #14.
2018-09-24 18:10:07 +02:00
Ronald S. Bultje 8a015fd0f5 Don't wait for reference pictures in intrabc.
Fixes hang from sample in issue #14.
2018-09-24 18:09:52 +02:00
Luc Trudeau 3c251d45ed Fix 64 pixel super block row loop restoration
Fix for issue #20
2018-09-24 17:30:42 +02:00
Steinar MidtskogenandRonald S. Bultje 3a008361a0 Speed up CDEF
Unified x and y offsets of table lookup during filtering.
2018-09-24 07:37:38 -04:00
Marvin Scholz 133fe1f9f2 Build: Do not add redundant -Wall flag
The -Wall flag is already set by default, as mesons `warning_level`
defaults to 1, which includes the -Wall flag.

Fix #12
2018-09-24 11:39:09 +02:00
Martin StorsjöandRonald S. Bultje 5c6c3accd0 Fix muxers writing to stdout 2018-09-24 11:34:07 +02:00
Marvin Scholz 62069f12ea Build: Remove _GNU_SOURCE macro
No GNU extensions are used.
2018-09-24 11:23:14 +02:00
Marvin Scholz fa89922b96 Build: Change C standard version to C99 2018-09-24 11:23:14 +02:00
Ronald S. Bultje 707acf8754 Prevent bw/bh from being an odd number.
Related to issue #17 and #20.
2018-09-24 11:21:50 +02:00
Marvin ScholzandJean-Baptiste Kempf d83e084c25 Build: Use POSIX.1–2001 (IEEE Std 1003.1-2001)
Define `_POSIX_C_SOURCE` to `200112L`, to indicate we want to use
POSIX.1–2001. Additionally remove incorrect definition of
`POSIX_C_SOURCE` (note the lack of underscore at the beginning).
The intention was probably to define `_POSIX_C_SOURCE` which would be
redundant and previously even conflicting with the other version set
previously.
For the has_function check, use the correct value of `200112L`.
2018-09-24 10:58:47 +02:00
Marvin ScholzandJean-Baptiste Kempf dc371f9823 Build: Remove cargo-cult macro definitions
- _REENTRANT and _THREAD_SAFE were taken from the VLC build system
  and have since been removed there, so it seems safe to remove those
  here as well.
- _POSIX_PTHREAD_SEMANTICS is required for POSIX thread flavor of
  threading functions but instead we can define _POSIX_C_SOURCE to a
  value higher than 199506L, when including <pthread.h>, see
  https://docs.oracle.com/cd/E19455-01/806-5257/compile-3/index.html
- __EXTENSIONS__ is used to enable Solaris extensions, as far as I
  know we are not using any.
- _FILE_OFFSET_BITS is already defined to 64 by meson.
- _ISOC99_SOURCE should not be required as we do not support compiling
  with -std c89.
- _ISOC11_SOURCE should not be required as we set -std c11, so we do
  not need any C11 extensions to C99 as we already use C11.
- _POSIX_SOURCE is not required as we already set _POSIX_C_SOURCE to
  a positive integer.
* _XOPEN_SOURCE should not be needed as we already have
  _POSIX_C_SOURCE.
* _XOPEN_SOURCE_EXTENDED should not be required as we do not need any
  X/Open Unix extensions to my knowledge.
* _BSD_SOURCE should not be required as we already set _POSIX_C_SOURCE.
* _SVID_SOURCE should not be required as we already set _POSIX_C_SOURCE.
2018-09-24 10:58:47 +02:00
Niklas HaasandJean-Baptiste Kempf 62892a4232 Add .gitignore
Contains some useful stuff (vim, emacs swapfiles, ctags) and the /build
directory, since that's what the README uses.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2018-09-24 10:31:27 +02:00
Luc Trudeau 97b4cf4267 Fix operator precedence issue with chroma subsampling 2018-09-24 10:02:22 +02:00
Luc Trudeau 2a8f2d128c Adjust LR stripe height at frame boundaries 2018-09-24 10:02:22 +02:00
Niklas Haas 5e05e65753 build: also install the dav1d binary
This currently doesn't get installed at all.
2018-09-23 17:13:40 +02:00
Konstantin PavlovandAdministrator 2142a61e3b Added gitlab-ci instructions. 2018-09-23 16:59:16 +02:00
Luc Trudeau e1fc687e14 Group delta_q and delta_lf into delta struct 2018-09-23 16:56:21 +02:00
Marvin Scholz 0b7be94f2e Build: Fix meson build with meson 0.47.x
Once meson 0.48 is required, this should be changed back to use the
optimization option instead. (See #1)
2018-09-23 16:20:58 +02:00
Marvin Scholz dc2e178339 Build: Only use omit-frame-pointer and fast-math for optimized builds 2018-09-23 15:25:10 +02:00
Janne Grunau fbba73216c build: use stack alignment CC flags only on x86 2018-09-20 23:04:17 +00:00
Ronald S. Bultje cd9a99f3f4 Fix flush if n_input_frames < n_frame_threads.
Fixes #11.
2018-09-23 04:45:55 -04:00
Raphael ZumerandRonald S. Bultje 1c749e6b4f Fix duplicate frame thread pointer freeing on close 2018-09-23 04:27:24 -04:00
Janne GrunauandJean-Baptiste Kempf e630831bf2 arm: document arm asm rules
Limiting the valid syntax to the subset supported by llvm 5.0 allows
the direct use of recent Android and ios system toolchains.
2018-09-23 09:57:09 +02:00
Nathan E. EggeandJean-Baptiste Kempf 951eb15746 Add the word agree to contributor agreement.
You must agree to the AV1 patent license to contribute.
2018-09-23 09:54:41 +02:00
Thomas DaedeandJean-Baptiste Kempf 1b655543a4 Readme: Use release build type 2018-09-23 09:53:49 +02:00
Marvin Scholz 462204abc7 Readme: Add missing build step 2018-09-22 15:04:27 +02:00
Hugo Beauzée-LuyssenandRonald S. Bultje 447cd10d4c Fix macOS build 2018-09-22 07:59:24 -04:00
Hugo Beauzée-LuyssenandRonald S. Bultje 707a32a57d Add & use a thread compatibility layer 2018-09-22 07:59:24 -04:00
Ronald S. Bultje e2892ffa2d Initial decoder implementation.
With minor contributions from:
 - Jean-Baptiste Kempf <jb@videolan.org>
 - Marvin Scholz <epirat07@gmail.com>
 - Hugo Beauzée-Luyssen <hugo@videolan.org>
2018-09-22 07:59:19 -04:00
Marvin ScholzandHugo Beauzée-Luyssen d32eb2d935 Add buildsystem skeleton 2018-09-20 13:20:48 +02:00
Jean-Baptiste Kempf c001c4b0a7 Initial commit for dav1d
dav1d is an AV1 Decoder
2018-09-05 18:37:05 +02:00