]> git.nihav.org Git - nihav-encoder.git/log
nihav-encoder.git
4 months agotranscoder: remove unused trait method
Kostya Shishkov [Wed, 28 May 2025 16:17:39 +0000 (18:17 +0200)]
transcoder: remove unused trait method

4 months agosimplify null muxer implementation a bit
Kostya Shishkov [Wed, 28 May 2025 16:17:09 +0000 (18:17 +0200)]
simplify null muxer implementation a bit

6 months agoset default parameters for PCM output in case input format is incompatible
Kostya Shishkov [Wed, 9 Apr 2025 16:53:58 +0000 (18:53 +0200)]
set default parameters for PCM output in case input format is incompatible

6 months agoset some default audio format for PCM encoder
Kostya Shishkov [Wed, 9 Apr 2025 16:30:49 +0000 (18:30 +0200)]
set some default audio format for PCM encoder

This is better than re-using input format and running into problems with
e.g. ADPCM source resulting into 4-bit PCM that sound converter can't handle.

6 months agohandle demuxer creation errors more gracefully
Kostya Shishkov [Wed, 9 Apr 2025 16:16:20 +0000 (18:16 +0200)]
handle demuxer creation errors more gracefully

6 months agofix displaying copy marker
Kostya Shishkov [Tue, 8 Apr 2025 16:38:23 +0000 (18:38 +0200)]
fix displaying copy marker

6 months agocreate audio format converter when input format differs from expected
Kostya Shishkov [Mon, 7 Apr 2025 17:05:08 +0000 (19:05 +0200)]
create audio format converter when input format differs from expected

This may be needed when the decoded format differs from the declared one
(e.g. demuxer reports 16-bit audio while audio decoder outputs floats).

Also factor out channel map generation code so in case it ever gets
improved I don't have to change it in three places.

6 months agomake audio converter output some samples if the output format does not care
Kostya Shishkov [Mon, 7 Apr 2025 16:42:08 +0000 (18:42 +0200)]
make audio converter output some samples if the output format does not care

Otherwise it would go into infinite loop outputting zero samples.

6 months agofix the bug with minimum duration calculation
Kostya Shishkov [Mon, 24 Mar 2025 16:48:54 +0000 (17:48 +0100)]
fix the bug with minimum duration calculation

It should be minimal known duration, previously it was always set to zero.

6 months agoprint last valid time instead of question marks when current time is unknown
Kostya Shishkov [Mon, 24 Mar 2025 16:45:59 +0000 (17:45 +0100)]
print last valid time instead of question marks when current time is unknown

6 months agoadd raw avi profile
Kostya Shishkov [Sun, 23 Mar 2025 17:22:10 +0000 (18:22 +0100)]
add raw avi profile

6 months agodo not attempt to synchronise packets when some of them lack timestamps
Kostya Shishkov [Sat, 22 Mar 2025 15:00:47 +0000 (16:00 +0100)]
do not attempt to synchronise packets when some of them lack timestamps

6 months agohopefully fix audio parameters
Kostya Shishkov [Fri, 21 Mar 2025 12:59:13 +0000 (13:59 +0100)]
hopefully fix audio parameters

6 months agoadd profiles for lazier encoding
Kostya Shishkov [Fri, 21 Mar 2025 11:36:58 +0000 (12:36 +0100)]
add profiles for lazier encoding

6 months agomark copied streams
Kostya Shishkov [Fri, 21 Mar 2025 11:19:17 +0000 (12:19 +0100)]
mark copied streams

6 months agodo not try to fill too large gaps in CFR mode
Kostya Shishkov [Thu, 20 Mar 2025 17:09:14 +0000 (18:09 +0100)]
do not try to fill too large gaps in CFR mode

6 months agohandle possible encoding errors instead of panicking on .unwrap()
Kostya Shishkov [Wed, 19 Mar 2025 17:54:29 +0000 (18:54 +0100)]
handle possible encoding errors instead of panicking on .unwrap()

6 months agoerror out on too large constant framerate
Kostya Shishkov [Wed, 19 Mar 2025 17:35:18 +0000 (18:35 +0100)]
error out on too large constant framerate

6 months agoadd framerate conversion ability
Kostya Shishkov [Wed, 19 Mar 2025 17:30:11 +0000 (18:30 +0100)]
add framerate conversion ability

