On Mon, Nov 11, 2024 at 8:43 PM Terje J. Hanssen <[email protected]> wrote:
> > > > Den 09.11.2024 17:16, skrev Andrew Randrianasulu: > > > > сб, 9 нояб. 2024 г., 19:10 Terje J. Hanssen <[email protected]>: > >> >> >> >> Den 09.11.2024 10:48, skrev Terje J. Hanssen: >> >> >> >> >> Den 09.11.2024 00:10, skrev Andrew Randrianasulu: >> >> >> >> сб, 9 нояб. 2024 г., 01:58 Terje J. Hanssen <[email protected]>: >> >>> >>> >>> >>> Den 07.11.2024 22:53, skrev Terje J. Hanssen: >>> >>> >>> >>> >>> Den 07.11.2024 20:41, skrev Andrew Randrianasulu: >>> >>> >>>>> >>>> >>>> sorry I mean set like this >>>> export CIN_10BIT_ENC=1 >>>> >>>> >>>> >>>> Now hevc_vaapi was able to render to yuv420p10le, that is 10-bit 420p, >>>> by selecting pixels p010le. >>>> Also rendering with pixels y210 resulted in yuv420p10le, that is not >>>> 10-bit 422p as for hevc_qsv below. >>>> >>>> I would assume this is caused due to the incomplete hevc_vapi.mp4 >>>> preset as shown below? >>>> >>> >>> More like incomplete code that does not yet know how to get custom >>> format ... so far as name says it only adds 10bit 4:2:0 encoding, not >>> 4:2:2 subsampling. >>> >>> >>> can you test other vaapi/qsv profiles too? >>> >>> >>> also with test picture actually containing more than 8bit values? ;) >>> >>> >>> To the latter; the input file cfhd01.mkv was 10bit 422: yuv422p10le >>> >>> Maybe have a look at and compare with the hevc_qsv code that managed >>> 10bit 422: yuv422p10le? >>> >>> >>> >>> Summary >>> ---------------- >>> >>> hevc_vaapi.mp4 and av1_vaapi.mp4 >>> Pixels: vaapi (default and only option) works and results in yuv420p >>> p010 or p010le written works and result in yuv420p10le >>> y210 or all variants y210le/Y210/le render (with >>> fallback) to yuv420p10le >>> >>> h264_vaapi.mp4 didn't render (error message) >>> >> >> yeah, no 10bit h264 here (while possible by spec) >> >> >> >>> av1_qsv.mp4 is for external ffmpeg >>> >> >> if you still have my onevpl patch applied (and enabled it earlier with >> configure switch) too - qsv should work ... >> >> try it too just in case? >> >> >> av1_qsv.mp4 >> Would not render at all >> >> [av1_qsv @ 0x7fe19826f240] Current picture structure is unsupported >> [av1_qsv @ 0x7fe19826f240] some encoding parameters are not supported by >> the QSV runtime. Please double check the input parameters. >> FFMPEG::open_encoder err: Function not implemented >> int FFMPEG::open_encoder(const char*, const char*): >> open failed av1_qsv:/Videoklipp/Cineform/cfhd01_av1_qsv_pix_nv12.mp4 >> Render::render_single: Session finished. >> >> >> hevc_qsv.mp4 >> Does render, but only to yuv420p now. >> For one or another reason pixel formats p010le and y210le results in >> yuv420p. >> That is I am not able to reconstruct the previous 10bit results below. >> I do another attempt next day. >> >> >> >> hevc_qsv.mp4 revised: >> pixel formats p010le and y210le render again to yuv420p10le and >> .yuv422p10le respectively >> Woops; only when these window lines are commented out as written in my >> previous post ! >> >> # profile=main >> # cin_pix_fmt=nv12 >> >> Works both with and without >> export CIN_10BIT_ENC=1 >> before cin/bin >> > > > we most likely will need new profiles for 10bit everything anyway ... > > thanks for continued (and very exhaustive!) testing > > > Also the preset's combination of pixel formats and the right (ffmpeg) > codec profiles would need an overhaul. > > As mentioned already above: > > hevc_qsv.mp4 revised: > pixel formats p010le and y210le render again to yuv420p10le and > .yuv422p10le respectively > Woops; only when these window lines are commented out as written in my > previous post ! > > # profile=main > # cin_pix_fmt=nv12 > > > I experimented additional and got > > y210/profile=1 ==> yuv422p10le > > y210/ profile=main10/ profile=2/ profile=3 ==> yuv420p10le > > I got similar results with my own dynamic Cingg built with ffmpeg 7.1. > > -------------------------- > > So a question beside: > > Yesterday I did a new (monthly) upgrade of Tumbleweed-Slowroll, which > replaced Packman package libs and ffmpeg 7.1 > > After that, the static Cingg with onevpl and 10bit patch would not render > hevc_qsv. > > Today's upgrade with new Packman packages up-to-date with the new Slowroll > version, and now Cingg worked as before: > > ffmpeg-7 ffmpeg-7-libavcodec-devel ffmpeg-7-libavdevice-devel > ffmpeg-7-libavfilter-devel > ffmpeg-7-libavformat-devel ffmpeg-7-libavutil-devel > ffmpeg-7-libpostproc-devel ffmpeg-7-libswresample-devel > ffmpeg-7-libswscale-devel libavcodec61 libavdevice61 libavfilter10 > libavformat61 libavutil59 libpostproc58 > libswresample5 libswscale8 > > So even Cingg with onevpl is static built, it looks like it is dependent > of one or more system packages/libs beside? > Any idea what packages it can be ? > onevpl/vaapi/vdpau - they all linked dynamically (not sure if static version of them even possible) > > > > >> >> >> >> >> >> >> >>> >>> >>> (probably made up something in GIMP 2.10, save as tiff/EXR, import in >>> cingg, set format to rgba-float, rendrer ..... hm, may be use YUView to see >>> pixel values independently of cinelerra's decoding abilities? a bit of >>> adventure, but should provide some proof about encoding) >>> >>> >>>> ffprobe -hide_banner cfhd01_hevc_vaapi_pix_p010le.mp4 >>>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from >>>> 'cfhd01_hevc_vaapi_pix_p010le.mp4': >>>> Metadata: >>>> major_brand : isom >>>> minor_version : 512 >>>> compatible_brands: isomiso2mp41 >>>> encoder : Lavf61.1.100 >>>> Duration: 00:01:11.20, start: 0.000000, bitrate: 11082 kb/s >>>> Stream #0:0[0x1](und): Video: hevc (Main 10) (hev1 / 0x31766568), >>>> yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), >>>> 1920x1080 [SAR 1:1 DAR 16:9], 11080 kb/s, 25 fps, 25 tbr, 12800 tbn >>>> (default) >>>> Metadata: >>>> handler_name : VideoHandler >>>> vendor_id : [0][0][0][0] >>>> >>>> ffprobe -hide_banner cfhd01_hevc_vaapi_pix_y210.mp4 >>>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from >>>> 'cfhd01_hevc_vaapi_pix_y210.mp4': >>>> Metadata: >>>> major_brand : isom >>>> minor_version : 512 >>>> compatible_brands: isomiso2mp41 >>>> encoder : Lavf61.1.100 >>>> Duration: 00:01:11.20, start: 0.000000, bitrate: 11082 kb/s >>>> Stream #0:0[0x1](und): Video: hevc (Main 10) (hev1 / 0x31766568), >>>> yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), >>>> 1920x1080 [SAR 1:1 DAR 16:9], 11080 kb/s, 25 fps, 25 tbr, 12800 tbn >>>> (default) >>>> Metadata: >>>> handler_name : VideoHandler >>>> vendor_id : [0][0][0][0] >>>> >>>> >>>>> ----- >>>>> >>>>> No hevc_vaapi 10bit worked: >>>>> >>>>> localhost:/Cin/ffmpeg/video # cat hevc_vaapi.mp4 >>>>> mp4 hevc_vaapi >>>>> # cin_hw_dev=vaapi >>>>> >>>>> I tested hevc_vaapi.m4 and tried to write p010 both in the pixels >>>>> field and as format=p010 in the widget, >>>>> but only 8bit 420p each time. >>>>> >>>>> ------------------------------- >>>>> >>>>> hevc_qsv 10 bit worked with p010 and with y210 >>>>> >>>>> localhost:/Cin/ffmpeg/video # cat hevc_qsv.mp4 >>>>> # only usable with ext. ffmpeg, another pixfmt is yuyv422 >>>>> mp4 hevc_qsv >>>>> # profile=main >>>>> # cin_pix_fmt=nv12 >>>>> >>>>> >>>>> ffprobe -hide_banner cfhd01_hevc_qsv_pix_p010le.mp4 >>>>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from >>>>> 'cfhd01_hevc_qsv_pix_p010le.mp4': >>>>> Metadata: >>>>> major_brand : isom >>>>> minor_version : 512 >>>>> compatible_brands: isomiso2mp41 >>>>> encoder : Lavf61.1.100 >>>>> Duration: 00:01:11.20, start: 0.000000, bitrate: 28276 kb/s >>>>> Stream #0:0[0x1](und): Video: hevc (Main 10) (hev1 / 0x31766568), >>>>> yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), >>>>> 1920x1080 [SAR 1:1 DAR 16:9], 28273 kb/s, 25 fps, 25 tbr, 12800 tbn >>>>> (default) >>>>> Metadata: >>>>> handler_name : VideoHandler >>>>> vendor_id : [0][0][0][0] >>>>> >>>>> >>>>> ffprobe -hide_banner cfhd01_hevc_qsv_pix_y210le.mp4 >>>>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from >>>>> 'cfhd01_hevc_qsv_pix_y210le.mp4': >>>>> Metadata: >>>>> major_brand : isom >>>>> minor_version : 512 >>>>> compatible_brands: isomiso2mp41 >>>>> encoder : Lavf61.1.100 >>>>> Duration: 00:01:11.20, start: 0.000000, bitrate: 32074 kb/s >>>>> Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 / 0x31766568), >>>>> yuv422p10le(tv, bt709/unknown/unknown, top coded first (swapped)), >>>>> 1920x1080 [SAR 1:1 DAR 16:9], 32071 kb/s, 25 fps, 25 tbr, 12800 tbn >>>>> (default) >>>>> Metadata: >>>>> handler_name : VideoHandler >>>>> vendor_id : [0][0][0][0] >>>>> >>>>> >>>>>> >>>>>> you also can set bin/ffmpeg/encode.opts loglevel to debug, but render >>>>>> exactly one frame so log will be smaller. >>>>>> >>>>>> >>>>>> How to render render exactly one frame ? >>>>>> >>>>> >>>>> In render dialog window there is selection of render range with 4 >>>>> choices ... 1 frame mp4/webm should be perfectly legal :) >>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> "git log" where? >>>>>>>> >>>>>>> >>>>>>> >>>>>>> in cinelerra-5.1 directory, or some down the hierarchy ... >>>>>>> >>>>>>> this is command, part of git suite of commands. >>>>>>> >>>>>>> displays log of commits in git repo. (for me it uses l"less" as >>>>>>> pager, so you can scroll around and search) >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >>> >> >> >
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

