Hi,

this series adds the pieces needed to turn GoPro Max 1/2 .360 dual-EAC
video into equirectangular frames and write JPEG with per-frame APP
sidecars. Stock FFmpeg cannot stitch those files.

The filters are derived from gopromax_opencl (Max 1) by Ronan LE MEILLAT
and TADANO Tokumei (gmat). Max 2 keeps that copyright and adds a CPU
path plus CUDA/OpenCL variants. Geometry is EAC side/center/side with
a linear overlap on the side faces; yaw rotates the equirect.

I am sending the independent parts first:

  1/6  avcodec/bsf: jpegapp (inject JPEG APP segments from a sidecar)
  2/6  avcodec/mjpeg: accept packed RGB and convert to YUV
  3/6  avcodec: mjpeg_nvjpeg (nvJPEG, dlopen 13 then 12 then unversioned)
  4/6  avfilter: yuvrgb_cuda
  5/6  avfilter: gopromax2 (CPU, Max 2)
  6/6  avfilter: gopromax_opencl (Max 1)

Follow-ups after review: gopromax2_opencl, gopromax2_cuda (same
geometry as 5/6, ffnvcodec + cuda-nvcc or cuda-llvm).

Not in this series: local docs, Mapillary log flushing, clang libdevice
math stubs.

I reviewed the series and am the contact on the list. I did not write
the implementation myself; each patch has
Co-authored-by: Cursor <[email protected]>
and my Signed-off-by.

Please CC me; I am subscribed.

Thanks,
Reinhard

Co-authored-by: Cursor <[email protected]>
Signed-off-by: Reinhard Nißl <[email protected]>

Reinhard Nißl (6):
  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

 Changelog                        |   6 +
 configure                        |   5 +
 doc/bitstream_filters.texi       |  33 ++
 doc/encoders.texi                |  47 +++
 doc/filters.texi                 |  71 ++++
 libavcodec/Makefile              |   1 +
 libavcodec/allcodecs.c           |   1 +
 libavcodec/bitstream_filters.c   |   1 +
 libavcodec/bsf/Makefile          |   1 +
 libavcodec/bsf/jpegapp.c         | 269 ++++++++++++++
 libavcodec/mjpegenc.c            | 214 ++++++++++-
 libavcodec/nvjpegenc.c           | 584 +++++++++++++++++++++++++++++++
 libavcodec/nvjpegenc.cu          |  61 ++++
 libavfilter/Makefile             |   5 +
 libavfilter/allfilters.c         |   3 +
 libavfilter/opencl/gopromax.cl   | 288 +++++++++++++++
 libavfilter/opencl_source.h      |   1 +
 libavfilter/vf_gopromax2.c       | 482 +++++++++++++++++++++++++
 libavfilter/vf_gopromax_opencl.c | 370 ++++++++++++++++++++
 libavfilter/vf_yuvrgb_cuda.c     | 383 ++++++++++++++++++++
 libavfilter/vf_yuvrgb_cuda.cu    | 136 +++++++
 21 files changed, 2960 insertions(+), 2 deletions(-)
 create mode 100644 libavcodec/bsf/jpegapp.c
 create mode 100644 libavcodec/nvjpegenc.c
 create mode 100644 libavcodec/nvjpegenc.cu
 create mode 100644 libavfilter/opencl/gopromax.cl
 create mode 100644 libavfilter/vf_gopromax2.c
 create mode 100644 libavfilter/vf_gopromax_opencl.c
 create mode 100644 libavfilter/vf_yuvrgb_cuda.c
 create mode 100644 libavfilter/vf_yuvrgb_cuda.cu

-- 
2.43.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to