Re: [FFmpeg-user] overlaying a clut over a picture
Am 14.01.2019 um 09:48 schrieb Paul B Mahol: On 1/14/19, Michael Koch wrote: Am 14.01.2019 um 08:40 schrieb Michael Koch: Am 14.01.2019 um 07:28 schrieb Michael Koch: When I create a color-look-up-table with this command line, the result is a 512x512 clut saved as 16-bit PNG. It works as expected and I checked that the top left pixel is black (R=0, G=0, B=0) and the bottom right pixel is white (R=65026, G=65026, B=65026). c:\ffmpeg\ffmpeg -f lavfi -i haldclutsrc=8 -frames 1 -pix_fmt rgb48be -y clut.png In the next example I wanted to extract one frame from a video, overlay the clut in the top left corner, and save it as 16-bit PNG. I need 16-bit PNG because my video is 10-bit. At first glimpse the result looks good, but a closer examination finds that the top left pixel is not pure black, it's R=0, G=1285, B=0, and the bottom right pixel of the clut (at coordinates 511,511) is not pure white, it's R=65535, G=63736, B=65535. Why are the colors wrong? c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldclutsrc=8 -filter_complex overlay -frames 1 -pix_fmt rgb48be -y Image_with_CLUT.png I found a solution myself: overlay=format=rgb But the output of the overlay filter seems to be RGB24. Is it possible to get RGB48 out of the overlay filter? Or is there any other filter for overlaying two RGB48 images? Try maskedmerge filter with gbrp16 pixel format. In the meantime a found this solution with the xstack filter: c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldclutsrc=8 -filter_complex "[1]format=pix_fmts=rgb48be[a];[a][0]xstack=inputs=2:layout=0_0|w0_0" -frames 1 -y Image_with_CLUT.png It's not an overlay but a horizontal stack, but that doesn't care. It's only important that I have the clut and the picture combined in one 16-bit picture, so that they can be processed simultaneously. By the way xstack is much better than hstack because it accepts pictures of different height. Problem solved! Thanks, Michael ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] overlaying a clut over a picture
On 1/14/19, Michael Koch wrote: > Am 14.01.2019 um 08:40 schrieb Michael Koch: >> Am 14.01.2019 um 07:28 schrieb Michael Koch: >>> When I create a color-look-up-table with this command line, the >>> result is a 512x512 clut saved as 16-bit PNG. It works as expected >>> and I checked that the top left pixel is black (R=0, G=0, B=0) and >>> the bottom right pixel is white (R=65026, G=65026, B=65026). >>> >>> c:\ffmpeg\ffmpeg -f lavfi -i haldclutsrc=8 -frames 1 -pix_fmt rgb48be >>> -y clut.png >>> >>> >>> In the next example I wanted to extract one frame from a video, >>> overlay the clut in the top left corner, and save it as 16-bit PNG. I >>> need 16-bit PNG because my video is 10-bit. At first glimpse the >>> result looks good, but a closer examination finds that the top left >>> pixel is not pure black, it's R=0, G=1285, B=0, and the bottom right >>> pixel of the clut (at coordinates 511,511) is not pure white, it's >>> R=65535, G=63736, B=65535. Why are the colors wrong? >>> >>> c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldclutsrc=8 >>> -filter_complex overlay -frames 1 -pix_fmt rgb48be -y >>> Image_with_CLUT.png >> >> I found a solution myself: overlay=format=rgb > > But the output of the overlay filter seems to be RGB24. Is it possible > to get RGB48 out of the overlay filter? Or is there any other filter for > overlaying two RGB48 images? Try maskedmerge filter with gbrp16 pixel format. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] overlaying a clut over a picture
Am 14.01.2019 um 08:40 schrieb Michael Koch: Am 14.01.2019 um 07:28 schrieb Michael Koch: When I create a color-look-up-table with this command line, the result is a 512x512 clut saved as 16-bit PNG. It works as expected and I checked that the top left pixel is black (R=0, G=0, B=0) and the bottom right pixel is white (R=65026, G=65026, B=65026). c:\ffmpeg\ffmpeg -f lavfi -i haldclutsrc=8 -frames 1 -pix_fmt rgb48be -y clut.png In the next example I wanted to extract one frame from a video, overlay the clut in the top left corner, and save it as 16-bit PNG. I need 16-bit PNG because my video is 10-bit. At first glimpse the result looks good, but a closer examination finds that the top left pixel is not pure black, it's R=0, G=1285, B=0, and the bottom right pixel of the clut (at coordinates 511,511) is not pure white, it's R=65535, G=63736, B=65535. Why are the colors wrong? c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldclutsrc=8 -filter_complex overlay -frames 1 -pix_fmt rgb48be -y Image_with_CLUT.png I found a solution myself: overlay=format=rgb But the output of the overlay filter seems to be RGB24. Is it possible to get RGB48 out of the overlay filter? Or is there any other filter for overlaying two RGB48 images? Michael ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] overlaying a clut over a picture
Am 14.01.2019 um 07:28 schrieb Michael Koch: When I create a color-look-up-table with this command line, the result is a 512x512 clut saved as 16-bit PNG. It works as expected and I checked that the top left pixel is black (R=0, G=0, B=0) and the bottom right pixel is white (R=65026, G=65026, B=65026). c:\ffmpeg\ffmpeg -f lavfi -i haldclutsrc=8 -frames 1 -pix_fmt rgb48be -y clut.png In the next example I wanted to extract one frame from a video, overlay the clut in the top left corner, and save it as 16-bit PNG. I need 16-bit PNG because my video is 10-bit. At first glimpse the result looks good, but a closer examination finds that the top left pixel is not pure black, it's R=0, G=1285, B=0, and the bottom right pixel of the clut (at coordinates 511,511) is not pure white, it's R=65535, G=63736, B=65535. Why are the colors wrong? c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldclutsrc=8 -filter_complex overlay -frames 1 -pix_fmt rgb48be -y Image_with_CLUT.png I found a solution myself: overlay=format=rgb Michael ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] overlaying a clut over a picture
When I create a color-look-up-table with this command line, the result is a 512x512 clut saved as 16-bit PNG. It works as expected and I checked that the top left pixel is black (R=0, G=0, B=0) and the bottom right pixel is white (R=65026, G=65026, B=65026). c:\ffmpeg\ffmpeg -f lavfi -i haldclutsrc=8 -frames 1 -pix_fmt rgb48be -y clut.png In the next example I wanted to extract one frame from a video, overlay the clut in the top left corner, and save it as 16-bit PNG. I need 16-bit PNG because my video is 10-bit. At first glimpse the result looks good, but a closer examination finds that the top left pixel is not pure black, it's R=0, G=1285, B=0, and the bottom right pixel of the clut (at coordinates 511,511) is not pure white, it's R=65535, G=63736, B=65535. Why are the colors wrong? c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldclutsrc=8 -filter_complex overlay -frames 1 -pix_fmt rgb48be -y Image_with_CLUT.png Below is the console output. Thanks, Michael C:\Users\mKoch\Desktop>c:\ffmpeg\ffmpeg -ss 5 -i P199.mov -f lavfi -i haldc lutsrc=8 -filter_complex overlay -frames 1 -pix_fmt rgb48be -y Image_with_CLUT.p ng ffmpeg version N-92926-g2d580d727c Copyright (c) 2000-2019 the FFmpeg developers built with gcc 8.2.1 (GCC) 20181201 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfi g --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-lib freetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amr wb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy -- enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-l ibwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 -- enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --en able-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --en able-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --e nable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enab le-avisynth --enable-libopenmpt libavutil 56. 25.100 / 56. 25.100 libavcodec 58. 43.100 / 58. 43.100 libavformat 58. 25.100 / 58. 25.100 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 46.101 / 7. 46.101 libswscale 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 00404340] decoding for stream 0 failed Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'P199.mov': Metadata: major_brand : qt minor_version : 537986816 compatible_brands: qt pana creation_time : 2019-01-03T06:32:13.00Z com.panasonic.Semi-Pro.metadata.xml: encoding="UTF-8" st andalone="no" ?> : xmlns:xsi="http://www.w3.org/2001/XMLSchema-inst ance" xmlns="urn:schemas-Professional-Plug-in:Semi-Pro:ClipMetadata:v1.0"> : : 060A2B340101010501010D211300EFE8D053 D0B35534437E1060C1650131 : 1284 : 1/25 : : : H264_422_LongGOP : 2496 : 3328 : 10 : 25p : NonDrop : 19:15:30:18 : : : 2 : 48000 : 16 : : : : 0 : : 2019-01-03T06:32:13+02:00 : 2019-01-03T06:32:13+02:00 : : : Panasonic : DC-GH5S : : : 2019-01-03T06:32:13+02:00 : : : : : xmlns="urn:schemas-Professional-P lug-in:P2:CameraMetadata:v1.2"> : : : V-LogL : : : V-Gamut : : : : : : Duration: 00:00:51.36, start: 0.00, bitrate: 152983 kb/s Stream #0:0(und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p10le( pc, bt709), 3328x2496 [SAR 1:1 DAR 4:3], 149773 kb/s, 25 fps, 25 tbr, 90k tbn, 5 0 tbc (default) Metadata: creation_time : 2019-01-03T06:32:13.00Z timecode : 19:15:30:18 Stream #0:1(und): Audio: pcm_s16be (