]> git.nihav.org Git - nihav.git/log
nihav.git
17 months 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

17 months 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

17 months 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

18 months 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

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

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

18 months 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

18 months 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

18 months 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.

18 months 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.

18 months 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

18 months 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

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

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

18 months 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

18 months agocore/compr: fix clippy warnings
Kostya Shishkov [Wed, 24 May 2023 17:20:11 +0000 (19:20 +0200)]
core/compr: fix clippy warnings

18 months agocore/compr: improve deflate match search
Kostya Shishkov [Wed, 24 May 2023 17:14:19 +0000 (19:14 +0200)]
core/compr: improve deflate match search

18 months agocinepakenc: try to calculate the number of strips automatically if requested
Kostya Shishkov [Sat, 20 May 2023 15:07:13 +0000 (17:07 +0200)]
cinepakenc: try to calculate the number of strips automatically if requested

18 months agocore/scale: fix off-by-one typo
Kostya Shishkov [Sat, 20 May 2023 14:53:47 +0000 (16:53 +0200)]
core/scale: fix off-by-one typo

18 months agoRealVideo 4 encoder
Kostya Shishkov [Thu, 18 May 2023 16:27:26 +0000 (18:27 +0200)]
RealVideo 4 encoder

18 months agorv34: make coefficient data public for the upcoming encoder
Kostya Shishkov [Thu, 18 May 2023 16:23:00 +0000 (18:23 +0200)]
rv34: make coefficient data public for the upcoming encoder

18 months agorv40: split off data into separate module for the upcoming encoder
Kostya Shishkov [Thu, 18 May 2023 16:21:48 +0000 (18:21 +0200)]
rv40: split off data into separate module for the upcoming encoder

18 months agoflacdemux: improve frame bounds search
Kostya Shishkov [Wed, 17 May 2023 16:27:39 +0000 (18:27 +0200)]
flacdemux: improve frame bounds search

18 months agormmux: rework video packetisation and add some debug prints
Kostya Shishkov [Thu, 11 May 2023 17:26:44 +0000 (19:26 +0200)]
rmmux: rework video packetisation and add some debug prints

18 months agormmux: generate monotone timestamps for video stream
Kostya Shishkov [Thu, 4 May 2023 17:14:14 +0000 (19:14 +0200)]
rmmux: generate monotone timestamps for video stream

18 months agocore/codecs: EncodeParameters.bitrate is in bits per second
Kostya Shishkov [Sun, 7 May 2023 15:06:22 +0000 (17:06 +0200)]
core/codecs: EncodeParameters.bitrate is in bits per second

20 months agoavimux: fix palette writing in the video stream header
Kostya Shishkov [Tue, 14 Mar 2023 10:32:11 +0000 (11:32 +0100)]
avimux: fix palette writing in the video stream header

20 months agointroduce a way for encoder to manifest its capabilities
Kostya Shishkov [Tue, 14 Mar 2023 10:11:31 +0000 (11:11 +0100)]
introduce a way for encoder to manifest its capabilities

20 months agoaacsbr: fix high<->low resolution envelope mapping
Kostya Shishkov [Mon, 13 Mar 2023 12:46:59 +0000 (13:46 +0100)]
aacsbr: fix high<->low resolution envelope mapping

20 months agoaacsbr: fix off-by-one situation with envelope borders
Kostya Shishkov [Mon, 13 Mar 2023 11:00:09 +0000 (12:00 +0100)]
aacsbr: fix off-by-one situation with envelope borders

20 months agoCook encoder
Kostya Shishkov [Thu, 9 Mar 2023 18:44:20 +0000 (19:44 +0100)]
Cook encoder

21 months agocook: split data into a separate module
Kostya Shishkov [Thu, 2 Mar 2023 18:50:37 +0000 (19:50 +0100)]
cook: split data into a separate module

20 months agormmux: better audio codec flavour detection
Kostya Shishkov [Tue, 7 Mar 2023 17:32:44 +0000 (18:32 +0100)]
rmmux: better audio codec flavour detection

20 months agormmux: improve the audio packet timestamp handling
Kostya Shishkov [Tue, 7 Mar 2023 16:50:42 +0000 (17:50 +0100)]
rmmux: improve the audio packet timestamp handling

21 months agoadd RealMedia and RealAudio muxers
Kostya Shishkov [Wed, 1 Mar 2023 18:36:38 +0000 (19:36 +0100)]
add RealMedia and RealAudio muxers

