nihav.git
3 years agomake muxers report their capabilities
Kostya Shishkov [Sat, 30 May 2020 09:51:38 +0000 (11:51 +0200)]
make muxers report their capabilities

3 years agocore/scale: make sure that yuv2rgb kernel outputs to planar RGB
Kostya Shishkov [Fri, 29 May 2020 16:50:25 +0000 (18:50 +0200)]
core/scale: make sure that yuv2rgb kernel outputs to planar RGB

3 years agocore/io: introduce GrowableMemoryWriter
Kostya Shishkov [Fri, 29 May 2020 16:49:26 +0000 (18:49 +0200)]
core/io: introduce GrowableMemoryWriter

3 years agomsvideo1: remove debug leftover
Kostya Shishkov [Thu, 28 May 2020 12:04:57 +0000 (14:04 +0200)]
msvideo1: remove debug leftover

3 years agocore/scale: support grayscale format
Kostya Shishkov [Wed, 27 May 2020 16:22:56 +0000 (18:22 +0200)]
core/scale: support grayscale format

3 years agocore/soundcvt: fix conversion of packed data
Kostya Shishkov [Wed, 27 May 2020 15:24:25 +0000 (17:24 +0200)]
core/soundcvt: fix conversion of packed data

3 years agocore/frame: add a function for assigning packets to other streams
Kostya Shishkov [Wed, 27 May 2020 15:23:08 +0000 (17:23 +0200)]
core/frame: add a function for assigning packets to other streams

3 years agoWAV muxer
Kostya Shishkov [Wed, 27 May 2020 12:02:20 +0000 (14:02 +0200)]
WAV muxer

3 years agocodec_support: factor out PNM writing into separate module
Kostya Shishkov [Tue, 26 May 2020 14:21:05 +0000 (16:21 +0200)]
codec_support: factor out PNM writing into separate module

3 years agoadd WAV demuxer
Kostya Shishkov [Mon, 25 May 2020 14:03:18 +0000 (16:03 +0200)]
add WAV demuxer

3 years agocore/byteio: add read_tag/peek_tag for reading four-byte tags
Kostya Shishkov [Mon, 25 May 2020 13:49:55 +0000 (15:49 +0200)]
core/byteio: add read_tag/peek_tag for reading four-byte tags

3 years agoavimux: remove obsoleted workaround
Kostya Shishkov [Sun, 24 May 2020 13:26:11 +0000 (15:26 +0200)]
avimux: remove obsoleted workaround

3 years agoregistry: twocc 0x0000 is an unknown codec, mark it as such
Kostya Shishkov [Sun, 24 May 2020 13:20:37 +0000 (15:20 +0200)]
registry: twocc 0x0000 is an unknown codec, mark it as such

3 years agoadd a crate for common MS formats
Kostya Shishkov [Sun, 24 May 2020 13:19:43 +0000 (15:19 +0200)]
add a crate for common MS formats

3 years agoavi: do not put extradata size into extradata for audio streams
Kostya Shishkov [Sun, 24 May 2020 13:18:40 +0000 (15:18 +0200)]
avi: do not put extradata size into extradata for audio streams

3 years agoavi: ignore actual bimap header size in relation to stream header size
Kostya Shishkov [Sat, 23 May 2020 17:11:23 +0000 (19:11 +0200)]
avi: ignore actual bimap header size in relation to stream header size

3 years agoavi: do not ignore guessed format
Kostya Shishkov [Sat, 23 May 2020 16:44:54 +0000 (18:44 +0200)]
avi: do not ignore guessed format

3 years agoavi: fix palette order
Kostya Shishkov [Sat, 23 May 2020 16:44:26 +0000 (18:44 +0200)]
avi: fix palette order

3 years agoavi: end demuxing when index is encountered
Kostya Shishkov [Sat, 23 May 2020 15:11:50 +0000 (17:11 +0200)]
avi: end demuxing when index is encountered

3 years agoavi: provide palette as side data and handle palette changes
Kostya Shishkov [Sat, 23 May 2020 15:10:10 +0000 (17:10 +0200)]
avi: provide palette as side data and handle palette changes

3 years agoavi muxer
Kostya Shishkov [Thu, 21 May 2020 09:01:00 +0000 (11:01 +0200)]
avi muxer