6 months agoretrieve last (possibly unsynchronised) packets at the end
Kostya Shishkov [Mon, 17 Mar 2025 17:55:15 +0000 (18:55 +0100)]
retrieve last (possibly unsynchronised) packets at the end

6 months agoattempt to sync packets when possible
Kostya Shishkov [Mon, 17 Mar 2025 17:51:20 +0000 (18:51 +0100)]
attempt to sync packets when possible

7 months agoimprove the process of queueing and retrieving packets
Kostya Shishkov [Sun, 16 Mar 2025 17:51:50 +0000 (18:51 +0100)]
improve the process of queueing and retrieving packets

This should make it queue all packets (without losing them) and stop
at the right position without sending flushed packets after cut-off
to the muxer.

Additionally it should emprove encoding PCM audio.

7 months agorefactor code for more self-contained encoders and decoders
Kostya Shishkov [Sat, 15 Mar 2025 17:59:30 +0000 (18:59 +0100)]
refactor code for more self-contained encoders and decoders

7 months agoprepare framework for syncing output packets
Kostya Shishkov [Sat, 15 Mar 2025 12:44:34 +0000 (13:44 +0100)]
prepare framework for syncing output packets

7 months agosplit transcoder code into separate module
Kostya Shishkov [Fri, 14 Mar 2025 17:30:39 +0000 (18:30 +0100)]
split transcoder code into separate module

7 months agoenforce streams duration calculation in case muxer quirk demands it
Kostya Shishkov [Thu, 13 Mar 2025 17:57:17 +0000 (18:57 +0100)]
enforce streams duration calculation in case muxer quirk demands it

7 months agoset audio encoder timebase to the first video stream timebase automatically
Kostya Shishkov [Thu, 13 Mar 2025 17:37:42 +0000 (18:37 +0100)]
set audio encoder timebase to the first video stream timebase automatically

This allows e.g. PCM encoder to calculate frame length.

7 months agoadd muxer quirks to NULL muxer
Kostya Shishkov [Thu, 13 Mar 2025 17:33:22 +0000 (18:33 +0100)]
add muxer quirks to NULL muxer

15 months agointroduce --iformat as an alias for --input-format
Kostya Shishkov [Sun, 30 Jun 2024 12:11:40 +0000 (14:11 +0200)]
introduce --iformat as an alias for --input-format

15 months agoimgseq: always use rawvideo
Kostya Shishkov [Sun, 30 Jun 2024 12:10:18 +0000 (14:10 +0200)]
imgseq: always use rawvideo

rawvideo-ms requires a padding to multiple of 4 and thus not always suitable

17 months agouse NAPacketiser::attach_stream() where appropriate
Kostya Shishkov [Sat, 27 Apr 2024 11:41:55 +0000 (13:41 +0200)]
use NAPacketiser::attach_stream() where appropriate

21 months agomake audio pipe work with interleaved audio properly
Kostya Shishkov [Fri, 5 Jan 2024 17:10:51 +0000 (18:10 +0100)]
make audio pipe work with interleaved audio properly

21 months agoforce PCM audio processing in (almost) all cases
Kostya Shishkov [Fri, 5 Jan 2024 17:10:15 +0000 (18:10 +0100)]
force PCM audio processing in (almost) all cases

21 months agoaudio queue: support interleaved formats
Kostya Shishkov [Fri, 5 Jan 2024 11:45:12 +0000 (12:45 +0100)]
audio queue: support interleaved formats

23 months agoOnlyVideo/OnlyAudio muxer capabilities mean several streams are accepted
Kostya Shishkov [Sat, 11 Nov 2023 14:10:12 +0000 (15:10 +0100)]
OnlyVideo/OnlyAudio muxer capabilities mean several streams are accepted

2 years agoadd an option to set the same timebase for as the first video stream
Kostya Shishkov [Fri, 6 Oct 2023 16:47:40 +0000 (18:47 +0200)]
add an option to set the same timebase for as the first video stream

2 years agoadd option to calculate number of frames in the stream
Kostya Shishkov [Tue, 3 Oct 2023 15:16:37 +0000 (17:16 +0200)]
add option to calculate number of frames in the stream

This information may be useful when e.g. transcoding full input file to Bink.

2 years agomake demuxer print information only when requested
Kostya Shishkov [Tue, 3 Oct 2023 15:14:40 +0000 (17:14 +0200)]
make demuxer print information only when requested

