nihav.git
3 years agorename register_all_codecs to register_all_decoders
Kostya Shishkov [Thu, 9 Jul 2020 16:57:29 +0000 (18:57 +0200)]
rename register_all_codecs to register_all_decoders

3 years agocore: implement Default for NATimePoint
Kostya Shishkov [Thu, 9 Jul 2020 08:48:44 +0000 (10:48 +0200)]
core: implement Default for NATimePoint

3 years agouse NATimePoint for seeking
Kostya Shishkov [Thu, 9 Jul 2020 08:42:42 +0000 (10:42 +0200)]
use NATimePoint for seeking

3 years agocore/frame: fix NATimePoint parsing from string
Kostya Shishkov [Thu, 9 Jul 2020 08:42:01 +0000 (10:42 +0200)]
core/frame: fix NATimePoint parsing from string

3 years agocore/frame: add None to NATimePoint and comparison functions to NATimeInfo
Kostya Shishkov [Thu, 9 Jul 2020 08:17:06 +0000 (10:17 +0200)]
core/frame: add None to NATimePoint and comparison functions to NATimeInfo

3 years agocore: add NATimePoint for time-related actions
Kostya Shishkov [Thu, 9 Jul 2020 07:36:02 +0000 (09:36 +0200)]
core: add NATimePoint for time-related actions

3 years agoRevert "core/formats: implement ToString instead of Display for NAChannelType"
Kostya Shishkov [Wed, 8 Jul 2020 16:51:29 +0000 (18:51 +0200)]
Revert "core/formats: implement ToString instead of Display for NAChannelType"

This reverts commit 81b94329a275bb92066404bd3bb2822c5bb3f424.

I forgot that implemented Display means automatic ToString() and not vice versa.

3 years agonihav_core/scale: fix ELBG palettisation in the same way as the generic version
Kostya Shishkov [Wed, 8 Jul 2020 15:26:54 +0000 (17:26 +0200)]
nihav_core/scale: fix ELBG palettisation in the same way as the generic version

3 years agocore/formats: add conversion to/from short string form for NAPixelFormaton
Kostya Shishkov [Tue, 7 Jul 2020 10:50:13 +0000 (12:50 +0200)]
core/formats: add conversion to/from short string form for NAPixelFormaton

3 years agocore/format: use common format parsing error
Kostya Shishkov [Mon, 6 Jul 2020 16:39:07 +0000 (18:39 +0200)]
core/format: use common format parsing error

3 years agocore/formats: implement ToString instead of Display for NAChannelType
Kostya Shishkov [Mon, 6 Jul 2020 16:34:39 +0000 (18:34 +0200)]
core/formats: implement ToString instead of Display for NAChannelType

3 years agocore: add short string formats for sonitons
Kostya Shishkov [Mon, 6 Jul 2020 16:30:28 +0000 (18:30 +0200)]
core: add short string formats for sonitons

3 years agodeflate: fix output indexing
Kostya Shishkov [Mon, 6 Jul 2020 16:00:14 +0000 (18:00 +0200)]
deflate: fix output indexing

3 years agoqtrle: use proper file for 24-bit test
Kostya Shishkov [Mon, 6 Jul 2020 12:23:35 +0000 (14:23 +0200)]
qtrle: use proper file for 24-bit test

3 years agomov: if audio extradata does not start with wave pass it in full
Kostya Shishkov [Mon, 6 Jul 2020 12:16:04 +0000 (14:16 +0200)]
mov: if audio extradata does not start with wave pass it in full

3 years agomov: take audio frame size/length into account while demuxing
Kostya Shishkov [Mon, 6 Jul 2020 12:15:38 +0000 (14:15 +0200)]
mov: take audio frame size/length into account while demuxing

3 years agoqtrle: fix 32-bit test
Kostya Shishkov [Mon, 6 Jul 2020 11:48:01 +0000 (13:48 +0200)]
qtrle: fix 32-bit test

3 years agoadd nihav_qt crate with some QuickTime codecs
Kostya Shishkov [Sat, 4 Jul 2020 16:30:01 +0000 (18:30 +0200)]
add nihav_qt crate with some QuickTime codecs