21 months agorealmedia: hopefully fix reported block size
Kostya Shishkov [Wed, 1 Mar 2023 17:28:24 +0000 (18:28 +0100)]
realmedia: hopefully fix reported block size

21 months agorealmedia: clear non-existing timestamps in .ra
Kostya Shishkov [Wed, 1 Mar 2023 17:22:54 +0000 (18:22 +0100)]
realmedia: clear non-existing timestamps in .ra

21 months agorealmedia: parse the original RealAudio files with even shorter v3 header
Kostya Shishkov [Fri, 24 Feb 2023 17:25:02 +0000 (18:25 +0100)]
realmedia: parse the original RealAudio files with even shorter v3 header

21 months agocinepakenc: add option for forcing V1-only mode
Kostya Shishkov [Thu, 23 Feb 2023 18:22:25 +0000 (19:22 +0100)]
cinepakenc: add option for forcing V1-only mode

21 months agocinepakenc: in hybrid VQ mode do not run ELBG refinement for < 256 entries
Kostya Shishkov [Thu, 23 Feb 2023 17:25:35 +0000 (18:25 +0100)]
cinepakenc: in hybrid VQ mode do not run ELBG refinement for < 256 entries

21 months agocinepakenc: output only the active codebook part
Kostya Shishkov [Thu, 23 Feb 2023 17:15:06 +0000 (18:15 +0100)]
cinepakenc: output only the active codebook part

21 months agocinepakenc: fix detection of codebook changed part
Kostya Shishkov [Thu, 23 Feb 2023 16:53:43 +0000 (17:53 +0100)]
cinepakenc: fix detection of codebook changed part

21 months agocinepakenc: fix mask output optimisation
Kostya Shishkov [Thu, 23 Feb 2023 16:48:24 +0000 (17:48 +0100)]
cinepakenc: fix mask output optimisation

21 months agorename "str" variable to avoid confusion with the primitive type
Kostya Shishkov [Fri, 17 Feb 2023 17:23:38 +0000 (18:23 +0100)]
rename "str" variable to avoid confusion with the primitive type

21 months agoavi: fix handling of palette change chunk with 256 colours
Kostya Shishkov [Tue, 14 Feb 2023 17:50:51 +0000 (18:50 +0100)]
avi: fix handling of palette change chunk with 256 colours

21 months agomsvideo1enc: fix inversed flags in quantisation
Kostya Shishkov [Tue, 14 Feb 2023 17:50:21 +0000 (18:50 +0100)]
msvideo1enc: fix inversed flags in quantisation

21 months agoindeo3enc: advance frameno on skip frames as well
Kostya Shishkov [Wed, 15 Feb 2023 19:46:20 +0000 (20:46 +0100)]
indeo3enc: advance frameno on skip frames as well

21 months agoindeo3enc: requant input only in modes 0/3/10
Kostya Shishkov [Wed, 15 Feb 2023 19:45:23 +0000 (20:45 +0100)]
indeo3enc: requant input only in modes 0/3/10

21 months agoindeo3enc: rework cell intra flag logic
Kostya Shishkov [Wed, 15 Feb 2023 19:01:38 +0000 (20:01 +0100)]
indeo3enc: rework cell intra flag logic

Previously it was used to signal frame type instead of cell type, which led
to VQ NULL cell type appearing in intra-only cells.

21 months agoindeo3enc: fix always enabled frame recompression
Kostya Shishkov [Wed, 15 Feb 2023 18:49:20 +0000 (19:49 +0100)]
indeo3enc: fix always enabled frame recompression

21 months agoindeo3enc: fix mode10 interpolation
Kostya Shishkov [Wed, 15 Feb 2023 18:46:12 +0000 (19:46 +0100)]
indeo3enc: fix mode10 interpolation

21 months agoindeo3enc: rework the logic with motion cells
Kostya Shishkov [Tue, 14 Feb 2023 15:32:35 +0000 (16:32 +0100)]
indeo3enc: rework the logic with motion cells

Previously motion vectors were ranged by the number of cells using them and
if the vector outside the allowed number of MVs was close enough to
a popular one the latter was used instead.

Now the MVs are ranked by the total area of cells using them and the vectors
not in the list are pruned entirely. Cells with those vectors are replaced
with the intra-coded ones.

21 months agoindeo3enc: fix checksum calculation
Kostya Shishkov [Tue, 14 Feb 2023 14:48:51 +0000 (15:48 +0100)]
indeo3enc: fix checksum calculation

21 months agorework Indeo 3 decoder
Kostya Shishkov [Tue, 14 Feb 2023 14:10:53 +0000 (15:10 +0100)]
rework Indeo 3 decoder