3 years agoregistry: allow searching for FOURCC/TWOCC by codec name
Kostya Shishkov [Thu, 21 May 2020 09:00:47 +0000 (11:00 +0200)]
registry: allow searching for FOURCC/TWOCC by codec name

3 years agocore/demuxers: export demuxer stream manager
Kostya Shishkov [Thu, 21 May 2020 08:58:38 +0000 (10:58 +0200)]
core/demuxers: export demuxer stream manager

This may be useful for remuxing.

3 years agocore/formats: add NAPixelFormaton::get_total_depth()
Kostya Shishkov [Thu, 21 May 2020 08:57:22 +0000 (10:57 +0200)]
core/formats: add NAPixelFormaton::get_total_depth()

3 years agocore: introduce muxers module
Kostya Shishkov [Thu, 21 May 2020 08:56:32 +0000 (10:56 +0200)]
core: introduce muxers module

3 years agocinepak: add grayscale and palette output modes
Kostya Shishkov [Wed, 20 May 2020 17:15:19 +0000 (19:15 +0200)]
cinepak: add grayscale and palette output modes

3 years agomov: output track palette as side data
Kostya Shishkov [Wed, 20 May 2020 17:11:16 +0000 (19:11 +0200)]
mov: output track palette as side data

3 years agocore/frame: introduce NASideData
Kostya Shishkov [Wed, 20 May 2020 17:03:18 +0000 (19:03 +0200)]
core/frame: introduce NASideData

3 years agoavi demuxer: mark packets as keyframe if we have index
Kostya Shishkov [Mon, 18 May 2020 10:00:22 +0000 (12:00 +0200)]
avi demuxer: mark packets as keyframe if we have index

3 years agoCinepak decoder
Kostya Shishkov [Sun, 17 May 2020 11:59:43 +0000 (13:59 +0200)]
Cinepak decoder

3 years agomov: ignore some common chunks
Kostya Shishkov [Sun, 17 May 2020 11:57:51 +0000 (13:57 +0200)]
mov: ignore some common chunks

3 years agomov: read palette if present
Kostya Shishkov [Sun, 17 May 2020 11:57:26 +0000 (13:57 +0200)]
mov: read palette if present

3 years agocore/scale: add conversion into paletted format
Kostya Shishkov [Wed, 13 May 2020 12:27:39 +0000 (14:27 +0200)]
core/scale: add conversion into paletted format

3 years agosiren: correct scaling to match reference output
Kostya Shishkov [Tue, 5 May 2020 15:19:23 +0000 (17:19 +0200)]
siren: correct scaling to match reference output

3 years agoadd VivoActive (imperfect) format family support
Kostya Shishkov [Tue, 5 May 2020 14:21:47 +0000 (16:21 +0200)]
add VivoActive (imperfect) format family support

3 years agocodec_support/h263: fix some cases related to Vivo 2.0
Kostya Shishkov [Fri, 1 May 2020 15:06:40 +0000 (17:06 +0200)]
codec_support/h263: fix some cases related to Vivo 2.0

4 years agoclearvdeo: support MOV variant of extradata as well
Kostya Shishkov [Mon, 27 Apr 2020 13:54:03 +0000 (15:54 +0200)]
clearvdeo: support MOV variant of extradata as well

4 years agoadd MOV demuxer
Kostya Shishkov [Mon, 27 Apr 2020 13:52:34 +0000 (15:52 +0200)]
add MOV demuxer

4 years agoregistry: add codec entries for MOV format
Kostya Shishkov [Mon, 27 Apr 2020 09:34:37 +0000 (11:34 +0200)]
registry: add codec entries for MOV format

4 years agoregistry: add detection for MOV format
Kostya Shishkov [Mon, 27 Apr 2020 09:32:55 +0000 (11:32 +0200)]
registry: add detection for MOV format

4 years agocore/io: fix reading escape bits past end in codebook
Kostya Shishkov [Sun, 26 Apr 2020 12:14:31 +0000 (14:14 +0200)]
core/io: fix reading escape bits past end in codebook

4 years agocore: introduce a function to print NABufferType metadata
Kostya Shishkov [Wed, 22 Apr 2020 15:56:00 +0000 (17:56 +0200)]
core: introduce a function to print NABufferType metadata

