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
path: root/tools
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.
2022-02-17tools/dav1d: fix infinite loop on corrupt bitstreamsRonald S. Bultje
Unref data after decoding failure to prevent re-entering the loop with the same data.
2022-02-09Fix typo in EINVAL comparisonRonald S. Bultje
2022-02-07tools/dav1d: continue on recoverable bitstream decoding errorsRonald S. Bultje
Fixes inconsistent output frame count depending on --threads=X value for the sample in #244.
2022-01-18Fix indentationRonald S. Bultje
2022-01-15add --inloopfilters to enable/disable postfilters dynamicallyRonald S. Bultje
(To be used alongside --filmgrain.) Addresses part of #310.
2022-01-08cli: split long help lineJames Almer
Signed-off-by: James Almer <jamrial@gmail.com>
2022-01-08Add interface to output invisible (alt-ref) framesRonald S. Bultje
Addresses part of #310.
2022-01-06Add option to write each frame to separate output fileRonald S. Bultje
For per-file yuv/y4m writes, this can be automatically specified using e.g. -o file_%w_%h_%5n.yuv/y4m. --muxer=framemd5 -o - --quiet will accomplish the same for per-frame md5sums. Addresses part of #310.
2022-01-06DAV1D_MC_IDENTITY requires DAV1D_PIXEL_LAYOUT_I444Wan-Teh Chang
Section 6.4.2 (Color config semantics) of the AV1 spec says: If matrix_coefficients is equal to MC_IDENTITY, it is a requirement of bitstream conformance that subsampling_x is equal to 0 and subsampling_y is equal to 0. Add Dav1dSettings.strict_std_compliance flag which, when set, allows aborting decoding when such standard-compliance violations fail, even though they don't affect decoding. In CLI, this flag can be accessed using -strict.
2021-10-29CI: Add tests for negative strideVictorien Le Couviour--Tuffet
2021-09-20Add automatic thread count selectionHenrik Gramner
Supports Linux, MacOS, and Windows.
2021-09-03Merge the 3 threading models into a single oneVictorien Le Couviour--Tuffet
Merges the 3 threading parameters into a single `--threads=` argument. Frame threading can still be controlled via the `--framedelay=` argument. Internally, the threading model is now a global thread/task pool design. Co-authored-by: Ronald S. Bultje <rsbultje@gmail.com>
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-02-12Silence -Warray-bounds warning on some gcc versionsNathan E. Egge
2021-02-08xxhash: Add a cast to silence a warning when built with MSVCMartin Storsjö
This silences the following warning: tools/output/xxhash.c(127): warning C4244: '=': conversion from 'unsigned long' to 'unsigned char', possible loss of data
2021-02-08tools: add optional xxh3 based muxerJanne Grunau
The required 'xxhash.h' header can either be in system include directory or can be copied to 'tools/output'. The xxh3_128bits based muxer shows no significant slowdown compared to the null muxer. Decoding times Chimera-AV1-8bit-1920x1080-6736kbps.ivf with 4 frame and 4 tile threads on a core i7-8550U (disabled turbo boost): null: 72.5 s md5: 99.8 s xxh3: 73.8 s Decoding Chimera-AV1-10bit-1920x1080-6191kbps.ivf with 6 frame and 4 tile threads on a m1 mc mini: null: 27.8 s md5: 105.9 s xxh3: 28.3 s
2021-02-08cli: Fix md5 verification for short valuesMatthias Dressel
Verification should not succeed if the given string is too short to be a real hash. Fixes videolan/dav1d#361
2021-02-06tools: fix '--verify' with muxer explicitly setJanne Grunau
2021-01-28Add post-filters threading modelVictorien Le Couviour--Tuffet
2021-01-18tests: Add a seek stress testVictorien Le Couviour--Tuffet
Closes #203.
2021-01-15input/ivf: Add seeking capabilityVictorien Le Couviour--Tuffet
2021-01-06cli: Optimize md5 checksum calculationHenrik Gramner
2020-09-06cli: Add support for Unicode and long paths on Windows 10Henrik Gramner
2020-09-01cli: Use proper integer math in Y4M PAR calculationsHenrik Gramner
The previous floating-point implementation produced results that were sometimes slightly off due to rounding errors. For example, a frame size of 432x240 with a render size of 176x240 previously resulted in a PAR of 98:240 instead of the correct 11:27. Also reduce fractions to produce more readable numbers.
2020-08-30Output render size to Y4MRaphaël Zumer
This adds A<W>:<H> to the Y4M header, to preserve the intended aspect ratio for anamorphic video.
2020-08-28cli: Print the decoding fps even if the file lacks a nominal framerateMartin Storsjö
We can't compare the decoding speed with the intended decoding rate, but the frame rate alone is still useful.
2020-06-29CLI: Fix help textMatthias Dressel
Since 46d092ae6ac62284e5bdde4d0808aca4ab7410a9 the demuxer is no longer detected from extension but rather by probing.
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-06-18cli: Avoid large intermediates in the windows get_time_nanosMartin Storsjö
By multiplicating the performance counter value (within its own time base) by the intended target time base, and only then dividing, we reduce the available numeric range by the factor of the original time base times the new time base. On Windows 10 on ARM64, the performance counter frequency is 19200000 (on x86_64 in a virtual machine, it's 10000000), making the calculation overflow every (1 << 64) / (19200000 * 1000000000) = 960 seconds, i.e. 16 minutes - long before the actual uint64_t nanosecond return value wraps around.
2020-06-18cli: Get the elapsed time if printing progress, regardless of the fps valueMartin Storsjö
Even if we don't want to throttle decoding to realtime, and even if the file itself didn't contain a valid fps value, we may want to call the synchronize function to fetch the current elapsed decoding time, for displaying the fps value.
2020-06-04Range of operating point is 0 - 31, not 0 - 32Wan-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-04-12CLI: Add missing cpumask for VSXMatthias Dressel
2020-03-07CLI: Remove additional spaceMatthias Dressel
The argument for --input was aligned with the argument for --output. None of the other arguments were aligned. For consistency either align all or none. This commit removes the alignment.
2020-03-07CLI: Remove avx512 from help textMatthias Dressel
avx512 was merged with avx512icl. See 7b208fa8
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
2020-02-17cli: Implement line buffering in print_stats()Henrik Gramner
Console output is incredibly slow on Windows, which is aggravated by the lack of line buffering. As a result, a significant percentage of overall runtime is actually spent displaying the decoding progress. Doing the line buffering manually alleviates most of the issue.
2019-12-14x86: Remove unused cpu flagsHenrik Gramner
Also make the cpuid code a bit more explicit.
2019-12-14Add support for Ice Lake AVX-512 cpu flagsEwout ter Hoeven
2019-11-27build: do not error out if clock_gettime is not found on darwinJanne Grunau
Also prefer clock_gettime over mach_absolute_time on darwin. clock_gettime is only available in darwin 10.12 and later. Hopefully fixes #283.
2019-11-27cli: Return only EXIT_SUCCESS or EXIT_FAILURE from mainJustin Bull
2019-11-24checkasm: replace gettimeofday with clock_gettimeJan Beich
tests/checkasm/checkasm.c:55:5: warning: implicit declaration of function 'gettimeofday' is invalid in C99 [-Wimplicit-function-declaration] gettimeofday(&tv, NULL); ^
2019-11-24tools: prefer mach_absolute_time on macOS for forward compatibilityJan Beich
2019-11-24tools: mach_absolute_time is not portable, so stop checking at configureJan Beich
2019-11-23input: Use EIO instead of ENODATAHenrik Gramner
The latter is marked as obsolete by POSIX.