3 years agomov: fix video extradata reading
Kostya Shishkov [Fri, 3 Jul 2020 15:30:27 +0000 (17:30 +0200)]
mov: fix video extradata reading

3 years agomove QMF implementation into nihav_codec_support
Kostya Shishkov [Tue, 30 Jun 2020 08:46:02 +0000 (10:46 +0200)]
move QMF implementation into nihav_codec_support

3 years agonihav_core/deflate: fix handling large buffers
Kostya Shishkov [Sat, 27 Jun 2020 12:26:31 +0000 (14:26 +0200)]
nihav_core/deflate: fix handling large buffers

3 years agomov: better support for CBR audio
Kostya Shishkov [Fri, 26 Jun 2020 13:49:20 +0000 (15:49 +0200)]
mov: better support for CBR audio

3 years agomov: use block size for audio frames if it's available
Kostya Shishkov [Thu, 25 Jun 2020 13:44:24 +0000 (15:44 +0200)]
mov: use block size for audio frames if it's available

3 years agomov: parse and add audio extradata
Kostya Shishkov [Thu, 25 Jun 2020 13:01:12 +0000 (15:01 +0200)]
mov: parse and add audio extradata

3 years agomov: do not skip deflate stream header, inflate can do it automatically now
Kostya Shishkov [Thu, 25 Jun 2020 09:37:14 +0000 (11:37 +0200)]
mov: do not skip deflate stream header, inflate can do it automatically now

3 years agonihav_core/deflate: recognize deflated stream header in uncompress()
Kostya Shishkov [Thu, 25 Jun 2020 09:35:49 +0000 (11:35 +0200)]
nihav_core/deflate: recognize deflated stream header in uncompress()

3 years agomov: support compressed header
Kostya Shishkov [Wed, 24 Jun 2020 17:01:10 +0000 (19:01 +0200)]
mov: support compressed header

3 years agocodec_support/blockdsp: add halfpel interpolation functions
Kostya Shishkov [Tue, 23 Jun 2020 08:58:35 +0000 (10:58 +0200)]
codec_support/blockdsp: add halfpel interpolation functions

3 years agoregistry: mark Sorenson Video 3 as having B-frames
Kostya Shishkov [Tue, 23 Jun 2020 08:58:10 +0000 (10:58 +0200)]
registry: mark Sorenson Video 3 as having B-frames

3 years agoregister more Sorenson Video FOURCCs
Kostya Shishkov [Sun, 21 Jun 2020 16:00:14 +0000 (18:00 +0200)]
register more Sorenson Video FOURCCs

3 years agocore/bitreader: add get_data() for accessing bitreader input directly
Kostya Shishkov [Sun, 21 Jun 2020 15:46:15 +0000 (17:46 +0200)]
core/bitreader: add get_data() for accessing bitreader input directly

3 years agomake HAMShuffler generic
Kostya Shishkov [Tue, 16 Jun 2020 15:36:15 +0000 (17:36 +0200)]
make HAMShuffler generic

3 years agomsvideo1enc: switch to MD5-based test
Kostya Shishkov [Tue, 16 Jun 2020 14:43:08 +0000 (16:43 +0200)]
msvideo1enc: switch to MD5-based test

3 years agomsadpcmenc: switch to MD5-based test
Kostya Shishkov [Tue, 16 Jun 2020 14:42:50 +0000 (16:42 +0200)]
msadpcmenc: switch to MD5-based test

3 years agocodec_support/test: add test_encoding_md5() for testing encoders by output hash
Kostya Shishkov [Tue, 16 Jun 2020 14:41:40 +0000 (16:41 +0200)]
codec_support/test: add test_encoding_md5() for testing encoders by output hash

3 years agoavi: handle audio extradata shorter than chunk size
Kostya Shishkov [Tue, 16 Jun 2020 13:52:06 +0000 (15:52 +0200)]
avi: handle audio extradata shorter than chunk size

3 years agocommonfmt: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 13:06:54 +0000 (15:06 +0200)]
commonfmt: fix or silence clippy warnings

