mbox series

[FFmpeg-devel,v4,0/1] lavfi/vf_gopromax_opencl: add GoPor Max 360 video filter

Message ID 20240803005601.44246-1-aimingoff@pc.nifty.jp
Headers show
Series lavfi/vf_gopromax_opencl: add GoPor Max 360 video filter | expand

Message

TADANO Tokumei Aug. 3, 2024, 12:56 a.m. UTC
This is updated patch of:
https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=3943
I contacted to Ronan LE MEILLAT and agreed with him to submit new patch.

Abstruct of GoPro Max .360 video file format is described in:
https://gopro.com/news/max-tech-specs-stitching-resolution

The specification is little bit buggy.
The format is based on EAC (Equi-Angular Cubemap), and there are overlapped
pixels at boundaries of front and rear cams.
Probably, the desinger intended to add 2 x 32 (= total 64) ovelapped pixels.
But actual format has 2 x 64 pixels overlapped area.
Thus the width will be 2 x 32 pixels shorter than standard EAC format after
blending overlapped area.

This filter blends overlapped area, stretches the width of the cube,
and combine two streams into single stream with standard format.

v3: modifies `configure` file to add dependency on opencl.
v4: fix small difference from v360 filter in xyz_to_eac()

TADANO Tokumei (1):
  lavfi/vf_gopromax_opencl: add GoPro Max 360 video filter

 configure                        |   1 +
 doc/filters.texi                 |  78 +++++++
 libavfilter/Makefile             |   2 +
 libavfilter/allfilters.c         |   1 +
 libavfilter/opencl/gopromax.cl   | 282 +++++++++++++++++++++++++
 libavfilter/opencl_source.h      |   1 +
 libavfilter/vf_gopromax_opencl.c | 351 +++++++++++++++++++++++++++++++
 7 files changed, 716 insertions(+)
 create mode 100644 libavfilter/opencl/gopromax.cl
 create mode 100644 libavfilter/vf_gopromax_opencl.c

Comments

TADANO Tokumei Aug. 15, 2024, 8:10 a.m. UTC | #1
ping

On 2024/08/03 9:56, TADANO Tokumei wrote:
> This is updated patch of:
> https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=3943
> I contacted to Ronan LE MEILLAT and agreed with him to submit new patch.
> 
> Abstruct of GoPro Max .360 video file format is described in:
> https://gopro.com/news/max-tech-specs-stitching-resolution
> 
> The specification is little bit buggy.
> The format is based on EAC (Equi-Angular Cubemap), and there are overlapped
> pixels at boundaries of front and rear cams.
> Probably, the desinger intended to add 2 x 32 (= total 64) ovelapped pixels.
> But actual format has 2 x 64 pixels overlapped area.
> Thus the width will be 2 x 32 pixels shorter than standard EAC format after
> blending overlapped area.
> 
> This filter blends overlapped area, stretches the width of the cube,
> and combine two streams into single stream with standard format.
> 
> v3: modifies `configure` file to add dependency on opencl.
> v4: fix small difference from v360 filter in xyz_to_eac()

The filter is not generic filter but for specific device.
If there is no bad influence to other filters and/or codecs, please apply this patch.

Sample .360 files of GoPro Max can be found at:
https://bit.ly/x3vsmax
https://drive.google.com/drive/folders/1h-ks7-jxV6uRE_pcrKMGsaIiPRjJ0eW

Thanks,

> TADANO Tokumei (1):
>    lavfi/vf_gopromax_opencl: add GoPro Max 360 video filter
> 
>   configure                        |   1 +
>   doc/filters.texi                 |  78 +++++++
>   libavfilter/Makefile             |   2 +
>   libavfilter/allfilters.c         |   1 +
>   libavfilter/opencl/gopromax.cl   | 282 +++++++++++++++++++++++++
>   libavfilter/opencl_source.h      |   1 +
>   libavfilter/vf_gopromax_opencl.c | 351 +++++++++++++++++++++++++++++++
>   7 files changed, 716 insertions(+)
>   create mode 100644 libavfilter/opencl/gopromax.cl
>   create mode 100644 libavfilter/vf_gopromax_opencl.c
>
TADANO Tokumei Aug. 31, 2024, 2:06 p.m. UTC | #2
ping again

On 2024/08/15 17:10, TADANO Tokumei wrote:
> ping
> 
> On 2024/08/03 9:56, TADANO Tokumei wrote:
>> This is updated patch of:
>> https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=3943
>> I contacted to Ronan LE MEILLAT and agreed with him to submit new patch.
>>
>> Abstruct of GoPro Max .360 video file format is described in:
>> https://gopro.com/news/max-tech-specs-stitching-resolution
>>
>> The specification is little bit buggy.
>> The format is based on EAC (Equi-Angular Cubemap), and there are overlapped
>> pixels at boundaries of front and rear cams.
>> Probably, the desinger intended to add 2 x 32 (= total 64) ovelapped pixels.
>> But actual format has 2 x 64 pixels overlapped area.
>> Thus the width will be 2 x 32 pixels shorter than standard EAC format after
>> blending overlapped area.
>>
>> This filter blends overlapped area, stretches the width of the cube,
>> and combine two streams into single stream with standard format.
>>
>> v3: modifies `configure` file to add dependency on opencl.
>> v4: fix small difference from v360 filter in xyz_to_eac()
> 
> The filter is not generic filter but for specific device.
> If there is no bad influence to other filters and/or codecs, please apply this patch.
> 
> Sample .360 files of GoPro Max can be found at:
> https://bit.ly/x3vsmax
> https://drive.google.com/drive/folders/1h-ks7-jxV6uRE_pcrKMGsaIiPRjJ0eW
> 
> Thanks,
> 
>> TADANO Tokumei (1):
>>    lavfi/vf_gopromax_opencl: add GoPro Max 360 video filter
>>
>>   configure                        |   1 +
>>   doc/filters.texi                 |  78 +++++++
>>   libavfilter/Makefile             |   2 +
>>   libavfilter/allfilters.c         |   1 +
>>   libavfilter/opencl/gopromax.cl   | 282 +++++++++++++++++++++++++
>>   libavfilter/opencl_source.h      |   1 +
>>   libavfilter/vf_gopromax_opencl.c | 351 +++++++++++++++++++++++++++++++
>>   7 files changed, 716 insertions(+)
>>   create mode 100644 libavfilter/opencl/gopromax.cl
>>   create mode 100644 libavfilter/vf_gopromax_opencl.c
>>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".