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]

Reply via email to