21 months agomsvideo1enc: handle skip frames
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: handle skip frames

21 months agomsvideo1enc: add paletted input support
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: add paletted input support

21 months agomsvideo1enc: fix skip mode
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: fix skip mode

21 months agomsvideo1enc: fix 8-colour mode
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: fix 8-colour mode

21 months agoavimux: fix written information for paletted format
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
avimux: fix written information for paletted format

21 months agomsvideo1enc: prepare workflow for the future paletted mode support
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: prepare workflow for the future paletted mode support

21 months agomsvideo1enc: support quality setting
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: support quality setting

21 months agomsvideo1enc: switch to faster 2-colour quantiser
Kostya Shishkov [Wed, 8 Feb 2023 16:36:49 +0000 (17:36 +0100)]
msvideo1enc: switch to faster 2-colour quantiser

21 months agoIndeo 3 encoder
Kostya Shishkov [Thu, 22 Dec 2022 13:03:26 +0000 (14:03 +0100)]
Indeo 3 encoder

21 months agosplit Indeo 3 codebooks into separate module
Kostya Shishkov [Wed, 21 Dec 2022 11:09:34 +0000 (12:09 +0100)]
split Indeo 3 codebooks into separate module

23 months agocore/compr: make a faster version of Inflate::uncompress()
Kostya Shishkov [Fri, 23 Dec 2022 07:39:09 +0000 (08:39 +0100)]
core/compr: make a faster version of Inflate::uncompress()

23 months agodisable or remove unneeded debug messages
Kostya Shishkov [Fri, 23 Dec 2022 07:39:09 +0000 (08:39 +0100)]
disable or remove unneeded debug messages

23 months agomake validate!() print message only in debug builds
Kostya Shishkov [Fri, 23 Dec 2022 07:39:09 +0000 (08:39 +0100)]
make validate!() print message only in debug builds

23 months agomov: sanitise position on seek error
Kostya Shishkov [Fri, 23 Dec 2022 07:39:09 +0000 (08:39 +0100)]
mov: sanitise position on seek error

23 months agocore/demuxer: add functions for creating demuxers with options
Kostya Shishkov [Sat, 17 Dec 2022 10:45:15 +0000 (11:45 +0100)]
core/demuxer: add functions for creating demuxers with options

23 months agomov: improve seeking in audio-only files
Kostya Shishkov [Sat, 17 Dec 2022 10:44:48 +0000 (11:44 +0100)]
mov: improve seeking in audio-only files

2 years agomov: add support for MacBinary format
Kostya Shishkov [Fri, 25 Nov 2022 16:44:38 +0000 (17:44 +0100)]
mov: add support for MacBinary format

2 years agocinepak: fix handling of intra slices in inter frames
Kostya Shishkov [Fri, 25 Nov 2022 16:43:19 +0000 (17:43 +0100)]
cinepak: fix handling of intra slices in inter frames

2 years agoadd Truemotion RT encoder
Kostya Shishkov [Thu, 24 Nov 2022 17:09:15 +0000 (18:09 +0100)]
add Truemotion RT encoder

2 years agoavi: rename str to stream for clarity
Kostya Shishkov [Thu, 24 Nov 2022 17:08:15 +0000 (18:08 +0100)]
avi: rename str to stream for clarity

2 years agoavi: fix wrong variable in seek code
Kostya Shishkov [Tue, 22 Nov 2022 16:50:46 +0000 (17:50 +0100)]
avi: fix wrong variable in seek code

2 years agoclearvideo: align dimensions to 32 for RealVideo variant
Kostya Shishkov [Tue, 22 Nov 2022 16:49:56 +0000 (17:49 +0100)]
clearvideo: align dimensions to 32 for RealVideo variant

2 years agoarxel-vid: support 2-pixel tiles
Kostya Shishkov [Sat, 12 Nov 2022 16:24:15 +0000 (17:24 +0100)]
arxel-vid: support 2-pixel tiles

2 years agoarxel-vid: fix motion vector value
Kostya Shishkov [Sat, 12 Nov 2022 16:18:40 +0000 (17:18 +0100)]
arxel-vid: fix motion vector value

2 years agoadd Arxel Tribe video support
Kostya Shishkov [Sat, 12 Nov 2022 11:44:39 +0000 (12:44 +0100)]
add Arxel Tribe video support

2 years agorv6: handle DQP properly
Kostya Shishkov [Tue, 8 Nov 2022 17:08:44 +0000 (18:08 +0100)]
rv6: handle DQP properly