4 years agovmd: demux L&H StreamTalk audio
Kostya Shishkov [Sun, 19 Apr 2020 08:04:32 +0000 (10:04 +0200)]
vmd: demux L&H StreamTalk audio

4 years agoadd Lernout & Hauspie StreamTalk 25kbps at 22 kHz codec
Kostya Shishkov [Sun, 19 Apr 2020 08:04:04 +0000 (10:04 +0200)]
add Lernout & Hauspie StreamTalk 25kbps at 22 kHz codec

4 years agoadd Lernout & Hauspie StreamTalk codecs to the registry
Kostya Shishkov [Sun, 19 Apr 2020 08:03:32 +0000 (10:03 +0200)]
add Lernout & Hauspie StreamTalk codecs to the registry

4 years agovmd: support demuxing newer version
Kostya Shishkov [Fri, 17 Apr 2020 12:08:12 +0000 (14:08 +0200)]
vmd: support demuxing newer version

4 years agovmd: support stereo IMA ADPCM
Kostya Shishkov [Fri, 17 Apr 2020 12:00:54 +0000 (14:00 +0200)]
vmd: support stereo IMA ADPCM

4 years agovmd: remove leftover unused code
Kostya Shishkov [Fri, 17 Apr 2020 11:57:15 +0000 (13:57 +0200)]
vmd: remove leftover unused code

4 years agovmd: handle IMA ADPCM chunks with odd number of samples correctly
Kostya Shishkov [Fri, 17 Apr 2020 07:12:17 +0000 (09:12 +0200)]
vmd: handle IMA ADPCM chunks with odd number of samples correctly

4 years agovmd: fix typo
Kostya Shishkov [Thu, 16 Apr 2020 10:49:57 +0000 (12:49 +0200)]
vmd: fix typo

4 years agovmd: add tests for 16- and 24-bit video and IMA ADPCM audio
Kostya Shishkov [Thu, 16 Apr 2020 10:48:54 +0000 (12:48 +0200)]
vmd: add tests for 16- and 24-bit video and IMA ADPCM audio

4 years agovmd: support 16- and 24-bit variants
Kostya Shishkov [Thu, 16 Apr 2020 10:41:48 +0000 (12:41 +0200)]
vmd: support 16- and 24-bit variants

4 years agovmd: add IMA ADPCM audio support
Kostya Shishkov [Thu, 16 Apr 2020 07:58:40 +0000 (09:58 +0200)]
vmd: add IMA ADPCM audio support

4 years agomove IMA ADPCM decoder into codec_support
Kostya Shishkov [Thu, 16 Apr 2020 07:52:50 +0000 (09:52 +0200)]
move IMA ADPCM decoder into codec_support

4 years agovmd: fix RLE decoding
Kostya Shishkov [Wed, 15 Apr 2020 13:33:50 +0000 (15:33 +0200)]
vmd: fix RLE decoding

4 years agovmd: raise unpacked buffer size to a factor four
Kostya Shishkov [Wed, 15 Apr 2020 09:51:21 +0000 (11:51 +0200)]
vmd: raise unpacked buffer size to a factor four

4 years agovmd: take global picture offset into account when decoding frames
Kostya Shishkov [Wed, 15 Apr 2020 09:49:55 +0000 (11:49 +0200)]
vmd: take global picture offset into account when decoding frames

4 years agoremove trailing whitespaces
Kostya Shishkov [Wed, 15 Apr 2020 06:51:18 +0000 (08:51 +0200)]
remove trailing whitespaces

4 years agocore: add a new (de)compression module
Kostya Shishkov [Mon, 13 Apr 2020 11:33:34 +0000 (13:33 +0200)]
core: add a new (de)compression module

4 years agocore/io: fix bug in MemoryReader::peek_buf()
Kostya Shishkov [Mon, 13 Apr 2020 09:29:08 +0000 (11:29 +0200)]
core/io: fix bug in MemoryReader::peek_buf()

4 years agocore/io: make Codebook fields and TABLE_FILL_VALUE public
Kostya Shishkov [Mon, 13 Apr 2020 09:27:26 +0000 (11:27 +0200)]
core/io: make Codebook fields and TABLE_FILL_VALUE public

