nihav.git
14 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

14 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

14 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

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

14 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

14 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

14 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

14 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

14 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

14 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.

14 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

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

14 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.

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

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

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

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

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

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

14 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

14 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

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

14 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

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

14 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

16 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()

16 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

16 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

16 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

16 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

16 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18 months agolegend-q: support version 6
Kostya Shishkov [Mon, 17 Oct 2022 16:07:50 +0000 (18:07 +0200)]
legend-q: support version 6

18 months agoadd Highlander FMV support
Kostya Shishkov [Sat, 15 Oct 2022 08:39:24 +0000 (10:39 +0200)]
add Highlander FMV support

18 months agoavi: accept not fully used ODML index chunks
Kostya Shishkov [Fri, 14 Oct 2022 16:23:20 +0000 (18:23 +0200)]
avi: accept not fully used ODML index chunks

18 months agoavi: ignore ODML 'ix' chunks at the beginning of 'movi' list
Kostya Shishkov [Fri, 14 Oct 2022 16:22:13 +0000 (18:22 +0200)]
avi: ignore ODML 'ix' chunks at the beginning of 'movi' list

18 months agoindeo5: add source mention for a new test
Kostya Shishkov [Thu, 13 Oct 2022 16:31:44 +0000 (18:31 +0200)]
indeo5: add source mention for a new test

18 months agoindeo5: implement scalable streams support
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
indeo5: implement scalable streams support

18 months agocore/io: allow skipping right to the bitstream end
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
core/io: allow skipping right to the bitstream end

18 months agoindeo5: fix off-by-one error in recombine_plane()
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
indeo5: fix off-by-one error in recombine_plane()

18 months agoindeo5: fix band size check
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
indeo5: fix band size check

18 months agoprepare for implementing scalable Indeo 5
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
prepare for implementing scalable Indeo 5

18 months agoadd Indeo IVF demuxer
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
add Indeo IVF demuxer

18 months agorename Duck IVF format for clarity
Kostya Shishkov [Thu, 13 Oct 2022 16:21:33 +0000 (18:21 +0200)]
rename Duck IVF format for clarity

18 months agoavi: ignore index entries not belonging to any stream
Kostya Shishkov [Fri, 7 Oct 2022 16:44:47 +0000 (18:44 +0200)]
avi: ignore index entries not belonging to any stream

18 months agoindeo: reorder frames for Indeo4
Kostya Shishkov [Fri, 7 Oct 2022 16:38:52 +0000 (18:38 +0200)]
indeo: reorder frames for Indeo4

18 months agoindeo: fix tile end calculation
Kostya Shishkov [Fri, 7 Oct 2022 16:09:08 +0000 (18:09 +0200)]
indeo: fix tile end calculation

18 months agoindeo: do not align bitstream on empty tiles
Kostya Shishkov [Thu, 6 Oct 2022 16:17:51 +0000 (18:17 +0200)]
indeo: do not align bitstream on empty tiles

18 months agoindeo4: fix picture header parsing
Kostya Shishkov [Thu, 6 Oct 2022 16:10:10 +0000 (18:10 +0200)]
indeo4: fix picture header parsing

18 months agoindeo: fix selecting reference tile
Kostya Shishkov [Thu, 6 Oct 2022 16:08:39 +0000 (18:08 +0200)]
indeo: fix selecting reference tile

19 months agofix some clippy warnings
Kostya Shishkov [Thu, 22 Sep 2022 15:53:58 +0000 (17:53 +0200)]
fix some clippy warnings

19 months agotypo
Kostya Shishkov [Thu, 22 Sep 2022 15:53:42 +0000 (17:53 +0200)]
typo

19 months agocore/io: fix example in intcode
Kostya Shishkov [Thu, 22 Sep 2022 15:53:28 +0000 (17:53 +0200)]
core/io: fix example in intcode

19 months agoh264: add SIMD optimisations for x86_64 (not enabled by default)
Kostya Shishkov [Mon, 5 Sep 2022 16:20:48 +0000 (18:20 +0200)]
h264: add SIMD optimisations for x86_64 (not enabled by default)

19 months agoh264: some micro-optimisations
Kostya Shishkov [Mon, 5 Sep 2022 16:16:41 +0000 (18:16 +0200)]
h264: some micro-optimisations

19 months agoh264/dsp: split avg() function by size
Kostya Shishkov [Thu, 1 Sep 2022 16:00:04 +0000 (18:00 +0200)]
h264/dsp: split avg() function by size

19 months agoh264: cache frame width/height
Kostya Shishkov [Wed, 31 Aug 2022 16:56:32 +0000 (18:56 +0200)]
h264: cache frame width/height

19 months agoh264/dsp: split chroma_interp() by width
Kostya Shishkov [Wed, 31 Aug 2022 14:14:47 +0000 (16:14 +0200)]
h264/dsp: split chroma_interp() by width

19 months agoh264/mc: add a stub for using optimised implementations
Kostya Shishkov [Sat, 27 Aug 2022 09:39:07 +0000 (11:39 +0200)]
h264/mc: add a stub for using optimised implementations

19 months agoh264: fix tests after accidental gray_block() fix
Kostya Shishkov [Sat, 27 Aug 2022 09:20:31 +0000 (11:20 +0200)]
h264: fix tests after accidental gray_block() fix

19 months agoh264: split put_block_weighted() by size
Kostya Shishkov [Sat, 27 Aug 2022 08:46:18 +0000 (10:46 +0200)]
h264: split put_block_weighted() by size

19 months agoh264: make a separate structure for motion compensation DSP
Kostya Shishkov [Fri, 26 Aug 2022 16:15:50 +0000 (18:15 +0200)]
h264: make a separate structure for motion compensation DSP

19 months agovp8: use safer initialisation of partition BoolCoders
Kostya Shishkov [Thu, 28 Jul 2022 16:42:50 +0000 (18:42 +0200)]
vp8: use safer initialisation of partition BoolCoders

19 months agosilence warnings in a newer rustc
Kostya Shishkov [Thu, 28 Jul 2022 16:39:05 +0000 (18:39 +0200)]
silence warnings in a newer rustc

20 months agoh264: update test hashes after the changes
Kostya Shishkov [Wed, 27 Jul 2022 08:31:58 +0000 (10:31 +0200)]
h264: update test hashes after the changes

20 months agoh264: fix direct 8x8 inference mode
Kostya Shishkov [Wed, 27 Jul 2022 08:29:36 +0000 (10:29 +0200)]
h264: fix direct 8x8 inference mode

20 months agoh264: reword MB reconstruction and add weighted MC
Kostya Shishkov [Wed, 27 Jul 2022 08:27:16 +0000 (10:27 +0200)]
h264: reword MB reconstruction and add weighted MC

20 months agoh264: fix sliding window frame reference dropping
Kostya Shishkov [Wed, 27 Jul 2022 08:17:18 +0000 (10:17 +0200)]
h264: fix sliding window frame reference dropping

20 months agoh264: rework MB reconstruction and fix loop filtering
Kostya Shishkov [Wed, 27 Jul 2022 08:14:49 +0000 (10:14 +0200)]
h264: rework MB reconstruction and fix loop filtering

20 months agoh264: drop unneeded mut
Kostya Shishkov [Sat, 16 Jul 2022 07:54:46 +0000 (09:54 +0200)]
h264: drop unneeded mut

20 months agoh264: fix some tables and indices in dsp
Kostya Shishkov [Wed, 13 Jul 2022 16:13:35 +0000 (18:13 +0200)]
h264: fix some tables and indices in dsp