Hi Michael,
the pull requests are open. Please use them instead of the six patches I
sent on 20 September. That series is obsolete:
- avcodec/bsf: add jpegapp to inject JPEG APP segments
- avcodec/mjpegenc: encode packed RGB via YUV conversion
- avcodec: add mjpeg_nvjpeg NVIDIA JPEG encoder
- avfilter: add yuvrgb_cuda
- avfilter: add gopromax2 GoPro Max 2 EAC stitch
- avfilter: add gopromax_opencl GoPro Max 1 stitch
I also changed the order. In the patch series the CPU stitch and Max 1
OpenCL came before the CUDA path I actually run. Here that CUDA path
comes first. The CPU fallback and OpenCL follow. Each request applies on
its own.
1/9 avutil/log: flush stderr and match Windows warning yellow
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24730
2/9 avfilter: add yuvrgb_cuda
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24729
3/9 avfilter: add gopromax2_cuda GoPro Max 2 EAC stitch
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24728
4/9 avcodec: add mjpeg_nvjpeg NVIDIA JPEG encoder
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24727
5/9 avcodec/bsf: add jpegapp to inject JPEG APP segments
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24726
After 1–5, mapillary_tools processes GoPro Max 2 files GPU-only in my setup:
scale_cuda=yuv444p10, yuvrgb_cuda=rgb0, gopromax2_cuda, mjpeg_nvjpeg.
jpegapp inserts the APP1 segment while encoding, so the JPEG ffmpeg
writes needs no postprocessing.
6/9 avfilter: add gopromax2 GoPro Max 2 EAC stitch
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24725
After 6, the Max 2 CPU fallback works.
7/9 avfilter: add gopromax2_opencl GoPro Max 2 EAC stitch
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24724
After 7, Max 2 via OpenCL works.
8/9 avfilter: add gopromax_opencl GoPro Max 1 stitch
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24723
After 8, original GoPro Max (Max 1) via OpenCL works.
9/9 avcodec/mjpegenc: encode packed RGB via YUV conversion
https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24722
9/9 is needed when 4/9 cannot be used, for example because no nvjpeg
library is present, and encoding falls back to the software mjpeg
encoder. That encoder then receives packed RGB (rgb24). Upstream
mjpegenc does not accept it; this change converts it to YUV first.
Once the filter requests are merged, I will send one short documentation
request that only adds the cross-references between these sections.
Regards, Reinhard
--
Reinhard Nißl
_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]