OBS Issues When Using dnxhr_hqx codec

Ethan2Piece

New Member
Hi All,

I am trying to export a video recording using the dnxhr_hqx video encoder. I can export the dnxhr_hq codec perfectly fine no problems and it is awesome and fluent to edit in, but as soon as I change it to either hqx or 444 i get the following error:

1727780661020.png


The reason I am trying to use the hqx is because I would like the 10-bit colour depth (really 12-bit) where as the hq version only has8-bit colour depth. Below are my settings where I successfully output to hq every time.

1727780730859.png


As soon as I try to change to hqx or 444 i get the error above. Does anyone know a fix or workaround for this?

1727780816040.png

1727780949813.png

1727781392631.png
 
Last edited:

Suslik V

Active Member
You likely using 8-bit canvas in OBS. Properties, such as: "bitness", color planes etc, for the OBS canvas are set in Settings > Advanced > Color Format
 

Ethan2Piece

New Member
You likely using 8-bit canvas in OBS. Properties, such as: "bitness", color planes etc, for the OBS canvas are set in Settings > Advanced > Color Format
Perfect response mate. Worked perfeclty after changing. Thankyou very much, I couldn't find an answer anywhere.
1727785614495.png


1727785630429.png


Would you be able to tell me the difference between 10-bit 2 plane vs 10-bit 3 plane? I've never seen plances in relation to colour bits. Thanks again.
 

koala

Active Member
This is about internal memory layout of one video frame. In short, it's the number of arrays used for storage. In a 3 plane color format, luma (brightness information) is stored in one plane, and the two chroma components (Cr and Cb) each in a separate plane. In a 2 plane color format, the two Cr and Cb components are merged into one array, so it's one plane for luma and one plane for chroma.
This might be relevant for hardware processing - some hardware has accelerated/generic support for one layout, but not for the other. And it is relevant if some processing step supports one format but not the other, so each frame has to be converted to the supported format.

In general, you want the same format throughout the whole processing chain to avoid conversions, and it should be the one that's best and completely supported by the hardware. For 8-bit format that's NV12, for 10-bit format that's p010.

In depth explanation about color formats:
 

Ethan2Piece

New Member
This is about internal memory layout of one video frame. In short, it's the number of arrays used for storage. In a 3 plane color format, luma (brightness information) is stored in one plane, and the two chroma components (Cr and Cb) each in a separate plane. In a 2 plane color format, the two Cr and Cb components are merged into one array, so it's one plane for luma and one plane for chroma.
This might be relevant for hardware processing - some hardware has accelerated/generic support for one layout, but not for the other. And it is relevant if some processing step supports one format but not the other, so each frame has to be converted to the supported format.

In general, you want the same format throughout the whole processing chain to avoid conversions, and it should be the one that's best and completely supported by the hardware. For 8-bit format that's NV12, for 10-bit format that's p010.

In depth explanation about color formats:
Thanks for the detailed response! I’m going to have to read that back a few times to properly understand ahah. Appreciate the help.
 
Top