]> git.nihav.org Git - nihav.git/log
nihav.git
14 months agoadd FOURCC for RPZA in AVI
Kostya Shishkov [Sun, 30 Jun 2024 06:36:12 +0000 (08:36 +0200)]
add FOURCC for RPZA in AVI

14 months agoadd another FOURCC for TrueMotion 1
Kostya Shishkov [Sun, 30 Jun 2024 06:35:06 +0000 (08:35 +0200)]
add another FOURCC for TrueMotion 1

14 months agoavi: fix handling of multiple palette changes in single 'pc' chunk
Kostya Shishkov [Thu, 27 Jun 2024 16:11:19 +0000 (18:11 +0200)]
avi: fix handling of multiple palette changes in single 'pc' chunk

14 months agoSierra RBT and SEQ formats support
Kostya Shishkov [Thu, 27 Jun 2024 15:47:11 +0000 (17:47 +0200)]
Sierra RBT and SEQ formats support

14 months agovmd: move samples into subdirectory
Kostya Shishkov [Wed, 26 Jun 2024 16:56:32 +0000 (18:56 +0200)]
vmd: move samples into subdirectory

14 months agoavi: descend into 'rec' lists
Kostya Shishkov [Mon, 24 Jun 2024 16:32:17 +0000 (18:32 +0200)]
avi: descend into 'rec' lists

15 months agoAcorn Super Moving Blocks Decoder
Kostya Shishkov [Tue, 28 May 2024 16:07:59 +0000 (18:07 +0200)]
Acorn Super Moving Blocks Decoder

15 months agonihav-acorn: fix common YUV2RGB table
Kostya Shishkov [Tue, 28 May 2024 16:07:59 +0000 (18:07 +0200)]
nihav-acorn: fix common YUV2RGB table

15 months agoaac: clear M/S flags
Kostya Shishkov [Tue, 7 May 2024 16:13:19 +0000 (18:13 +0200)]
aac: clear M/S flags

15 months agoadd some packetisers for WSS formats in ARMovie
Kostya Shishkov [Tue, 7 May 2024 16:12:27 +0000 (18:12 +0200)]
add some packetisers for WSS formats in ARMovie

15 months agoarmovie: zero-terminated string is not exactly an error
Kostya Shishkov [Sun, 5 May 2024 16:46:37 +0000 (18:46 +0200)]
armovie: zero-terminated string is not exactly an error

15 months agoarmovie: ignore zero video codec parameters
Kostya Shishkov [Sun, 5 May 2024 16:46:04 +0000 (18:46 +0200)]
armovie: ignore zero video codec parameters

15 months agoadd raw audio support in Acorn Replay Movie format
Kostya Shishkov [Sun, 5 May 2024 16:45:38 +0000 (18:45 +0200)]
add raw audio support in Acorn Replay Movie format

15 months agoremove stray whitespaces
Kostya Shishkov [Sun, 5 May 2024 16:43:15 +0000 (18:43 +0200)]
remove stray whitespaces

15 months agoarm_rawvideo: remove debug statement
Kostya Shishkov [Sat, 4 May 2024 16:15:00 +0000 (18:15 +0200)]
arm_rawvideo: remove debug statement

15 months agosupport raw video in ARMovie
Kostya Shishkov [Sat, 4 May 2024 14:58:57 +0000 (16:58 +0200)]
support raw video in ARMovie

16 months agoadd Acorn Moving Blocks HQ decoder
Kostya Shishkov [Tue, 30 Apr 2024 16:19:01 +0000 (18:19 +0200)]
add Acorn Moving Blocks HQ decoder

16 months agoadd LinePack decoder
Kostya Shishkov [Fri, 26 Apr 2024 16:19:40 +0000 (18:19 +0200)]
add LinePack decoder

16 months agoAdd a crate for handling Acorn ReplayMovie formats
Kostya Shishkov [Thu, 25 Apr 2024 16:22:38 +0000 (18:22 +0200)]
Add a crate for handling Acorn ReplayMovie formats

16 months agoregistry: register known ARMovie codecs
Kostya Shishkov [Tue, 23 Apr 2024 16:55:35 +0000 (18:55 +0200)]
registry: register known ARMovie codecs

16 months agoregistry: add detection rule for ARMovie
Kostya Shishkov [Tue, 23 Apr 2024 16:54:34 +0000 (18:54 +0200)]
registry: add detection rule for ARMovie

