itsmattkc
cc21ed37a7
implemented core subtitle support
2021-05-18 12:42:47 +10:00
itsmattkc
14ae962027
ffmpegencoder: fixed issues with audio frame loop
...
Fixes #1625
2021-05-13 22:36:39 +10:00
itsmattkc
15556c64ae
encoder: write audio in segments
...
I'll be honest, this probably makes no noticeable difference at all. It should be faster and more efficient, but whether that translates into any tangible improvement is yet to be seen.
2021-05-10 00:44:08 +10:00
itsmattkc
4942970c02
export: fixed many export formats including still image and image sequence export
...
Still incomplete, but does a lot towards #1345
2021-05-05 19:03:03 +10:00
itsmattkc
2416891c76
encoder: minor improvements
2021-04-28 23:12:14 +10:00
itsmattkc
77d4b18a60
updated copyright year for 2021 [skip ci]
2021-04-17 18:56:50 +10:00
itsmattkc
bb32048c65
use frame rate and timebase less interchangeably
2021-04-07 13:08:25 +10:00
itsmattkc
57ddae8920
h264section: set min bit rate on target file size
2021-04-06 12:38:31 +10:00
itsmattkc
0699795c6f
export: implemented audio bit rate setting
...
The UI for this isn't perfect, I just wrote this in because I needed it. But the backend is solid.
2020-12-04 01:01:50 +11:00
itsmattkc
75d4cd899b
use hardcoded namespace
...
The macro defined namespaces confused the hell out of lupdate and more or less broke translations permanently. Looks like the only way we can do it is to have a hardcoded namespace, which goes against my instinct, but honestly how likely is it that we'll change the namespace anyway (I guess forks might want to do it, but that's their problem ;) )
2020-11-17 20:24:42 +11:00
itsmattkc
d241090a9f
finally updated the copyright year
2020-11-17 20:13:22 +11:00
itsmattkc
0d0766e4fb
improved render channel count system
2020-11-15 22:16:40 +11:00
itsmattkc
f7ab0bb640
audio: rewrote audio cache to write to contiguous segments rather than one long file
...
Fixes issues with PCM file placement, optimizes some audio-based timeline
and cache operations, just generally a better approach.
2020-10-11 23:27:40 +11:00
itsmattkc
28dcff10c0
various: implement sequence pixel aspect ratios and interlacing settings
...
Implements the following:
- Sequences have pixel aspect ratios that work in tandem with footage PARs
to render footage correctly. Viewer and export also acknowledge PARs
- Sequences can have interlacing settings. This doesn't do anything yet,
eventually the renderer will need to interlace/deinterlace/reinterlace
appropriately in order to conform all the footage to the sequence. Export
acknowledges interlacing, but this only affects metadata, not the image.
2020-08-10 01:47:26 +10:00
itsmattkc
5235975d6d
export: allow selecting output pixel format
2020-07-24 14:45:27 +10:00
itsmattkc
430561e2ac
sequence: made divider a sequence parameter rather than a viewer parameter
...
Doing this makes the preview resolution an explicit project setting rather
than a temporary UI setting. This will allow more consistency when caching.
2020-06-08 14:41:35 +10:00
itsmattkc
6507cfbfc9
ffmpegencoder: ensure codec ID is initialized
2020-05-21 18:28:34 +10:00
itsmattkc
0cf6c9a1f6
export: use codec IDs rather than strings
...
Vastly improves portability between library versions.
2020-05-21 03:04:38 +10:00
itsmattkc
d5766489e4
export: fixed audio exporting with new renderer system
2020-05-21 02:18:52 +10:00
itsmattkc
87e7564222
cache: heavily reworked exporting for new system
...
Also cleans up cache in general and moves it to the Task infrastructure.
2020-05-19 23:35:17 +10:00
itsmattkc
549ecc448a
ffmpegencoder: use qstring rather than sprint_s (which is only available on msvc)
2020-04-30 18:54:13 +10:00
itsmattkc
ce42388d68
export: allow users to override the thread count
2020-04-30 17:19:43 +10:00
itsmattkc
61e3641bcc
export: fixed bug where null frames never got signalled and hung exporting
2020-04-23 03:02:04 +10:00
itsmattkc
c9e797abdf
various: conformed frame usages to respect stride
2020-04-22 15:54:47 +10:00
itsmattkc
290c8724c4
Merge pull request #1131 from luzpaz/typos-followup
...
Fix typos cont.
2020-04-16 12:21:45 +10:00
itsmattkc
1aa87cbda6
various: encapsulate all code in the olive namespace to avoid name collisions
...
Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
2020-04-06 15:29:53 +10:00
itsmattkc
fb1cf1edaf
ffmpegencoder: improvements to resampling
...
Updates the AVFrame's nb_samples field to the amount of samples retrieved from
swresample so it doesn't encode more or less samples than it has.
2020-04-05 00:12:23 +11:00
itsmattkc
9603f90072
ffmpegencoder: added range support to audio encoding
...
There isn't UI for this yet, but sending a time range to the encoder will now
encode just that range of audio.
2020-03-31 13:55:57 +11:00
itsmattkc
7328a813f9
ffmpegencoder: fixed bug that failed to flush the audio encoder
...
For some reason, when the encoder closed it only flushed the video encoder and
not the audio encoder. Now it does both.
2020-03-31 12:09:43 +11:00
luz.paz
4e1cd870a9
Fix typos cont.
2020-03-21 13:46:38 -04:00
itsmattkc
51f02ea01b
viewer: allow switching open sequences
2020-03-21 22:18:17 +11:00
itsmattkc
4bc5378116
ffmpegencoder: explicit cast from int64_t to int
2020-03-15 20:08:56 +11:00
itsmattkc
9e8a384f14
encoder/exportdialog: add compression options for H264 exporting
2020-03-03 01:47:04 +11:00
itsmattkc
02ce48d0c6
various: pixel optimizations
...
Several things are accomplished in this commit, including:
- Use OIIO instead of our own functions for pixel format conversions
(cleaner code/less for us to maintain)
- Fold all PixelService functions into the PixelFormat class
(cleaner code)
- Moved OpenGL pixel definitions to OpenGL classes and out of the
global classes.
- Add support for RGB buffers as well as RGBA (optimization)
2020-02-27 13:54:38 +11:00
itsmattkc
4697b98980
fixed gcc compile issues
2020-01-19 20:39:48 +11:00
itsmattkc
b8aabb7e01
updated exporter to work with new frame flow
2020-01-08 02:27:47 +11:00
itsmattkc
61c60e00d6
various small code cleanups and improvements
...
Largely refactoring work to make the code somewhat nicer to work with.
2019-12-26 19:00:08 +11:00
itsmattkc
3a7b3ffac6
implemented audio exporting
...
The encoder was moved to its own thread and will transcode the PCM from the
audio renderer into the chosen codec while the video frames are still
received. The implementation isn't perfect and could use some cleaning up, but
it is functional at the moment.
2019-12-23 01:45:27 +11:00
itsmattkc
b24e2cd22b
enable multithreading on ffmpegencoder
2019-12-22 02:56:25 +11:00
itsmattkc
ee31da9e71
merged encoder and decoder code into one folder since they can share quite a bit of code
2019-12-21 20:03:25 +11:00