3 years agovivo: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 12:30:02 +0000 (14:30 +0200)]
vivo: fix or silence clippy warnings

3 years agoregistry: silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 12:15:54 +0000 (14:15 +0200)]
registry: silence clippy warnings

3 years agorealmedia: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 12:14:24 +0000 (14:14 +0200)]
realmedia: fix or silence clippy warnings

3 years agorad: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 11:00:32 +0000 (13:00 +0200)]
rad: fix or silence clippy warnings

3 years agoms: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 10:49:20 +0000 (12:49 +0200)]
ms: fix or silence clippy warnings

3 years agoindeo: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 10:40:52 +0000 (12:40 +0200)]
indeo: fix or silence clippy warnings

3 years agogame: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 10:12:22 +0000 (12:12 +0200)]
game: fix or silence clippy warnings

3 years agoduck: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 10:11:32 +0000 (12:11 +0200)]
duck: fix or silence clippy warnings

3 years agocodec_support: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 10:10:57 +0000 (12:10 +0200)]
codec_support: fix or silence clippy warnings

3 years agocore: fix or silence clippy warnings
Kostya Shishkov [Tue, 16 Jun 2020 10:08:29 +0000 (12:08 +0200)]
core: fix or silence clippy warnings

3 years agocinepakenc: switch default quantisation mode to median cut
Kostya Shishkov [Mon, 15 Jun 2020 17:06:27 +0000 (19:06 +0200)]
cinepakenc: switch default quantisation mode to median cut

3 years agocinepakenc: take into account the number of quantised entries
Kostya Shishkov [Mon, 15 Jun 2020 17:03:16 +0000 (19:03 +0200)]
cinepakenc: take into account the number of quantised entries

3 years agocodec_support/vq: make ELBG report the number of meaningful codewords
Kostya Shishkov [Mon, 15 Jun 2020 16:56:59 +0000 (18:56 +0200)]
codec_support/vq: make ELBG report the number of meaningful codewords

3 years agocodec_support/vq: use 1% improvement as a threshold in ELBG loop
Kostya Shishkov [Mon, 15 Jun 2020 16:47:32 +0000 (18:47 +0200)]
codec_support/vq: use 1% improvement as a threshold in ELBG loop

3 years agocodec_support/vq: calculate full cluster distortion instead of an average
Kostya Shishkov [Mon, 15 Jun 2020 16:46:08 +0000 (18:46 +0200)]
codec_support/vq: calculate full cluster distortion instead of an average

3 years agocodec_support/vq: do not move empty group centroid
Kostya Shishkov [Mon, 15 Jun 2020 16:45:11 +0000 (18:45 +0200)]
codec_support/vq: do not move empty group centroid

3 years agoavimux: pad odd frame chunks
Kostya Shishkov [Mon, 15 Jun 2020 12:40:13 +0000 (14:40 +0200)]
avimux: pad odd frame chunks

3 years agomov: do not generate palette for color table ID -1
Kostya Shishkov [Mon, 15 Jun 2020 12:39:32 +0000 (14:39 +0200)]
mov: do not generate palette for color table ID -1

3 years agoavi: fix index parsing
Kostya Shishkov [Mon, 15 Jun 2020 12:38:47 +0000 (14:38 +0200)]
avi: fix index parsing

3 years agocinepakenc: add missing field in NAVideoInfo used in test
Kostya Shishkov [Mon, 15 Jun 2020 12:38:24 +0000 (14:38 +0200)]
cinepakenc: add missing field in NAVideoInfo used in test

3 years agocinepakenc: fix V1-only intra mode
Kostya Shishkov [Mon, 15 Jun 2020 12:37:15 +0000 (14:37 +0200)]
cinepakenc: fix V1-only intra mode

3 years agocinepak: fix inter-frames decoding
Kostya Shishkov [Mon, 15 Jun 2020 12:34:33 +0000 (14:34 +0200)]
cinepak: fix inter-frames decoding

