Am 18.08.2020 um 14:35 schrieb Michael Koch:
Hello all,

I have a question about this script:

rem  Create red and yellow videos 300x300

c:\ffmpeg\ffmpeg -f lavfi -i color=red:size=300x300:duration=5 -y red.mp4
c:\ffmpeg\ffmpeg -f lavfi -i color=yellow:size=300x300:duration=5 -y yellow.mp4

rem  Create a mergemap file 600x300

c:\ffmpeg\ffmpeg -f lavfi -i nullsrc=size=300x300 -vf "format=gray8,geq='clip(128-128/10*(180-200/150*hypot(X-150,Y-150)),0,255)',v360=input=fisheye:output=e:ih_fov=200:iv_fov=200,format=rgb24" -frames 1 -y mergemap.png

rem  Stitch two fisheye videos together to an equirectangular video, with merging at the border

c:\ffmpeg\ffmpeg -i red.mp4 -i yellow.mp4 -i mergemap.png -lavfi "[0]format=rgb24,v360=input=fisheye:output=e:ih_fov=200:iv_fov=200[a];[1]format=rgb24,v360=input=fisheye:output=e:yaw=180:ih_fov=200:iv_fov=200[b];[a][b][2]maskedmerge,format=rgb24,format=yuv422p" -y out.mp4


This works fine and the output video looks as expected. My question is why "format=rgb24" is required between "maskedmerge" and "format=yuv422p". Normally two consecutive format conversions should be unnecessary. But it doesn't work when I omit "format=rgb24". The colors become wrong.

It seems that v360 and maskedmerge change the pixel format from rgb24 to the planar gbrp pixel format. But why isn't it possible to convert gbrp directly to yuv422p, without an intermediate conversion to rgb24? Is this a bug?

I suggest to add to the documentation that v360 and maskedmerge (and possibly also other filters) change the pixel format to gbrp. As a user I was assuming that the pixel format remains the same, unless noted otherwise in the documentation.

Michael

_______________________________________________
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to