]>
git.nihav.org Git - nihav.git/log
Kostya Shishkov [Mon, 20 Apr 2026 18:04:38 +0000 (20:04 +0200)]
cinepak: skip unknown empty strip that happens in very old files
Kostya Shishkov [Mon, 20 Apr 2026 04:20:58 +0000 (06:20 +0200)]
qt-cdvideo: fix and improve single-vector block reconstruction
Kostya Shishkov [Sun, 19 Apr 2026 17:00:34 +0000 (19:00 +0200)]
QT CD Video codec
Kostya Shishkov [Sun, 19 Apr 2026 16:59:26 +0000 (18:59 +0200)]
mov: allow files with 'APPL' creator in MacBinary demuxer
Kostya Shishkov [Sat, 18 Apr 2026 09:45:12 +0000 (11:45 +0200)]
avi: improve non-interleaved case detection and handling
Kostya Shishkov [Tue, 14 Apr 2026 19:10:47 +0000 (21:10 +0200)]
mov: when inventing keyframes intra-only mode should take priority
Kostya Shishkov [Tue, 14 Apr 2026 18:39:09 +0000 (20:39 +0200)]
nihav_core/scale: fix copying of single-plane images
Kostya Shishkov [Thu, 9 Apr 2026 16:41:57 +0000 (18:41 +0200)]
Ultimotion encoder
Kostya Shishkov [Thu, 9 Apr 2026 16:03:55 +0000 (18:03 +0200)]
ultimotion: split out data arrays for the upcoming encoder
Kostya Shishkov [Wed, 8 Apr 2026 17:22:38 +0000 (19:22 +0200)]
mov: do not use one-to-one demuxing mode with non-empty sample map
Kostya Shishkov [Mon, 6 Apr 2026 16:15:33 +0000 (18:15 +0200)]
mov: hopefully improve seeking
Since PTS in seek index are actually sample IDs and e.g. for remuxed
tidemo1-24bit-rle.mov seek search returns audio first, it makes sense
to search in the stream-specific index first before rescaling seek
result PTS.
Kostya Shishkov [Mon, 6 Apr 2026 15:05:37 +0000 (17:05 +0200)]
mov: keyframes are always sample numbers, not chunk numbers
Also update movmuxer checksum changed because of input keyframes.
Kostya Shishkov [Mon, 6 Apr 2026 14:53:47 +0000 (16:53 +0200)]
movmuxer: rename sample to chunk where the latter was meant to be
Kostya Shishkov [Mon, 6 Apr 2026 13:59:16 +0000 (15:59 +0200)]
movmuxer: write more compact stsc atom representation
Kostya Shishkov [Sat, 4 Apr 2026 17:01:26 +0000 (19:01 +0200)]
mov: add another mode for inventing keyframes
This time treat multi-sample chunks as the ones with keyframe first
and inter frames next.
Kostya Shishkov [Sat, 4 Apr 2026 12:16:14 +0000 (14:16 +0200)]
QT YUV2 and YUV4 encoders
Kostya Shishkov [Fri, 3 Apr 2026 16:42:54 +0000 (18:42 +0200)]
use test_file_demux() function in the demuxer tests
Kostya Shishkov [Fri, 3 Apr 2026 15:48:48 +0000 (17:48 +0200)]
nihav_codec_support/dmx_test: add a function for simple demuxer testing
Kostya Shishkov [Thu, 2 Apr 2026 19:20:24 +0000 (21:20 +0200)]
mov: make packet demuxing modes explicit
Kostya Shishkov [Thu, 2 Apr 2026 17:56:06 +0000 (19:56 +0200)]
dmx test fixup
Kostya Shishkov [Thu, 2 Apr 2026 17:31:49 +0000 (19:31 +0200)]
mov: improve and extend tests
Test data is based on pre-refactored version.
Kostya Shishkov [Thu, 2 Apr 2026 17:31:16 +0000 (19:31 +0200)]
nihav_codec_support: add demuxer testing functionality
Kostya Shishkov [Thu, 2 Apr 2026 16:18:03 +0000 (18:18 +0200)]
mov: split code into smaller components
Kostya Shishkov [Thu, 2 Apr 2026 15:38:54 +0000 (17:38 +0200)]
nihav_core/frame: add default for StreamType
Kostya Shishkov [Thu, 2 Apr 2026 04:57:51 +0000 (06:57 +0200)]
mpeg4asp: set frame reference timestamp when appropriate
This fixes the situation with the decoder keeping updating old timestamps
after the seek instead of taking new time point into account.
Kostya Shishkov [Wed, 1 Apr 2026 20:01:37 +0000 (22:01 +0200)]
fix some clippy warnings
Kostya Shishkov [Wed, 1 Apr 2026 19:36:33 +0000 (21:36 +0200)]
move default QT palettes to nihav_codec_support
Kostya Shishkov [Wed, 1 Apr 2026 16:52:55 +0000 (18:52 +0200)]
movmuxer: (hopefully) improve CBR audio track writing
Kostya Shishkov [Wed, 1 Apr 2026 16:49:39 +0000 (18:49 +0200)]
movmuxer: add more video codec descriptions
Kostya Shishkov [Wed, 1 Apr 2026 16:05:26 +0000 (18:05 +0200)]
nihav_registry: add another FOURCC for Truemotion 1
Kostya Shishkov [Wed, 1 Apr 2026 16:03:32 +0000 (18:03 +0200)]
nihav_registry: re-arrange MOV video codecs to have more common tag first
Kostya Shishkov [Wed, 1 Apr 2026 16:02:32 +0000 (18:02 +0200)]
nihav_registry: add Truemotion 1 to native MOV codecs list
Kostya Shishkov [Tue, 31 Mar 2026 18:57:51 +0000 (20:57 +0200)]
movmuxer: mark it as supporting global palette only
Kostya Shishkov [Tue, 31 Mar 2026 18:56:50 +0000 (20:56 +0200)]
nihav-core/muxers: introduce quirk for muxers that support global palette only
Kostya Shishkov [Tue, 31 Mar 2026 16:04:41 +0000 (18:04 +0200)]
mov: support reading co64 atom
Kostya Shishkov [Tue, 31 Mar 2026 16:04:00 +0000 (18:04 +0200)]
rawvideoenc: check that the input data is in the same format as on init
Kostya Shishkov [Tue, 31 Mar 2026 15:57:47 +0000 (17:57 +0200)]
indeo3enc: fix condition for using single delta codebook
Kostya Shishkov [Tue, 31 Mar 2026 15:49:03 +0000 (17:49 +0200)]
movmuxer: fix reported video track duration
Kostya Shishkov [Tue, 31 Mar 2026 15:48:03 +0000 (17:48 +0200)]
movmuxer: fix writing co64 atom
Kostya Shishkov [Sun, 29 Mar 2026 16:59:19 +0000 (18:59 +0200)]
rawvideoenc: support some RGB formats in addition to YUV420
Kostya Shishkov [Sun, 29 Mar 2026 16:54:43 +0000 (18:54 +0200)]
nihav_core/formats: improve formaton conversion to/from string
That includes fixing bugs in both parsing and formatting with
to_short_string() as well as adding more extensive tests.
Kostya Shishkov [Sun, 29 Mar 2026 14:54:00 +0000 (16:54 +0200)]
euclid: add test cases for raw and RLE mode
Kostya Shishkov [Sun, 29 Mar 2026 14:18:02 +0000 (16:18 +0200)]
nihav_core/scale: fix copying packed frames
Kostya Shishkov [Sat, 28 Mar 2026 17:26:56 +0000 (18:26 +0100)]
(very very imperfect) MOV muxer
Kostya Shishkov [Sat, 28 Mar 2026 15:55:29 +0000 (16:55 +0100)]
mov: mark keyframe packets
Kostya Shishkov [Sat, 28 Mar 2026 14:51:51 +0000 (15:51 +0100)]
indeo3enc: forcefully split too large intra cells
The codec cannot handle non-skip cells over certain limit.
Kostya Shishkov [Sat, 28 Mar 2026 13:19:16 +0000 (14:19 +0100)]
mov: fix typo in MS IMA ADPCM tag
Kostya Shishkov [Sat, 28 Mar 2026 09:51:53 +0000 (10:51 +0100)]
euclid: support more output modes
Kostya Shishkov [Sat, 28 Mar 2026 09:33:48 +0000 (10:33 +0100)]
euclid: use default palette for 16-colour modes
Kostya Shishkov [Sat, 28 Mar 2026 09:33:09 +0000 (10:33 +0100)]
euclid: add support for RLE and raw modes
Kostya Shishkov [Wed, 25 Mar 2026 17:44:52 +0000 (18:44 +0100)]
nihav_registry: add functions for MOV fourcc look-up
Kostya Shishkov [Tue, 24 Mar 2026 17:00:06 +0000 (18:00 +0100)]
mpeg4asp: error out on GMC frames
Otherwise it would simply hit unimplemented!() later.
Kostya Shishkov [Tue, 24 Mar 2026 16:54:47 +0000 (17:54 +0100)]
mpeg4asp: do not support qpel mode
Quarterpel interpolation is too annoying, but having a quick and dirty
approximation should work equally bad.
Kostya Shishkov [Tue, 24 Mar 2026 16:49:59 +0000 (17:49 +0100)]
aac: reset SBR on flush
This should prevent unpleasant artefacts on seeking.
Kostya Shishkov [Mon, 23 Mar 2026 17:12:47 +0000 (18:12 +0100)]
mpeg4asp: update test checksums after fixes
Kostya Shishkov [Mon, 23 Mar 2026 17:12:09 +0000 (18:12 +0100)]
mpeg4asp: fix B-frame chroma MC
Kostya Shishkov [Mon, 23 Mar 2026 16:53:00 +0000 (17:53 +0100)]
mpeg4asp: fix codec version parsing
Kostya Shishkov [Sat, 21 Mar 2026 17:13:28 +0000 (18:13 +0100)]
mpeg4asp: recognise and work around some bugs
Kostya Shishkov [Sat, 21 Mar 2026 14:17:43 +0000 (15:17 +0100)]
mpeg4asp: quantiser-related fixes
Kostya Shishkov [Fri, 20 Mar 2026 17:54:09 +0000 (18:54 +0100)]
codec_support/msstructs: check WAVEFORMATEX.cbSize for validity
Kostya Shishkov [Wed, 18 Mar 2026 18:02:52 +0000 (19:02 +0100)]
avi: factor out chunk header size subtracting from movi_size
Kostya Shishkov [Thu, 12 Mar 2026 06:29:09 +0000 (07:29 +0100)]
warhol: remove useless mut
Kostya Shishkov [Wed, 11 Mar 2026 17:18:08 +0000 (18:18 +0100)]
add support for alpha version of QuickTime (codename Warhol)
Kostya Shishkov [Tue, 10 Mar 2026 18:20:13 +0000 (19:20 +0100)]
mov: remove useless cast
Kostya Shishkov [Tue, 10 Mar 2026 18:19:52 +0000 (19:19 +0100)]
gif: support interlaced decoding
Kostya Shishkov [Mon, 9 Mar 2026 17:50:17 +0000 (18:50 +0100)]
rpza: check that declared size does not exceed real size
Old versions of the codec used only part of fixed-size frames.
Kostya Shishkov [Mon, 9 Mar 2026 17:45:40 +0000 (18:45 +0100)]
mov: support (single known sample of) QuickTime beta version
Kostya Shishkov [Sat, 7 Mar 2026 19:44:35 +0000 (20:44 +0100)]
nihav_core/scale: add a stage for high- to 8-bit image conversion
Kostya Shishkov [Sat, 7 Mar 2026 19:44:03 +0000 (20:44 +0100)]
nihav_core/scale: support high-bitdepth YUV to/from RGB conversion
Kostya Shishkov [Sat, 7 Mar 2026 14:57:09 +0000 (15:57 +0100)]
h264: implement 10-bit decoder
It can easily support other bitdepths but currently there's no need for that.
Kostya Shishkov [Sat, 7 Mar 2026 14:12:32 +0000 (15:12 +0100)]
h264: implement decoder wrappers
Kostya Shishkov [Sat, 7 Mar 2026 13:20:31 +0000 (14:20 +0100)]
h264: make SliceState more shareable
Kostya Shishkov [Sat, 7 Mar 2026 13:06:36 +0000 (14:06 +0100)]
h264: split decoder into common and 8-bit specific decoding parts
This is a preparation for future high-bitdepth support.
Kostya Shishkov [Sat, 7 Mar 2026 05:20:41 +0000 (06:20 +0100)]
nihav_codec_support/imgwrite: add support for high-bitdepth PGMYUV
Kostya Shishkov [Sat, 7 Mar 2026 05:12:53 +0000 (06:12 +0100)]
nihav_codec_support/imgwrite: switch to byteio and custom errors
This is done in preparation for high-bitdepth image writing.
Kostya Shishkov [Sat, 7 Mar 2026 05:07:12 +0000 (06:07 +0100)]
nihav_codec_support: remove unneeded feature selection guard
Kostya Shishkov [Sat, 7 Mar 2026 05:06:44 +0000 (06:06 +0100)]
nihav_codec_support/imaadpcm: fix doxygen comments
Kostya Shishkov [Fri, 6 Mar 2026 16:38:20 +0000 (17:38 +0100)]
avimux: palette should not be a part of bitmap header
Kostya Shishkov [Fri, 6 Mar 2026 16:34:31 +0000 (17:34 +0100)]
avi: take palette from bitmapinfo extradata if it happens to be there
Kostya Shishkov [Thu, 5 Mar 2026 17:23:10 +0000 (18:23 +0100)]
h264: fix adaptive marking with log2_max_frame_num=16
Kostya Shishkov [Thu, 5 Mar 2026 17:07:24 +0000 (18:07 +0100)]
h264: increase margin in wait_for_mb for the luma interpolation filter
Kostya Shishkov [Thu, 5 Mar 2026 16:58:28 +0000 (17:58 +0100)]
h264: fix the typo that made multi-threaded decoding test fail too often
Kostya Shishkov [Wed, 4 Mar 2026 17:18:20 +0000 (18:18 +0100)]
Adorage decoder
Kostya Shishkov [Mon, 2 Mar 2026 18:25:02 +0000 (19:25 +0100)]
nihav_core/formats: allow proper spelling of "grey" in formaton name
Kostya Shishkov [Mon, 2 Mar 2026 17:23:03 +0000 (18:23 +0100)]
prune duplicate definitions of RGB555_FORMAT
Also rename to/from BGR555_FORMAT where appropriate.
Kostya Shishkov [Mon, 2 Mar 2026 17:09:40 +0000 (18:09 +0100)]
nihav_core/formats: introduce a function to make RGB5[56]5 formats
And throw in RGB555_FORMAT as it seems to be used a lot.
Kostya Shishkov [Mon, 2 Mar 2026 17:08:34 +0000 (18:08 +0100)]
moviepak: obtain YUV422 formaton from string instead of hardcoding it
Kostya Shishkov [Mon, 2 Mar 2026 17:07:45 +0000 (18:07 +0100)]
pgvv: obtain YUV422 formaton by parsing string instead of hardcoding it
Kostya Shishkov [Mon, 2 Mar 2026 17:06:42 +0000 (18:06 +0100)]
avi: remove useless cast
Kostya Shishkov [Mon, 2 Mar 2026 17:04:43 +0000 (18:04 +0100)]
moviepak: switch to nihav_codec_support module for JPEG decoding
This also improves decoding.
Kostya Shishkov [Mon, 2 Mar 2026 17:04:07 +0000 (18:04 +0100)]
pgvv: switch to nihav_codec_support module for JPEG decoding
This fixes some decoding issues as well.
Kostya Shishkov [Mon, 2 Mar 2026 17:03:06 +0000 (18:03 +0100)]
jpeg: use nihav_codec_support module for JPEG decoding
Kostya Shishkov [Mon, 2 Mar 2026 16:59:18 +0000 (17:59 +0100)]
nihav_codec_support: introduce module for common JPEG decoding functionality
Kostya Shishkov [Sun, 1 Mar 2026 17:10:24 +0000 (18:10 +0100)]
nihav_registry: move PGVV entry to MOV codecs as it is a QuickTime codec
Kostya Shishkov [Sun, 1 Mar 2026 17:04:52 +0000 (18:04 +0100)]
MoviePak decoder
Kostya Shishkov [Sat, 28 Feb 2026 09:34:15 +0000 (10:34 +0100)]
h264: fix test_h264_mt_real2 test
The frame checksums are the same, but the order is different because
of B-frames and mandatory multi-threaded (re)ordering.
Kostya Shishkov [Sat, 28 Feb 2026 12:57:33 +0000 (13:57 +0100)]
nihav_core/reorder: simplify and hopefully fix MTFrameReorderer
Kostya Shishkov [Sat, 28 Feb 2026 09:18:39 +0000 (10:18 +0100)]
h264: single- and multi-threaded tests should give the same results
Kostya Shishkov [Fri, 27 Feb 2026 20:23:52 +0000 (21:23 +0100)]
h264: make sure that mv_cache is aligned
Kostya Shishkov [Fri, 27 Feb 2026 17:53:23 +0000 (18:53 +0100)]
h264: silence unused assigment warning