summaryrefslogtreecommitdiff
path: root/src/lib/ffmpeg_file_encoder.cc
AgeCommit message (Collapse)Author
2025-10-15Support FFmpeg 8 (for Arch).Carl Hetherington
2025-09-06Fix incorrectly-clipped audio on export (possibly #2865).Carl Hetherington
2025-09-06White space: ffmpeg_file_encoder.{cc,h}Carl Hetherington
2025-08-12Replace AVPixelFormat parameter to PlayerVideo::image with a functor.Carl Hetherington
This was removed in df9b4676aba8b941f124b174393988cad21677e1 and surrounding commits, but it turns out we need it after all.
2025-07-10Remove compose.hpp includes.Carl Hetherington
sed -i "/include.*compose.hpp/d;" src/lib/*.cc src/wx/*.cc src/wx/*.h src/tools/*.cc src/lib/*.h test/*.cc
2025-07-10Replace String::compose with fmt.Carl Hetherington
sed -i "/Plural-Forms/n;/%100/n;/scanf/n;s/%[123456789]/{}/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc src/lib/po/*.po src/wx/po/*.po src/tools/po/*.po test/*.cc sed -i "s/String::compose */fmt::format/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc test/*.cc
2025-05-26Remove functors for choosing pixel format output from make_image().Carl Hetherington
2024-09-22Throw a more useful error when the disk is full during an export (#2866).v2.17.21Carl Hetherington
2024-07-03Fix deprecated FFmpeg stuff.Carl Hetherington
2024-06-24Add ProRes LT export option (#2834).Carl Hetherington
2024-04-21Rename Encoder -> FilmEncoder, and subclasses.Carl Hetherington
2024-01-28Bump ffmpeg to 5.1.2 "Riemann"Carl Hetherington
2023-11-26Make an error more detailed.Carl Hetherington
2023-10-28Add some const& to uses of auto.Carl Hetherington
2023-08-26Set up packet duration correctly when encoding using FFmpeg (#2588).Carl Hetherington
It seems strange that this is necessary (maybe I'm missing some other way that the packet duration is supposed to be set up). Without this, when the mov muxer writes the trak tags it uses an incorrect length value because the length value is calculated from trk->end_pts, which in turn is calculated from the last-seen pts + the duration of the last packet. If that packet is marked as length 0 the length of the track is 1 frame short, so the export is missing a frame.
2023-08-26Check a return value for error.Carl Hetherington
2023-08-26Speculative fix to ensure correct freeing.Carl Hetherington
2023-02-10Export 24-bit audio in Prores files (#2438).Carl Hetherington
2022-11-06Fix error message.Carl Hetherington
2022-11-06Extract ImageStore.Carl Hetherington
2022-11-06Strictly I think we should be putting each component of an image into ↵Carl Hetherington
_pending_images. We probably get away with only keeping component 0 but I think that could perhaps lead to use-after-free as the Image for components 1 and 2 could go away a bit before it should.
2022-10-25Hopefully fix crash when the same frame is encoded twice.Carl Hetherington
Previously if some frame X was passed to the encoder twice I think this would happen: X1 written; X stored to _pending_images X2 written; _pending_images remains the same X1 encode finishes; X is discarded from _pending_images Data for X2 is read by the encoder but was just freed I think this might have resulted in intermittent crashes, which were fairly common in the 2.17.x branch with the test ffmpeg_encoder_prores_regression_1 But I didn't conclusively prove it.
2022-07-10Fix failure to close exported files.Carl Hetherington
2022-06-12Add Prores 4444 support (#2263).Carl Hetherington
2022-06-12Rename PRORES -> PRORES_HQCarl Hetherington
2022-06-06Remove unused H246_PCM export code.Carl Hetherington
2022-05-26Cleanup: use some more make_shared.Carl Hetherington
2022-04-20Use std::vector in AudioBuffers (#2236).Carl Hetherington
2022-04-07Cleanup: remove unused parameter to PlayerVideo::force.Carl Hetherington
2022-03-30Fix writing of planar audio to export buffers in some cases (#2223).Carl Hetherington
Previously we did not take into account alignment padding that can exist with FLTP samples; each channel's block of samples can have a gap between. This doesn't happen with the normal 1024 sample blocks; only when flushing at the end, when we write shorter blocks. Not doing this right meant that we were passing uninitialised memory to aacenc which sometimes responded by returning an EINVAL due to one of its internal calculations returning a NaN.
2021-09-27Various alignment tidying/fixups.Carl Hetherington
2021-09-27Replace aligned bool with enum Alignment.Carl Hetherington
2021-08-03Fix build with newer FFmpeg.Carl Hetherington
2021-08-03Some const-correctness.Carl Hetherington
2021-07-15C++11 tidying.Carl Hetherington
2021-05-01Switch encoding to ffmpeg send/receive API.Carl Hetherington
2021-05-01Remove some FFmpeg-related warnings by using AVStream::codecpar.Carl Hetherington
2021-02-17Assorted C++11 tidying.Carl Hetherington
2021-01-31More enum class additions.Carl Hetherington
2021-01-27Use enum class for VideoRange.Carl Hetherington
2021-01-07BOOST_FOREACH.Carl Hetherington
2021-01-07std::shared_ptrCarl Hetherington
2020-11-23Remove swaroop variant.Carl Hetherington
2020-11-20Try to enable all streams in MOV exports.Carl Hetherington
This is a speculative fix which I haven't tested.
2020-11-16Make sure we use limited ("video") range data when exporting.Carl Hetherington
Our export formats all currently use limited range but we weren't making sure data fed to the encoders was limited range. Should fix #1832.
2020-09-01Build fixes for Boost >= 1.73Carl Hetherington
Forward-ported-from: d1e9749ca290673639a49d693a8fe5c6557cc2de
2020-08-17Tidy up resource management of FFmpegFileEncoders so that theyCarl Hetherington
are cleaned up correctly when an error occurs. Adapted from dfac61382f1719f0a879747de43cbc5f9115c2d7 in master.
2020-08-05Allow export with one audio stream per channel.v2.15.95Carl Hetherington
2020-07-26Ignore FFmpeg warnings in a nicer way.Carl Hetherington
2020-06-16Give a better error.v2.15.80Carl Hetherington