2 years agoparse and try to apply output stream options before the encoder is created too
Kostya Shishkov [Sun, 1 Oct 2023 16:05:26 +0000 (18:05 +0200)]
parse and try to apply output stream options before the encoder is created too

2 years agoexit in case muxer is not found
Kostya Shishkov [Sun, 1 Oct 2023 16:03:50 +0000 (18:03 +0200)]
exit in case muxer is not found

2 years agoprint unrecognized option/argument value
Kostya Shishkov [Fri, 25 Aug 2023 16:09:41 +0000 (18:09 +0200)]
print unrecognized option/argument value

2 years agoallow encoder to work with multiple inputs
Kostya Shishkov [Sat, 19 Aug 2023 16:02:09 +0000 (18:02 +0200)]
allow encoder to work with multiple inputs

2 years agowhitespace fix
Kostya Shishkov [Sat, 19 Aug 2023 15:54:44 +0000 (17:54 +0200)]
whitespace fix

2 years agoadd PNM image sequence as possible input source
Kostya Shishkov [Sun, 13 Aug 2023 16:04:00 +0000 (18:04 +0200)]
add PNM image sequence as possible input source

2 years agofix clippy warnings
Kostya Shishkov [Thu, 27 Jul 2023 16:17:35 +0000 (18:17 +0200)]
fix clippy warnings

2 years agoimprove audio conversion
Kostya Shishkov [Thu, 25 May 2023 15:46:15 +0000 (17:46 +0200)]
improve audio conversion

2 years agodo not use 'str' as the variable name
Kostya Shishkov [Thu, 18 May 2023 16:54:45 +0000 (18:54 +0200)]
do not use 'str' as the variable name

2 years agorecognize /dev/null as null muxer output by default
Kostya Shishkov [Thu, 18 May 2023 16:46:37 +0000 (18:46 +0200)]
recognize /dev/null as null muxer output by default

2 years agoduplicate last frame when the encoder does not support skip frames
Kostya Shishkov [Tue, 16 May 2023 16:13:11 +0000 (18:13 +0200)]
duplicate last frame when the encoder does not support skip frames

2 years agoimprove audio processing pipeline
Kostya Shishkov [Fri, 5 May 2023 16:01:34 +0000 (18:01 +0200)]
improve audio processing pipeline

2 years agoparse bitrate in a more flexible way
Kostya Shishkov [Thu, 4 May 2023 16:22:39 +0000 (18:22 +0200)]
parse bitrate in a more flexible way

2 years agoadapt to freshly-introduced encoder capabilities
Kostya Shishkov [Tue, 14 Mar 2023 10:12:43 +0000 (11:12 +0100)]
adapt to freshly-introduced encoder capabilities

2 years agoenhance printed runtime stats
Kostya Shishkov [Fri, 10 Mar 2023 18:35:17 +0000 (19:35 +0100)]
enhance printed runtime stats

2 years agopass null frames to the encoder without attempting to convert them
Kostya Shishkov [Fri, 10 Mar 2023 17:23:23 +0000 (18:23 +0100)]
pass null frames to the encoder without attempting to convert them

3 years agouse raw stream duration
Kostya Shishkov [Mon, 22 Nov 2021 17:43:03 +0000 (18:43 +0100)]
use raw stream duration

3 years agocalculate PTS for raw stream if needed and possible
Kostya Shishkov [Thu, 18 Nov 2021 13:11:27 +0000 (14:11 +0100)]
calculate PTS for raw stream if needed and possible

3 years agodocument --verbose option
Kostya Shishkov [Thu, 18 Nov 2021 12:58:28 +0000 (13:58 +0100)]
document --verbose option

3 years agoadd verbose option
Kostya Shishkov [Wed, 17 Nov 2021 17:40:51 +0000 (18:40 +0100)]
add verbose option

3 years agotry to apply default encoder if possible
Kostya Shishkov [Wed, 17 Nov 2021 16:51:16 +0000 (17:51 +0100)]
try to apply default encoder if possible

3 years agosupport various input stream types
Kostya Shishkov [Wed, 17 Nov 2021 16:31:28 +0000 (17:31 +0100)]
support various input stream types

3 years agosupport scale options
Kostya Shishkov [Mon, 18 Oct 2021 16:57:40 +0000 (18:57 +0200)]
support scale options

4 years agodo not ignore boolean "noX" options
Kostya Shishkov [Wed, 29 Sep 2021 10:46:08 +0000 (12:46 +0200)]
do not ignore boolean "noX" options