16 months agocodec_support/test: add test_decoding_raw()
Kostya Shishkov [Tue, 23 Apr 2024 16:51:46 +0000 (18:51 +0200)]
codec_support/test: add test_decoding_raw()

This function will be used to test decoders with payload from raw streams
(i.e. it requries raw stream demuxers and packetisation steps).

16 months agocore: update NAPacketiser::parse_stream() documentation
Kostya Shishkov [Tue, 23 Apr 2024 16:50:29 +0000 (18:50 +0200)]
core: update NAPacketiser::parse_stream() documentation

16 months agoIntroduce NAPacketiser::attach_stream()
Kostya Shishkov [Tue, 23 Apr 2024 16:44:02 +0000 (18:44 +0200)]
Introduce NAPacketiser::attach_stream()

This allows packetisers to get initial stream information and act on it
during parsing process or returning a new stream.

17 months agoaac: fix intensity stereo reconstruction for ms_mask_present=0 case
Kostya Shishkov [Tue, 19 Mar 2024 14:11:12 +0000 (15:11 +0100)]
aac: fix intensity stereo reconstruction for ms_mask_present=0 case

17 months agonihav_itu: ignore high-profile extradata tail when it is not correct
Kostya Shishkov [Sun, 3 Mar 2024 13:59:46 +0000 (14:59 +0100)]
nihav_itu: ignore high-profile extradata tail when it is not correct

18 months agomov: fix seeking in audio track with unreported sample size
Kostya Shishkov [Mon, 5 Feb 2024 17:52:05 +0000 (18:52 +0100)]
mov: fix seeking in audio track with unreported sample size

19 months agocore/soundcvt: fix some cases where resampler skipped its work
Kostya Shishkov [Fri, 5 Jan 2024 17:08:05 +0000 (18:08 +0100)]
core/soundcvt: fix some cases where resampler skipped its work

20 months agoms-adpcm: fix decoding
Kostya Shishkov [Thu, 21 Dec 2023 15:12:57 +0000 (16:12 +0100)]
ms-adpcm: fix decoding

21 months agoEA muxer
Kostya Shishkov [Thu, 30 Sep 2021 11:49:50 +0000 (13:49 +0200)]
EA muxer

21 months agogifdec: fix transparent frame decoding
Kostya Shishkov [Sat, 11 Nov 2023 11:06:13 +0000 (12:06 +0100)]
gifdec: fix transparent frame decoding

21 months agoArxel CI2 video support
Kostya Shishkov [Thu, 9 Nov 2023 17:44:17 +0000 (18:44 +0100)]
Arxel CI2 video support

22 months agobinkmux: hopefully set audio codec flags correctly this time
Kostya Shishkov [Mon, 9 Oct 2023 16:55:10 +0000 (18:55 +0200)]
binkmux: hopefully set audio codec flags correctly this time

22 months agonihav_allstuff: register Bink muxer and encoders
Kostya Shishkov [Sat, 30 Sep 2023 09:44:01 +0000 (11:44 +0200)]
nihav_allstuff: register Bink muxer and encoders

22 months agoBink Audio encoder (version b for now)
Kostya Shishkov [Sat, 7 Oct 2023 16:51:41 +0000 (18:51 +0200)]
Bink Audio encoder (version b for now)

22 months agobinkaud: split out common data definitions for the future encoder
Kostya Shishkov [Sat, 30 Sep 2023 09:59:51 +0000 (11:59 +0200)]
binkaud: split out common data definitions for the future encoder

22 months agoBink muxer
Kostya Shishkov [Sat, 30 Sep 2023 09:43:02 +0000 (11:43 +0200)]
Bink muxer

22 months agoBink Video encoder (only 'b' version for now)
Kostya Shishkov [Sat, 30 Sep 2023 09:40:32 +0000 (11:40 +0200)]
Bink Video encoder (only 'b' version for now)

22 months agobinkvid: move data tables into separate module
Kostya Shishkov [Sat, 30 Sep 2023 08:12:40 +0000 (10:12 +0200)]
binkvid: move data tables into separate module

This is preparation work for the upcoming encoder.

22 months agosmacker: add forgotten recursion depth check
Kostya Shishkov [Sat, 30 Sep 2023 09:46:18 +0000 (11:46 +0200)]
smacker: add forgotten recursion depth check

23 months agogifenc: support grayscale input directly
Kostya Shishkov [Mon, 11 Sep 2023 15:38:13 +0000 (17:38 +0200)]
gifenc: support grayscale input directly