3 years agoadd A-law and mu-law decoders
Kostya Shishkov [Sun, 14 Jun 2020 16:35:09 +0000 (18:35 +0200)]
add A-law and mu-law decoders

3 years agomov: fix bitdepth handling
Kostya Shishkov [Sun, 14 Jun 2020 15:44:00 +0000 (17:44 +0200)]
mov: fix bitdepth handling

3 years agoregistry: add common QuickTime codecs
Kostya Shishkov [Sat, 13 Jun 2020 12:34:41 +0000 (14:34 +0200)]
registry: add common QuickTime codecs

3 years agomov: support default palette and grayscale mode
Kostya Shishkov [Sat, 13 Jun 2020 12:33:55 +0000 (14:33 +0200)]
mov: support default palette and grayscale mode

3 years agocore: add iterator for the lists of registered demuxers and muxers
Kostya Shishkov [Fri, 12 Jun 2020 14:14:15 +0000 (16:14 +0200)]
core: add iterator for the lists of registered demuxers and muxers

3 years agoregistry: add entry for MS RLE
Kostya Shishkov [Fri, 12 Jun 2020 13:55:06 +0000 (15:55 +0200)]
registry: add entry for MS RLE

3 years agorv60: switch to MD5-based test
Kostya Shishkov [Thu, 11 Jun 2020 17:16:52 +0000 (19:16 +0200)]
rv60: switch to MD5-based test

3 years agorv60: fix neighbourhood check
Kostya Shishkov [Thu, 11 Jun 2020 17:02:31 +0000 (19:02 +0200)]
rv60: fix neighbourhood check

3 years agormdemux: support index version 2
Kostya Shishkov [Thu, 11 Jun 2020 10:54:34 +0000 (12:54 +0200)]
rmdemux: support index version 2

3 years agorv6: add frame skipping option
Kostya Shishkov [Thu, 11 Jun 2020 08:11:40 +0000 (10:11 +0200)]
rv6: add frame skipping option

3 years agoadd frame skip option for decoders
Kostya Shishkov [Thu, 11 Jun 2020 08:11:02 +0000 (10:11 +0200)]
add frame skip option for decoders

3 years agoMicrosoft RLE decoder
Kostya Shishkov [Sun, 7 Jun 2020 12:49:13 +0000 (14:49 +0200)]
Microsoft RLE decoder

3 years agoadd declared bitdepth to NAVideoInfo
Kostya Shishkov [Sun, 7 Jun 2020 12:48:03 +0000 (14:48 +0200)]
add declared bitdepth to NAVideoInfo

3 years agomsadpcm: fix test after sample order change
Kostya Shishkov [Sat, 6 Jun 2020 16:43:55 +0000 (18:43 +0200)]
msadpcm: fix test after sample order change

3 years agoPCM encoder
Kostya Shishkov [Sat, 6 Jun 2020 10:46:41 +0000 (12:46 +0200)]
PCM encoder

3 years agoremove trailing whitespaces
Kostya Shishkov [Sat, 6 Jun 2020 10:41:16 +0000 (12:41 +0200)]
remove trailing whitespaces

3 years agocore/frame: add helper functions for dealing with reference-counted buffer
Kostya Shishkov [Sat, 6 Jun 2020 10:39:46 +0000 (12:39 +0200)]
core/frame: add helper functions for dealing with reference-counted buffer

3 years agomsvideo1enc: add keyframe interval option
Kostya Shishkov [Sat, 6 Jun 2020 07:54:30 +0000 (09:54 +0200)]
msvideo1enc: add keyframe interval option

3 years agocinepakenc: replace missed instance of key_int with the constant
Kostya Shishkov [Sat, 6 Jun 2020 07:42:41 +0000 (09:42 +0200)]
cinepakenc: replace missed instance of key_int with the constant

3 years agoadd nihav-encoder to ignores
Kostya Shishkov [Sat, 6 Jun 2020 07:41:58 +0000 (09:41 +0200)]
add nihav-encoder to ignores

3 years agocinepakenc: remove debug print
Kostya Shishkov [Sat, 6 Jun 2020 07:41:38 +0000 (09:41 +0200)]
cinepakenc: remove debug print