4 years agofix or silence clippy warnings
Kostya Shishkov [Sun, 4 Apr 2021 08:29:13 +0000 (10:29 +0200)]
fix or silence clippy warnings

5 years agoupdate null sink for newly introduced stream duration
Kostya Shishkov [Sun, 4 Oct 2020 09:58:48 +0000 (11:58 +0200)]
update null sink for newly introduced stream duration

5 years agomention that --help is available
Kostya Shishkov [Thu, 23 Jul 2020 15:56:06 +0000 (17:56 +0200)]
mention that --help is available

5 years agoadd missing dyn keywords
Kostya Shishkov [Sun, 27 Sep 2020 11:27:45 +0000 (13:27 +0200)]
add missing dyn keywords

5 years agoadd help
Kostya Shishkov [Sun, 19 Jul 2020 10:13:48 +0000 (12:13 +0200)]
add help

5 years agoadd COPYING and README.md
Kostya Shishkov [Sat, 18 Jul 2020 12:13:04 +0000 (14:13 +0200)]
add COPYING and README.md

5 years agoadd an option to force timebase value
Kostya Shishkov [Sun, 12 Jul 2020 09:28:32 +0000 (11:28 +0200)]
add an option to force timebase value

5 years agoadd frame reordering
Kostya Shishkov [Sun, 12 Jul 2020 09:11:19 +0000 (11:11 +0200)]
add frame reordering

5 years agoskip packets before start point
Kostya Shishkov [Sun, 12 Jul 2020 08:40:39 +0000 (10:40 +0200)]
skip packets before start point

5 years agoadd short aliases for some commands
Kostya Shishkov [Sun, 12 Jul 2020 08:28:21 +0000 (10:28 +0200)]
add short aliases for some commands

5 years agofix copy-paste bug
Kostya Shishkov [Sun, 12 Jul 2020 08:25:12 +0000 (10:25 +0200)]
fix copy-paste bug

5 years agouse conversion when output parameters are forced
Kostya Shishkov [Sun, 12 Jul 2020 08:24:52 +0000 (10:24 +0200)]
use conversion when output parameters are forced

5 years agoparse requested formaton and soniton
Kostya Shishkov [Sat, 11 Jul 2020 13:34:09 +0000 (15:34 +0200)]
parse requested formaton and soniton

5 years agoremove trailing whitespace
Kostya Shishkov [Fri, 10 Jul 2020 19:44:11 +0000 (21:44 +0200)]
remove trailing whitespace

5 years agonihav_register_all_codecs was renamed
Kostya Shishkov [Thu, 9 Jul 2020 16:58:26 +0000 (18:58 +0200)]
nihav_register_all_codecs was renamed

5 years agoadd commands for setting start and end time of input to process
Kostya Shishkov [Thu, 9 Jul 2020 09:05:48 +0000 (11:05 +0200)]
add commands for setting start and end time of input to process

5 years agofix submodule use
Kostya Shishkov [Tue, 16 Jun 2020 07:48:08 +0000 (09:48 +0200)]
fix submodule use

5 years agoexit after printing options or lists
Kostya Shishkov [Fri, 12 Jun 2020 14:18:31 +0000 (16:18 +0200)]
exit after printing options or lists

5 years agoadd options to print codec and (de)muxer lists
Kostya Shishkov [Fri, 12 Jun 2020 14:14:53 +0000 (16:14 +0200)]
add options to print codec and (de)muxer lists

5 years agoadd null encoder and muxer
Kostya Shishkov [Fri, 12 Jun 2020 13:06:04 +0000 (15:06 +0200)]
add null encoder and muxer

5 years agofix stream copy mode
Kostya Shishkov [Tue, 9 Jun 2020 08:21:50 +0000 (10:21 +0200)]
fix stream copy mode

5 years agopreserve wrong encoder name for later
Kostya Shishkov [Mon, 8 Jun 2020 10:25:27 +0000 (12:25 +0200)]
preserve wrong encoder name for later

5 years agore-add missing dependencies
Kostya Shishkov [Sun, 7 Jun 2020 16:36:59 +0000 (18:36 +0200)]
re-add missing dependencies

5 years agoInitial work on transcoder
Kostya Shishkov [Sat, 6 Jun 2020 15:50:40 +0000 (17:50 +0200)]
Initial work on transcoder