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
(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) >> >> >> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >> >