23 months agogifenc: improve no-compression mode by keeping code lengths the same
Kostya Shishkov [Mon, 11 Sep 2023 10:08:52 +0000 (12:08 +0200)]
gifenc: improve no-compression mode by keeping code lengths the same

23 months agoGIF support
Kostya Shishkov [Sun, 10 Sep 2023 16:46:32 +0000 (18:46 +0200)]
GIF support

23 months agocore/scale: support copying paletted frames
Kostya Shishkov [Sat, 9 Sep 2023 07:33:36 +0000 (09:33 +0200)]
core/scale: support copying paletted frames

23 months agoadd (limited) support for Digital Pictures SGA format
Kostya Shishkov [Sat, 2 Sep 2023 15:45:27 +0000 (17:45 +0200)]
add (limited) support for Digital Pictures SGA format

2 years agozmbvenc: implement coarse but fast motion estimation and use it by default
Kostya Shishkov [Fri, 25 Aug 2023 16:57:22 +0000 (18:57 +0200)]
zmbvenc: implement coarse but fast motion estimation and use it by default

2 years agowav: try to read as much PCM data as possible
Kostya Shishkov [Fri, 25 Aug 2023 16:55:42 +0000 (18:55 +0200)]
wav: try to read as much PCM data as possible

Otherwise read_buf_some() may return random small buffer size that
is not even aligned to the sample size.

2 years agowav: allow demuxing custom block sizes
Kostya Shishkov [Fri, 25 Aug 2023 16:54:44 +0000 (18:54 +0200)]
wav: allow demuxing custom block sizes

2 years agocore/compr: fix documentation comments
Kostya Shishkov [Thu, 17 Aug 2023 16:20:27 +0000 (18:20 +0200)]
core/compr: fix documentation comments

2 years agoflashsv: the codec uses BGR24 format instead of RGB24
Kostya Shishkov [Sat, 12 Aug 2023 07:24:17 +0000 (09:24 +0200)]
flashsv: the codec uses BGR24 format instead of RGB24

2 years agoflashsv: whitespace fix
Kostya Shishkov [Sat, 12 Aug 2023 07:17:04 +0000 (09:17 +0200)]
flashsv: whitespace fix

2 years agoh264: more micro-optimisations
Kostya Shishkov [Fri, 11 Aug 2023 16:27:48 +0000 (18:27 +0200)]
h264: more micro-optimisations

* split IDCT function so it has only two parameters
* evade instantiating frame references for each MB or even sub-block
* other small code changes

2 years agoh264: prepare data references before decoding
Kostya Shishkov [Tue, 8 Aug 2023 12:39:17 +0000 (14:39 +0200)]
h264: prepare data references before decoding

This speeds up decoding by eliminating the need for refcounted accesses.

2 years agoh264: miscellaneous micro-optimisations
Kostya Shishkov [Mon, 7 Aug 2023 17:01:42 +0000 (19:01 +0200)]
h264: miscellaneous micro-optimisations

2 years agoh264: cache data before use in fill_deblock()
Kostya Shishkov [Sat, 5 Aug 2023 17:06:09 +0000 (19:06 +0200)]
h264: cache data before use in fill_deblock()

2 years agoh264: introduce frame pool for average block buffers in MT decoder
Kostya Shishkov [Sat, 5 Aug 2023 14:19:31 +0000 (16:19 +0200)]
h264: introduce frame pool for average block buffers in MT decoder

2 years agoh264: make a specific version of 4x4 bidirectional MC function
Kostya Shishkov [Sat, 5 Aug 2023 09:47:21 +0000 (11:47 +0200)]
h264: make a specific version of 4x4 bidirectional MC function

2 years agoh264: reduce number of arguments for mc_blocks()
Kostya Shishkov [Fri, 4 Aug 2023 16:55:18 +0000 (18:55 +0200)]
h264: reduce number of arguments for mc_blocks()

2 years agoh264: optimise check_filter() for AMD64
Kostya Shishkov [Fri, 4 Aug 2023 16:10:22 +0000 (18:10 +0200)]
h264: optimise check_filter() for AMD64

2 years agovp6dsp: SSE2 intrinsics version of bilinear motion compensation
Kostya Shishkov [Thu, 27 Jul 2023 16:07:18 +0000 (18:07 +0200)]
vp6dsp: SSE2 intrinsics version of bilinear motion compensation

This is an old patch picked up mostly because those intrinsics
are stable now.

2 years agofix clippy warnings
Kostya Shishkov [Wed, 26 Jul 2023 17:03:18 +0000 (19:03 +0200)]
fix clippy warnings

