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".