As found out by Peter Ross, they precede each CU instead of once per row.

2 years agorv6: change loop filter to a version used in newer binary specifications
Kostya Shishkov [Tue, 8 Nov 2022 17:07:34 +0000 (18:07 +0100)]
rv6: change loop filter to a version used in newer binary specifications

Suggested by Peter Ross

2 years agosiff: fix SON duration
Kostya Shishkov [Sat, 5 Nov 2022 10:09:16 +0000 (11:09 +0100)]
siff: fix SON duration

2 years agocore/soundcvt: support conversion from packed audio
Kostya Shishkov [Sat, 5 Nov 2022 10:04:37 +0000 (11:04 +0100)]
core/soundcvt: support conversion from packed audio

2 years agocore/frame: set correct duration for newly constructed audio buffer
Kostya Shishkov [Sat, 5 Nov 2022 10:03:31 +0000 (11:03 +0100)]
core/frame: set correct duration for newly constructed audio buffer

2 years agocore/io: drop useless duplicated statement in test
Kostya Shishkov [Sat, 5 Nov 2022 09:32:23 +0000 (10:32 +0100)]
core/io: drop useless duplicated statement in test

2 years agogive 'str' variables more appropriate names
Kostya Shishkov [Fri, 4 Nov 2022 17:44:01 +0000 (18:44 +0100)]
give 'str' variables more appropriate names

2 years agoswitch demuxers to use NAStream::make_ts()
Kostya Shishkov [Fri, 4 Nov 2022 17:25:56 +0000 (18:25 +0100)]
switch demuxers to use NAStream::make_ts()

2 years agocore: introduce NAStream::make_ts()
Kostya Shishkov [Fri, 4 Nov 2022 17:25:46 +0000 (18:25 +0100)]
core: introduce NAStream::make_ts()

2 years agorv6: fix wrong filtering mode for intra prediction
Kostya Shishkov [Thu, 3 Nov 2022 17:27:58 +0000 (18:27 +0100)]
rv6: fix wrong filtering mode for intra prediction

Reported by Peter Ross

2 years agorv6: rework deblocking as suggested by Peter Ross
Kostya Shishkov [Thu, 3 Nov 2022 17:27:58 +0000 (18:27 +0100)]
rv6: rework deblocking as suggested by Peter Ross

2 years agorv6: fix typo in transform
Kostya Shishkov [Thu, 3 Nov 2022 17:27:58 +0000 (18:27 +0100)]
rv6: fix typo in transform

Spotted by Peter Ross

2 years agorv6: fix some typos in loop filtering
Kostya Shishkov [Thu, 3 Nov 2022 17:27:58 +0000 (18:27 +0100)]
rv6: fix some typos in loop filtering

Reported by Peter Ross

2 years agorv6: fix special case for chroma motion compensation
Kostya Shishkov [Thu, 3 Nov 2022 17:27:58 +0000 (18:27 +0100)]
rv6: fix special case for chroma motion compensation

Reported by Peter Ross

2 years agorv6: edge emulation should align to 16x16 luma blocks
Kostya Shishkov [Thu, 3 Nov 2022 17:27:58 +0000 (18:27 +0100)]
rv6: edge emulation should align to 16x16 luma blocks

Reported by Peter Ross

2 years agoBeam Software SIFF format support
Kostya Shishkov [Sat, 29 Oct 2022 09:17:29 +0000 (11:17 +0200)]
Beam Software SIFF format support

2 years agoremove stray whitespaces
Kostya Shishkov [Sat, 29 Oct 2022 09:17:02 +0000 (11:17 +0200)]
remove stray whitespaces

2 years agormdec: RMVB version 2 has 64-bit offsets
Kostya Shishkov [Tue, 25 Oct 2022 16:53:36 +0000 (18:53 +0200)]
rmdec: RMVB version 2 has 64-bit offsets

Reported by Peter Ross

2 years agorv6: in some places dimensions should be rounded up to 16
Kostya Shishkov [Tue, 25 Oct 2022 16:38:34 +0000 (18:38 +0200)]
rv6: in some places dimensions should be rounded up to 16

Reported by Peter Ross

2 years agorv6: fix typo in chroma filtering loop
Kostya Shishkov [Tue, 25 Oct 2022 16:31:19 +0000 (18:31 +0200)]
rv6: fix typo in chroma filtering loop

Spotted by Peter Ross

2 years agoavi: skip chunks from unknown streams
Kostya Shishkov [Fri, 21 Oct 2022 15:47:02 +0000 (17:47 +0200)]
avi: skip chunks from unknown streams