Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-14tools: Allocate the priv structs with proper alignmentMartin Storsjö
Previously, they could be allocated with any random alignment matching the end of the MuxerContext/DemuxerContext. The priv structs themselves can have members that require specific alignment, or at least the default alignment of malloc()/calloc() (which is sufficient for native types such as uint64_t and doubles). This fixes crashes in some arm builds, where GCC (correctly) wants to use 64 bit aligned stores to write to MD5Context.
2022-09-09tools: Improve demuxer probingHenrik Gramner
Increase the probing size, and change the logic to assume a stream is valid even if no conclusive decision could be made within the probing window as long as a sequence header was detected.
2021-04-27Remove a variable that is set but not usedMartin Storsjö
This fixes warnings when building with the top of tree version of clang: tools/input/ivf.c:69:12: warning: variable 'res' set but not used [-Wunused-but-set-variable] Alternatively, a `(void)res` cast also marks the variable as used, silencing the same warning.
2021-01-15input/ivf: Add seeking capabilityVictorien Le Couviour--Tuffet
2020-06-23Accumulate leb128 value using uint64_t as intermediate typeRonald S. Bultje
The shift-amount can be up to 56, and left-shifting 32-bit integers by values >=32 is undefined behaviour. Therefore, use 64-bit integers instead. Also slightly rewrite so we only call dav1d_get_bits() once for the combined more|bits value, and mask the relevant portions out instead of reading twice. Lastly, move the overflow check out of the loop (as suggested by @wtc) Fixes #341.
2020-06-21Simplify checks for leb128() and leb() output overflowWan-Teh Chang
2020-05-15tools: add missing fopen error handlingMarvin Scholz
2020-05-11cli: Reduce fps fraction in ivf parsingHenrik Gramner
Also avoid integer overflows by using 64-bit intermediate precision.
2020-02-21cli: Replace malloc + memset(0) with calloc in input.cLuc Trudeau
2020-02-21cli: remove init_[de]muxers() functionsLuc Trudeau
Muxer and demuxers arrays are now statically initialized
2019-11-23input: Use EIO instead of ENODATAHenrik Gramner
The latter is marked as obsolete by POSIX.
2019-11-22annexb: Cast size_t to int before adding to an intMartin Storsjö
This fixes these warnings with MSVC: warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data
2019-11-22section5: use signed type for seeking backwardsMartin Storsjö
Should fix failures of 'section5' sample on 32-bit systems.
2019-11-21Add demuxer probingRonald S. Bultje
This allows auto-detection between section5 and annexb files, which share the same extension.
2019-11-21Add section-5 raw OBU demuxerRonald S. Bultje
Fixes #304.
2019-08-19Utilize the constraints in assertions to improve code generationHenrik Gramner
When compiling in release mode, instead of just deleting assertions, use them to give hints to the compiler. This allows for slightly better code generation in some cases.
2019-07-23tools: add a simple player exampleMarvin Scholz
2019-05-09Add a DAV1D_ERR define to negate errno values when neededJames Almer
2019-02-13Remove leading double underscores from include guard definesMartin Storsjö
A symbol starting with two leading underscores is reserved for the compiler/standard library implementation. Also remove the trailing two double underscores for consistency and symmetry.
2019-02-11Use 64-bit versions of fseek and ftellHenrik Gramner
2019-02-08tools: Store return values from fread() in a size_tMartin Storsjö
In annexb_read, the res variable was used both for the return from fread() (which is size_t, unsigned) and from leb128 (which returns a signed int); remove the return value assignment altogether as it wasn't used.
2019-02-08Use size_t as return value type for strlen() consistentlyMartin Storsjö
2018-12-08annexb: don't use a int64_t intermediary for leb128James Almer
There are other checks present already that ensure the coded value remains within the allowed range.
2018-12-07annexb: ensure that OBU size <= frame size <= TU sizeJames Almer
2018-12-07Add Length delimited bitstream (Annex B) demuxerJames Almer
2018-11-29Make Dav1dDataProps::timestamp and offset signed.Jean-Yves Avenard
2018-11-29ivf: Use _ftelli64 instead of ftello for MSVCMartin Storsjö
ftello isn't available on MSVC. On MinGW, both ftello and _ftelli64 are available. MinGW provides the _ftelli64 even on msvcrt versions that don't actually have such a function by providing a statically linked wrapper. But since the ftello function also is available (also provided as a similar wrapper), keep using that.
2018-11-29ivf: Use int64_t instead of off_tMartin Storsjö
off_t isn't available in all environments. On Ubuntu 16.04, GCC 5.4, glibc 2.23, off_t is defined by stdio.h normally, but if building with -std=c99 (which dav1d does), it no longer is defined. If fcntl.h is included additionally (which isn't done in dav1d), it still gets defined though. off_t isn't available in MSVC at all.
2018-11-28ivf: store offset and timestamp in pkt.mRonald S. Bultje
2018-11-05move rl32() to its only user tools/dav1d/input/ivf.cJanne Grunau
Replace it with the version used in dav1d_fuzzer to avoid an integer promotion.
2018-10-29API: constify Dav1dData and dav1d_data_wrap()Janne Grunau
Fix #120.
2018-10-22Add --demuxer CLI parameter.Nathan E. Egge
2018-10-20ivf: fix the conversion specifier in printed error message stringsJames Almer
Fixes stack buffer overflows.
2018-10-18dav1d/ivf: return an error when fread failsJanne Grunau
Fixes #66. Also fixes a leak of the demuxer context.
2018-09-27Update fopen calls for Windows compatibilitySmilingWolf
Open files in binary mode, or on Windows fread/fwrite will treat the files as text and mangle the read/written data
2018-09-22Initial decoder implementation.Ronald S. Bultje
With minor contributions from: - Jean-Baptiste Kempf <jb@videolan.org> - Marvin Scholz <epirat07@gmail.com> - Hugo Beauzée-Luyssen <hugo@videolan.org>