2 years agoh264: introduce inline assembly for CABAC get_bit() and bump compiler version
Kostya Shishkov [Wed, 26 Jul 2023 16:22:42 +0000 (18:22 +0200)]
h264: introduce inline assembly for CABAC get_bit() and bump compiler version

2 years agoswitch to rustc 1.69
Kostya Shishkov [Thu, 27 Jul 2023 16:00:34 +0000 (18:00 +0200)]
switch to rustc 1.69

2 years agoh264: fix warnings regarding uninitialised memory
Kostya Shishkov [Wed, 26 Jul 2023 16:21:07 +0000 (18:21 +0200)]
h264: fix warnings regarding uninitialised memory

2 years agocore/soundcvt: typo
Kostya Shishkov [Tue, 25 Jul 2023 16:31:01 +0000 (18:31 +0200)]
core/soundcvt: typo

2 years agormmux: fix test checksums
Kostya Shishkov [Tue, 25 Jul 2023 16:01:50 +0000 (18:01 +0200)]
rmmux: fix test checksums

Those were wrong in 353373a32fcbf842efb6fb11462b5c757b0d382e

2 years agoaac: fix intensity stereo direction
Kostya Shishkov [Wed, 19 Jul 2023 16:00:35 +0000 (18:00 +0200)]
aac: fix intensity stereo direction

2 years agoTrueMotion 1 encoder
Kostya Shishkov [Tue, 18 Jul 2023 16:54:02 +0000 (18:54 +0200)]
TrueMotion 1 encoder

Only 15-bit mode is supported.

2 years agotruemotion1data: signal delta table sizes
Kostya Shishkov [Tue, 18 Jul 2023 16:17:41 +0000 (18:17 +0200)]
truemotion1data: signal delta table sizes

2 years agotruemotion1: split off data tables for the upcoming encoder
Kostya Shishkov [Tue, 11 Jul 2023 16:49:59 +0000 (18:49 +0200)]
truemotion1: split off data tables for the upcoming encoder

2 years agoh264: clear frame refs on flush
Kostya Shishkov [Thu, 6 Jul 2023 16:30:20 +0000 (18:30 +0200)]
h264: clear frame refs on flush

2 years agocore/reorder: clear frame IDs in MTFrameReorderer on flush
Kostya Shishkov [Thu, 6 Jul 2023 16:30:04 +0000 (18:30 +0200)]
core/reorder: clear frame IDs in MTFrameReorderer on flush

2 years agomov: do not overwrite timebase with sample rate
Kostya Shishkov [Fri, 30 Jun 2023 16:11:11 +0000 (18:11 +0200)]
mov: do not overwrite timebase with sample rate

E.g. in AAC SBR case we may get timebase 2048/44100 with the nominal
sample rate being 22050 Hz.

2 years agomov: try to sync audio and video tracks when seeking
Kostya Shishkov [Wed, 28 Jun 2023 17:08:36 +0000 (19:08 +0200)]
mov: try to sync audio and video tracks when seeking

2 years agoaac: fix intensity and mid/side stereo reconstruction
Kostya Shishkov [Sat, 24 Jun 2023 09:44:59 +0000 (11:44 +0200)]
aac: fix intensity and mid/side stereo reconstruction

2 years agomov: set DTS to PTS when actual value is not available
Kostya Shishkov [Sat, 17 Jun 2023 14:04:54 +0000 (16:04 +0200)]
mov: set DTS to PTS when actual value is not available

2 years agoavimux: set palette change flag in stream header if applicable
Kostya Shishkov [Sat, 17 Jun 2023 09:03:04 +0000 (11:03 +0200)]
avimux: set palette change flag in stream header if applicable

2 years agocore/scale: fix typos in scaling loop
Kostya Shishkov [Fri, 16 Jun 2023 16:08:04 +0000 (18:08 +0200)]
core/scale: fix typos in scaling loop

2 years agorawvideoenc: suggest YUV during format negotiation
Kostya Shishkov [Fri, 16 Jun 2023 16:07:39 +0000 (18:07 +0200)]
rawvideoenc: suggest YUV during format negotiation

2 years agoallstuff: register multi-threaded decoders as well
Kostya Shishkov [Wed, 14 Jun 2023 16:53:10 +0000 (18:53 +0200)]
allstuff: register multi-threaded decoders as well

2 years agoh264: add multi-threaded decoder
Kostya Shishkov [Wed, 14 Jun 2023 16:51:44 +0000 (18:51 +0200)]
h264: add multi-threaded decoder