This allows external implementations for CodebookReader trait.

4 years agocore/soundcvt: fix buffer type in test
Kostya Shishkov [Sat, 11 Apr 2020 08:48:46 +0000 (10:48 +0200)]
core/soundcvt: fix buffer type in test

4 years agocore/io: fix typo in codebook doc example
Kostya Shishkov [Sat, 11 Apr 2020 08:48:25 +0000 (10:48 +0200)]
core/io: fix typo in codebook doc example

4 years agovmd: correct u8 conversion
Kostya Shishkov [Sat, 11 Apr 2020 08:21:03 +0000 (10:21 +0200)]
vmd: correct u8 conversion

4 years agocore/io: check for non-unique codes while generating codebook LUT
Kostya Shishkov [Sat, 11 Apr 2020 07:57:33 +0000 (09:57 +0200)]
core/io: check for non-unique codes while generating codebook LUT

4 years agorv10: remove invalid chroma DC code -128
Kostya Shishkov [Fri, 10 Apr 2020 17:41:11 +0000 (19:41 +0200)]
rv10: remove invalid chroma DC code -128

4 years agocore/io: mark FullCodebookDesc and ShortCodebookDesc as Copy
Kostya Shishkov [Fri, 10 Apr 2020 15:53:01 +0000 (17:53 +0200)]
core/io: mark FullCodebookDesc and ShortCodebookDesc as Copy

4 years agointel263: switch to MD5-based test
Kostya Shishkov [Wed, 8 Apr 2020 11:59:33 +0000 (13:59 +0200)]
intel263: switch to MD5-based test

4 years agointel263: use codec-specific DSP functions
Kostya Shishkov [Wed, 8 Apr 2020 11:56:16 +0000 (13:56 +0200)]
intel263: use codec-specific DSP functions

4 years agorv20: update hashes after loopfilter bugfix
Kostya Shishkov [Wed, 8 Apr 2020 11:30:34 +0000 (13:30 +0200)]
rv20: update hashes after loopfilter bugfix

4 years agocodec_support/h263: fix delta calculation in the deblocking filter
Kostya Shishkov [Wed, 8 Apr 2020 10:41:14 +0000 (12:41 +0200)]
codec_support/h263: fix delta calculation in the deblocking filter

4 years agocodec_support/h263: fix slice reset condition
Kostya Shishkov [Wed, 8 Apr 2020 10:22:01 +0000 (12:22 +0200)]
codec_support/h263: fix slice reset condition

4 years agocodec_support/h263: fix references used in PB-frame reconstruction
Kostya Shishkov [Wed, 8 Apr 2020 10:21:04 +0000 (12:21 +0200)]
codec_support/h263: fix references used in PB-frame reconstruction

4 years agointel263: fix quantisation
Kostya Shishkov [Wed, 8 Apr 2020 08:15:36 +0000 (10:15 +0200)]
intel263: fix quantisation

4 years agointel263: correct frame PTS in case of B-frames being present
Kostya Shishkov [Wed, 8 Apr 2020 08:15:14 +0000 (10:15 +0200)]
intel263: correct frame PTS in case of B-frames being present

4 years agorv10: switch to MD5-based tests
Kostya Shishkov [Tue, 7 Apr 2020 14:41:01 +0000 (16:41 +0200)]
rv10: switch to MD5-based tests

4 years agorv10: do not use modified chroma quantizer
Kostya Shishkov [Tue, 7 Apr 2020 14:43:22 +0000 (16:43 +0200)]
rv10: do not use modified chroma quantizer

4 years agorv10: remove debug statements
Kostya Shishkov [Tue, 7 Apr 2020 14:36:23 +0000 (16:36 +0200)]
rv10: remove debug statements

4 years agorv10: new versions are all above zero
Kostya Shishkov [Tue, 7 Apr 2020 14:34:16 +0000 (16:34 +0200)]
rv10: new versions are all above zero

4 years agorv10: check quantiser
Kostya Shishkov [Tue, 7 Apr 2020 14:33:48 +0000 (16:33 +0200)]
rv10: check quantiser

