SETPARAMS filter: ... No, it doesn't work. Adds missing Matrix coefficients: but Transfer characteristics: is still PQ
Posts by rif
-
-
-
Thanks VOUK!
I'll try itBut I still haven't understood how the Vegas Pro data feed coming into Voukoder is handled.
What is important in Vegas Pro project settings (File->Properties) for Voukoder rendering?
I want to get 10bit, HLG (HDR) real rendering through Voukoder.
Nr 2. has four options (8bit... video levels or full range and 32 bit floating points... video levels or full range)
Nr 1. (HDR mode) HLG cannot be selected if Nr 2. (Pixel format) is not selected to 32bit floating point (full range)
Nr 3. Will it send Rec. 2020, HLG, 1000nit to Voukoder for rendering?
OK, IN CONCLUSION!
Two weeks of testing to get faster rendering with GPU/AMD (I haven't tested GPU/NVIDIA)If you choose the project settings as shown in the picture and you want to customize the levels and colors in Vegas and you want to render the correct result (with or without Voukoder).
....
Then ... in Vegas Pro, select on menu Options -> Preferences.
Select "Video" tab and set "GPU acceleration of video processing" to OFF.
Restart Vegas!If you don't make color corrections in Vegas, it seems that the final result will be rendered and displayed in Vegas with the correct levels and colors. Maybe don't have to change "GPU acceleration of video processing" to OFF.
In voukoder, you could probably choose x256 (cpu) rendering. (good but slow)NB! I haven't yet tested what happens when AMD (GPU) is chosen for rendering instead in Voukoder.
-
If someone has a similar case with Voukoder when rendering in Vegas Pro (as I have described before),
selecting from Voukoder (AMD (GPU) -> HEVEC -> Format p010le- YUV 4:2:0(10-bit, 3 channel, Planar)
and AMD encoder will insert the wrong flags in the metadata of the rendered file in the case of HLG (HDR, Hybrid log–gamma, ARIB STD-B67, BT.2020) !!Then: Try "Windows Commant Prompt" with this ffmpeg command line, for a file that has already been rendered (it will only change HEVEC Metadata without re-rendering the file). It worked for me, and Videoplayers will play the copied file correctly.
NB! You have to set the input file and output file path yourself. -
-
Thank you VOUK... this means that in Vegas it would be useful to put a 32 bit float (when i have 10bit materjal in timeline), then 10bit from the Voukoder Encoder before the final render. I guess I understand correctly? (I can't send 10bit out of Vegas. Only 8bit and 32bit are selectable.)
-
==================================================
I will not leave my Estonian stubbornness
==================================================I asked ChatGPT similar questions out of curiosity (especially regarding hevc_amf GPU rendering, HLG BT.2020... ARIB_STD_B67 format)

Don't criticize me!
I know that AI tends to mess everything up.
But maybe there are things there that we haven't noticed ourselves.
I don't know. Everything seems mixed up like potatoes and cabbage in a pot.
Code
Display MoreChatGPT: Yes — there is a solution, and the Voukoder developer’s answer is only partially correct. AMD AMF is not fundamentally incapable of handling HLG. AMD’s official AMF interface includes the HLG value ARIB_STD_B67. It also allows the BT.2020 output profile to be specified, which controls the HEVC matrix_coefficients field. AMD AMF documentation FFmpeg 8.0’s hevc_amf implementation also passes the following information to the encoder: color_trc, meaning the HLG/PQ transfer characteristic; color_primaries; the color profile from which AMF generates the matrix_coefficients field. This can be seen directly in FFmpeg’s source code. FFmpeg 8.0 hevc_amf source code -------------------------------- Therefore, the most likely actual cause is: (COMMENT: And where is it taken from? FROM THE VOCODER FORUM?) The raw-frame path from VEGAS through Voukoder is not correctly propagating the Scene’s color information into the encoder’s AVCodecContext fields. When using Transkoder, the same information is already present in the input file and is therefore passed through correctly. This fits the described behavior much better than the claim that “AMF simply cannot handle HLG.” ------------------------------------------- Immediate solution for the AMF render An AMF-rendered file with an incorrect PQ tag can be corrected afterward without re-encoding the video. FFmpeg’s hevc_metadata bitstream filter modifies the HEVC VUI fields without decoding or recompressing the video. FFmpeg documentation Use this as a single command line in PowerShell: ffmpeg -i "render_AMF.mp4" -map 0 -map_metadata 0 -c copy -bsf:v "hevc_metadata=video_full_range_flag=0:colour_primaries=9:transfer_characteristics=18:matrix_coefficients=9" -color_range tv -color_primaries bt2020 -color_trc arib-std-b67 -colorspace bt2020nc -movflags +faststart "render_AMF_HLG_fixed.mp4" The values mean: video_full_range_flag=0 = Limited/TV range colour_primaries=9 = BT.2020 transfer_characteristics=18 = HLG / ARIB STD-B67 matrix_coefficients=9 = BT.2020 non-constant This does not modify the video frames or reduce their quality. The HEVC video and audio packets are copied, and only the color signalling is corrected. I tested the same method in practice: the corrected file was identified as tv, bt2020nc/bt2020/arib-std-b67. There is one important limitation: this should only be done if VEGAS actually produced HLG picture data and only the metadata tags are incorrect. If ACES or VEGAS converted the actual pixel values to PQ, changing the tags alone cannot restore the correct image. ---------------------------------- The x265 alternative (AI takes the answer from the VOUKODER FORUM :D) The existing x265 solution is also correct: colorprim=bt2020:transfer=arib-std-b67:colormatrix=bt2020nc:range=limited Using CRF 15, the slow preset, and Main10 will produce a very high-quality result. However, it is still a new lossy encode, not a bit-for-bit copy of the original. Setting level=5.1 and tier=high does not improve picture quality. These settings only declare the decoder and bitrate constraints of the stream. -------------------------------------------------==================================================
ChatGPT: Reply that can be posted in the Voukoder forum:
Code
Display MoreThe conclusion that “AMF cannot tag HLG” appears to be too broad. AMD’s current AMF API explicitly supports AMF_COLOR_TRANSFER_CHARACTERISTIC_ARIB_STD_B67, and AMF_VIDEO_ENCODER_HEVC_OUTPUT_COLOR_PROFILE determines the HEVC VUI matrix_coefficients value. FFmpeg 8.0’s hevc_amf implementation also passes avctx->color_trc to AMF_VIDEO_ENCODER_HEVC_OUTPUT_TRANSFER_CHARACTERISTIC, passes avctx->color_primaries, and derives the AMF output color profile from avctx->colorspace and avctx->color_range. Therefore, this looks more like the VEGAS/raw-frame path is not transferring the Scene color values into the encoder’s AVCodecContext before hevc_amf is initialized. That would also explain why Transkoder works: its input stream already supplies those codec parameters. -------------------------------------------------- There is also a lossless workaround after AMF encoding: ffmpeg -i "render_AMF.mp4" -map 0 -map_metadata 0 -c copy -bsf:v "hevc_metadata=video_full_range_flag=0:colour_primaries=9:transfer_characteristics=18:matrix_coefficients=9" -color_range tv -color_primaries bt2020 -color_trc arib-std-b67 -colorspace bt2020nc "render_AMF_HLG_fixed.mp4" This rewrites the HEVC VUI as Limited-range BT.2020 HLG/BT.2020-non-constant without re-encoding the pictures. ----------------------------------------------------- A useful Voukoder-side solution would therefore be either: propagate the Video Input color fields into the encoder context before opening hevc_amf; or provide an optional hevc_metadata bitstream-filter node between the encoder and muxer.He doesn't give any reference from which he puts together his answer.

==============================================================PS! I found a couple of interesting writings to get the (AMD/amf HEVC h.256) metadata right.
But I haven't tried it yet.
How to add colour space metadata to an HEVC/H265 file with ffmpeg
andHow to Change Video Color Matrix with FFmpeg - ffmpegAdjusting color matrix coefficients in standard definition (SD) video is critical for avoiding washed-out colors or improper tinting during playback or…salivity.github.io -
Thank you very much for the tutorials!
Is it possible to forcibly change the metadata of the final file after rendering the AMD/amf gpu?
(Change Transfer characteristics: to HLG and add Matrix coefficients: BT.2020 non-constant, without re-rendering the video)PS! The bit rate is tuned to reach about 80-90Mbs. CQP or CBR/CQP and 10-bit is selected (source 3840x2160, FPS 29.970 (NTSC) 4:2:0, 10bit).
Which is the better option ... libx265 (cpu - slow rendering) vs. AMD HEVC (gpu - fast rendering) to maintain the best quality for encoding later into other formats or reusing in a video editor.
But I don't want larger files than the original material (Osma pocket 3: 10bit, 4k, Overall bit rate 83.2 Mb/s, HLG, (mp4 HEVEC))
NB! it is not necessary that the final rendering is in the MP4 container (if that changes something, oh... OK, Vegas Pro doesn't like MKV files).AND MORE! There was also a question about what settings in the Vegas Pro project settings (or also in the Vegas rendering template settings) are important when rendering with Voukoder... for example: if I have 8bit set in the Vegas project settings, will the raw material output to 8bit or does it not matter to get a 10bit final render? Considering that Voukoder already has 10bit set to the encoder.
Thank you in advance if anyone has any recommendations

-
OK!
Second attempt:
libX265 CPU rendering. (Still for rendering Osmo Bocket 3 10bit HLG files out of Vegas without losing quality.)Just in case, I will also put here the metadata of the original file that has been imported to Vegas (Metainfo v26.05):
Code
Display MoreGeneral Complete name : D:\0-AudioVideoProjects\VideoProj\PROOV\DJI_20260407172127_0629_D.MP4 Format : MPEG-4 Format profile : Base Media Codec ID : isom (isom/iso2/mp41) File size : 283 MiB Duration : 28 s 565 ms Overall bit rate : 83.2 Mb/s Frame rate : 29.970 FPS Encoded date : 2026-04-07 14:21:28 UTC Tagged date : 2026-04-07 14:21:28 UTC Writing application : DJI OsmoPocket3 Cover : Yes Cover type : Cover snal : (Binary) tnal : (Binary) Video ID : 1 Format : HEVC Format/Info : High Efficiency Video Coding Format profile : Main 10@L5@High Codec ID : hvc1 Codec ID/Info : High Efficiency Video Coding Duration : 28 s 529 ms Bit rate : 80.1 Mb/s Width : 3 840 pixels Height : 2 160 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 29.970 (30000/1001) FPS Original frame rate : 29.970 (29970/1000) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 10 bits Bits/(Pixel*Frame) : 0.322 Stream size : 272 MiB (96%) Encoded date : 2026-04-07 14:21:28 UTC Tagged date : 2026-04-07 14:21:28 UTC Color range : Limited Color primaries : BT.2020 Transfer characteristics : HLG Matrix coefficients : BT.2020 non-constant Codec configuration box : hvcC Audio ID : 2 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 28 s 565 ms Bit rate mode : Constant Bit rate : 317 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Frame rate : 46.875 FPS (1024 SPF) Compression mode : Lossy Stream size : 1.08 MiB (0%) Default : Yes Alternate group : 1 Encoded date : 2026-04-07 14:21:28 UTC Tagged date : 2026-04-07 14:21:28 UTC Other #1 ID : 3 Type : meta Format : djmd Codec ID : djmd Duration : 28 s 529 ms Bit rate mode : Variable Stream size : 48.4 KiB (0%) Title : DJI meta Default : No Alternate group : 5 Encoded date : 2026-04-07 14:21:28 UTC Tagged date : 2026-04-07 14:21:28 UTC Other #2 ID : 4 Type : meta Format : dbgi Codec ID : dbgi Duration : 28 s 529 ms Bit rate mode : Variable Stream size : 8.42 MiB (3%) Title : DJI dbgi Default : No Alternate group : 5 Encoded date : 2026-04-07 14:21:28 UTC Tagged date : 2026-04-07 14:21:28 UTC Other #3 ID : 6 Type : Time code Format : QuickTime TC Duration : 28 s 529 ms Frame rate : 29.970 (30000/1001) FPS Time code of first frame : 11:47:51;26 Time code of last frame : 11:48:20;12 Time code, stripped : Yes Default : No Alternate group : 2 Encoded date : 2026-04-07 14:21:28 UTC Tagged date : 2026-04-07 14:21:28 UTC Image Type : Cover Format : JPEG Muxing mode : moov-meta-covr Width : 1 280 pixels Height : 720 pixels Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Compression mode : Lossy Stream size : 657 KiB (0%)NB! I don't know what data is being sent from Vegas to Voukoder.
I set in Vegas as the project settings -->
Pixel Format: 32bit floating point (full range),
HDR Mode:HLG,
Compositing gamma: 1,000 (linear),
ACES: 1.2,
ACES color: Default (ACES2065-1),
View transform: Rec.2020 HLG 1000nitsJust in case, I'm going to change the Vegas render profile (Project tab) -->
Color space: Rec.2020 HLG 1000nits,
Color range (YCbCr output): Limited (Default) ... (I don't know what would happen if I selected "Full" from the drop-down menu.)In order to obtain the same metadata as the original file when rendering in Voukoder, I had to create the following lines:
X265 params:
colorprim=bt2020:colormatrix=bt2020nc:transfer=arib-std-b67
And to get the rendered file into the metadata - Format profile: Main 10@L5@High (it turned out that it was Main 10@L5.1@High).
I had to add:
level=5.1:profile=main10:tier=high
The rest of the parameters, if anyone is interested:
"passes": 1,
"rc": 0,
"crf": 15,
"g": 10,
"bf": 0,
"preset": "slow",
"profile": "main10",PS! You can't really choose anything more from there, because there are no drop-down menus and descriptions, unlike Voukoder's old free versions :).
But my question is:
Is the rendered video ... Vegas-out -> Voukoder-in -> ffmpg-out -> Remux-> rendered fail(mp4, mov, .etc) as desired and close to the original?
And well, a rendered video file is not really the kind that needs these metadata. -
Hello!
Specifications:
Vegas pro ver 22 - 2026
Metainfo v26.05
Voukoder pro (Experiments)
PS! I have AMD Ryzen 7 7840U RAM 64GB / Radeon 780M Graphic 16GB, Windows11 Home 25H2, AMD drivers latestI use Osmo Bocket 3 10bit HLG (HVEC) video files in Vegas.
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : HLG
Matrix coefficients : BT.2020 non-constantI want to render a video file from Vegas that would have the same metadata as the original. It would be nice if the final rendering was of the same quality as the original material. For archiving but also for viewing.
At the moment I'm trying an AMD/amf (GPU) HEVC encoder.
No matter how I try, "Transfer characteristics: HLG" is replaced by PQ.
"Matrix coefficients: BT.2020 non-constant" is missing from the metadata at all.I tried to change the Scene - Video Input params ...
Colors Range - limited,
Color space: Matrix - BT.2020nc, Primaries - BT.2020, Trasfer - ARIB STD B67.But that didn't change anything. It still turns out that "Transfer characteristics:" are PQ and "Matrix coefficients:" are missing.
In video players, the colors are therefore incorrect.If I select the same video file in Voukoder Pro Transcoder and render it with the same "Scene", then everything is in place as it should be.
Here's my Scene profile ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::)
Code
Display More{ "name": "AMD265-BestQuality(10bit FLAC-audio)", "nodes": [ { "id": "258ecdf2-97fb-41ed-a975-3ac2e368c12a", "type": "input", "mediaType": "video", "pos": { "x": -100.0, "y": -78.0 }, "data": { "tracks": [], "color": { "range": "tv", "matrix": "bt2020nc", "primaries": "bt2020", "transfer": "arib-std-b67" } }, "inputs": [], "outputs": [ [ "9bc84f5b-ec0c-4ced-af7c-d19dfb40e39c" ] ] }, { "id": "3c0faf97-aa2a-4cde-9e10-c61deef3f7bf", "type": "input", "mediaType": "audio", "pos": { "x": -100.0, "y": 32.0 }, "data": { "tracks": [], "channelLayout_5_1": "5.1" }, "inputs": [], "outputs": [ [ "5d9e1d39-e394-4e04-81e5-71074c8b42df" ] ] }, { "id": "4c3341e5-e2a8-4eb7-aa9d-dff6acc6c4a1", "type": "encoder", "mediaType": "video", "pos": { "x": 88.0, "y": -73.0 }, "data": { "id": "hevc_amf", "params": { "rc": "cqp", "qp_i": 14, "qp_p": 16, "g": 10, "bf": 0, "usage": 0, "bitdepth": 10, "profile": 2, "profile_tier": 1, "quality": 0, "preset": 0, "high_motion_quality_boost_enable": true, "preencode": true, "vbaq": true, "pa_lookahead_buffer_depth": 40, "pa_taq_mode": 2 }, "format": "p010le", "codec_tag": 828601960 }, "inputs": [ [ "9bc84f5b-ec0c-4ced-af7c-d19dfb40e39c" ] ], "outputs": [ [ "acca6e5e-051b-475f-8cbd-868c7654ae7b" ] ] }, { "id": "bcc0a192-17c9-4d73-9804-2c727f2da9cf", "type": "encoder", "mediaType": "audio", "pos": { "x": 90.0, "y": 32.0 }, "data": { "id": "flac", "params": { "compression_level": 2 }, "format": "s16", "codec_tag": 1130450022 }, "inputs": [ [ "5d9e1d39-e394-4e04-81e5-71074c8b42df" ] ], "outputs": [ [ "aa35068e-f6f9-4c33-8427-97bd677c0b5b" ] ] }, { "id": "d1bbab68-0036-44a0-9da9-a379772bc2b4", "type": "muxer", "mediaType": "mux", "pos": { "x": 330.0, "y": -40.0 }, "data": { "id": "mp4", "params": {} }, "inputs": [ [ "acca6e5e-051b-475f-8cbd-868c7654ae7b" ], [ "aa35068e-f6f9-4c33-8427-97bd677c0b5b" ] ], "outputs": [ [ "3dbf857e-d06d-4047-9c8c-5c274bccf9c2" ] ] }, { "id": "c44d1843-99ab-4c57-ad2a-36588ec2e7a8", "type": "output", "mediaType": "mux", "pos": { "x": 530.0, "y": -40.0 }, "data": { "id": "file", "url": "${OutputFile.Absolute}", "params": { "_host": "127.0.0.1", "_port": 1234 } }, "inputs": [ [ "3dbf857e-d06d-4047-9c8c-5c274bccf9c2" ] ], "outputs": [] } ] }