2 years agoh264: make some structures shareable
Kostya Shishkov [Wed, 14 Jun 2023 16:47:18 +0000 (18:47 +0200)]
h264: make some structures shareable

This is a preparation work for an upcoming multi-threaded decoding.

2 years agoh264: split current slice references into a separate structure
Kostya Shishkov [Wed, 14 Jun 2023 16:41:31 +0000 (18:41 +0200)]
h264: split current slice references into a separate structure

This will become useful when decoding a whole frame at once.

2 years agoh264: move decoder-specific bits into separate module
Kostya Shishkov [Wed, 14 Jun 2023 16:32:04 +0000 (18:32 +0200)]
h264: move decoder-specific bits into separate module

This is done as a preparation work for introducing multi-threaded decoding.

2 years agocodec_support/test: add a function for testing multi-threaded decoders
Kostya Shishkov [Sat, 10 Jun 2023 10:31:39 +0000 (12:31 +0200)]
codec_support/test: add a function for testing multi-threaded decoders

2 years agocore/frame: add means for NAVideoBufferPool to grow and report its usage
Kostya Shishkov [Sat, 10 Jun 2023 10:30:54 +0000 (12:30 +0200)]
core/frame: add means for NAVideoBufferPool to grow and report its usage

2 years agogeneric frame reorderer for multi-threaded decoders
Kostya Shishkov [Sat, 10 Jun 2023 10:29:48 +0000 (12:29 +0200)]
generic frame reorderer for multi-threaded decoders

2 years agointroduce the interface for multi-threaded decoders
Kostya Shishkov [Sat, 10 Jun 2023 10:28:31 +0000 (12:28 +0200)]
introduce the interface for multi-threaded decoders

2 years agocinepakenc: add an option to further refine the selected vectors
Kostya Shishkov [Mon, 5 Jun 2023 16:27:43 +0000 (18:27 +0200)]
cinepakenc: add an option to further refine the selected vectors

2 years agoraw video "encoder"
Kostya Shishkov [Sun, 4 Jun 2023 13:22:49 +0000 (15:22 +0200)]
raw video "encoder"

2 years agoadd YUV4MPEG muxer
Kostya Shishkov [Sat, 3 Jun 2023 14:56:56 +0000 (16:56 +0200)]
add YUV4MPEG muxer

2 years agoy4m: if no colourspace is specified it should be YUV 4:2:0
Kostya Shishkov [Sat, 3 Jun 2023 08:42:19 +0000 (10:42 +0200)]
y4m: if no colourspace is specified it should be YUV 4:2:0

2 years agocinepakenc: introduce fast VQ mode and make it default
Kostya Shishkov [Sat, 3 Jun 2023 08:06:24 +0000 (10:06 +0200)]
cinepakenc: introduce fast VQ mode and make it default

2 years agocinepakenc: factor out ELBG quantisation
Kostya Shishkov [Sat, 3 Jun 2023 07:45:13 +0000 (09:45 +0200)]
cinepakenc: factor out ELBG quantisation

This will be useful in the upcoming fast VQ mode.

2 years agocinepakenc: make ELBG mode to behave like hybrid mode (and drop that one)
Kostya Shishkov [Sat, 3 Jun 2023 07:40:19 +0000 (09:40 +0200)]
cinepakenc: make ELBG mode to behave like hybrid mode (and drop that one)

In reality it is the proper way to perform (E)LBG VQ so the old ineffective
ELBG should be replaced with "hybrid" quantisation way.

2 years agozmbvenc: handle I-frames that turned out to be skip frames
Kostya Shishkov [Thu, 25 May 2023 15:46:59 +0000 (17:46 +0200)]
zmbvenc: handle I-frames that turned out to be skip frames

2 years agozmbvenc: update checksums after deflate changes
Kostya Shishkov [Wed, 24 May 2023 17:33:17 +0000 (19:33 +0200)]
zmbvenc: update checksums after deflate changes

2 years agocore/soundcvt: add resampling support
Kostya Shishkov [Tue, 23 May 2023 17:52:37 +0000 (19:52 +0200)]
core/soundcvt: add resampling support

2 years agocore/scale: add proper rescaling
Kostya Shishkov [Tue, 23 May 2023 17:36:04 +0000 (19:36 +0200)]
core/scale: add proper rescaling

2 years agocore/compr: make code length limiting in deflate actually work
Kostya Shishkov [Wed, 24 May 2023 17:48:11 +0000 (19:48 +0200)]
core/compr: make code length limiting in deflate actually work