4 years agorv10: use OBMC if the codec flavour requires it
Kostya Shishkov [Tue, 7 Apr 2020 12:28:20 +0000 (14:28 +0200)]
rv10: use OBMC if the codec flavour requires it

4 years agocodec_support/h263: add OBMC feature
Kostya Shishkov [Tue, 7 Apr 2020 12:27:56 +0000 (14:27 +0200)]
codec_support/h263: add OBMC feature

4 years agoswitch h263 decoder to take options as flags
Kostya Shishkov [Mon, 6 Apr 2020 16:21:27 +0000 (18:21 +0200)]
switch h263 decoder to take options as flags

This will allow to add further options like OBMC without changing the interface.

4 years agocodec_support/h263: factor out some macroblock decoding/reconstruction parts
Kostya Shishkov [Sun, 5 Apr 2020 16:38:02 +0000 (18:38 +0200)]
codec_support/h263: factor out some macroblock decoding/reconstruction parts

4 years agorv10: fix coefficient quantisation
Kostya Shishkov [Sat, 4 Apr 2020 12:22:02 +0000 (14:22 +0200)]
rv10: fix coefficient quantisation

4 years agorv20: do not ignore deblocking flag
Kostya Shishkov [Sat, 4 Apr 2020 12:13:03 +0000 (14:13 +0200)]
rv20: do not ignore deblocking flag

4 years agorv20: fix decoding with RPR present
Kostya Shishkov [Sat, 4 Apr 2020 11:36:14 +0000 (13:36 +0200)]
rv20: fix decoding with RPR present

4 years agocodec_support/h263: validate that B-frame has enough reference data
Kostya Shishkov [Sat, 4 Apr 2020 10:27:55 +0000 (12:27 +0200)]
codec_support/h263: validate that B-frame has enough reference data

4 years agorv20: validate slice start
Kostya Shishkov [Sat, 4 Apr 2020 10:27:17 +0000 (12:27 +0200)]
rv20: validate slice start

4 years agormdemux: check that slice data fits into the frame
Kostya Shishkov [Fri, 3 Apr 2020 16:44:23 +0000 (18:44 +0200)]
rmdemux: check that slice data fits into the frame

4 years agorv20: switch to MD5-based test
Kostya Shishkov [Fri, 3 Apr 2020 13:28:54 +0000 (15:28 +0200)]
rv20: switch to MD5-based test

4 years agoh263-based codecs: use proper motion compensation
Kostya Shishkov [Fri, 3 Apr 2020 13:23:11 +0000 (15:23 +0200)]
h263-based codecs: use proper motion compensation

4 years agorv20: fix coefficient quantisation
Kostya Shishkov [Fri, 3 Apr 2020 09:58:57 +0000 (11:58 +0200)]
rv20: fix coefficient quantisation

4 years agocodec_support/h263: allocate more space in MV predictor
Kostya Shishkov [Fri, 3 Apr 2020 09:56:57 +0000 (11:56 +0200)]
codec_support/h263: allocate more space in MV predictor

In case of left neigbour access wraparound this will always return zero MV.

4 years agocodec_support/h263: fix DC clipping function
Kostya Shishkov [Fri, 3 Apr 2020 09:56:20 +0000 (11:56 +0200)]
codec_support/h263: fix DC clipping function

4 years agorv20: use codec-specific IDCT
Kostya Shishkov [Thu, 2 Apr 2020 14:26:57 +0000 (16:26 +0200)]
rv20: use codec-specific IDCT

4 years agorv20: calculate proper frame timestamps
Kostya Shishkov [Thu, 2 Apr 2020 14:23:31 +0000 (16:23 +0200)]
rv20: calculate proper frame timestamps

4 years agoregistry: RealVideo 2 has B-frames
Kostya Shishkov [Thu, 2 Apr 2020 12:50:05 +0000 (14:50 +0200)]
registry: RealVideo 2 has B-frames

4 years agocodec_support/h263: use proper H.263 deblocking
Kostya Shishkov [Thu, 2 Apr 2020 12:45:58 +0000 (14:45 +0200)]
codec_support/h263: use proper H.263 deblocking

4 years agocodec_support/h263: fix tabs
Kostya Shishkov [Thu, 2 Apr 2020 12:44:55 +0000 (14:44 +0200)]
codec_support/h263: fix tabs