3 years agofactor out keyframe interval option
Kostya Shishkov [Sat, 6 Jun 2020 07:40:26 +0000 (09:40 +0200)]
factor out keyframe interval option

3 years agocore: make StreamManager accept NAStreamRef too
Kostya Shishkov [Fri, 5 Jun 2020 16:46:40 +0000 (18:46 +0200)]
core: make StreamManager accept NAStreamRef too

3 years agoset stream number in encoders too
Kostya Shishkov [Fri, 5 Jun 2020 16:42:02 +0000 (18:42 +0200)]
set stream number in encoders too

3 years agocinepakenc: introduce several encoding options
Kostya Shishkov [Fri, 5 Jun 2020 14:00:38 +0000 (16:00 +0200)]
cinepakenc: introduce several encoding options

3 years agocopy encoding parameters from the reference when negotiating the format
Kostya Shishkov [Fri, 5 Jun 2020 13:59:28 +0000 (15:59 +0200)]
copy encoding parameters from the reference when negotiating the format

3 years agocore: implement NAOptionHandler for Muxer
Kostya Shishkov [Fri, 5 Jun 2020 13:57:56 +0000 (15:57 +0200)]
core: implement NAOptionHandler for Muxer

3 years agoregistry: add detect_format_by_name()
Kostya Shishkov [Thu, 4 Jun 2020 16:29:09 +0000 (18:29 +0200)]
registry: add detect_format_by_name()

3 years agocore: redesign options module
Kostya Shishkov [Thu, 4 Jun 2020 09:51:27 +0000 (11:51 +0200)]
core: redesign options module

3 years agoallstuff: add encoders and muxers
Kostya Shishkov [Thu, 4 Jun 2020 09:50:38 +0000 (11:50 +0200)]
allstuff: add encoders and muxers

3 years agoexperimental Cinepak encoder
Kostya Shishkov [Wed, 3 Jun 2020 09:45:07 +0000 (11:45 +0200)]
experimental Cinepak encoder

3 years agocore/codecs: implement AllocatorError -> EncoderError conversion
Kostya Shishkov [Wed, 3 Jun 2020 09:44:18 +0000 (11:44 +0200)]
core/codecs: implement AllocatorError -> EncoderError conversion

3 years agocodec_support/test: document enc_video module
Kostya Shishkov [Mon, 1 Jun 2020 13:02:07 +0000 (15:02 +0200)]
codec_support/test: document enc_video module

3 years agocommonfmt: make AVI and WAV muxers use proper remuxing test
Kostya Shishkov [Mon, 1 Jun 2020 12:33:41 +0000 (14:33 +0200)]
commonfmt: make AVI and WAV muxers use proper remuxing test

3 years agocodec_support/test: add remuxing tests
Kostya Shishkov [Mon, 1 Jun 2020 12:32:51 +0000 (14:32 +0200)]
codec_support/test: add remuxing tests

3 years agointroduce option handling for decoders
Kostya Shishkov [Mon, 1 Jun 2020 09:52:15 +0000 (11:52 +0200)]
introduce option handling for decoders

3 years agointroduce option handling for encoders
Kostya Shishkov [Sun, 31 May 2020 16:19:52 +0000 (18:19 +0200)]
introduce option handling for encoders

3 years agointroduce option handling for demuxers
Kostya Shishkov [Sun, 31 May 2020 16:15:50 +0000 (18:15 +0200)]
introduce option handling for demuxers

3 years agomake muxers handle options
Kostya Shishkov [Sun, 31 May 2020 13:18:42 +0000 (15:18 +0200)]
make muxers handle options

3 years agocore: split options into separate module
Kostya Shishkov [Sun, 31 May 2020 13:14:16 +0000 (15:14 +0200)]
core: split options into separate module

3 years agoMS Video 1 16-bit encoder and MS ADPCM encoder
Kostya Shishkov [Sat, 30 May 2020 14:17:58 +0000 (16:17 +0200)]
MS Video 1 16-bit encoder and MS ADPCM encoder