Use correct chroma co-siting offsets in Metal

This commit is contained in:
Cameron Gutman
2025-11-04 23:51:39 -06:00
parent fd314db27e
commit 181dba5864
2 changed files with 18 additions and 20 deletions
@@ -317,28 +317,28 @@ public:
switch (frame->chroma_location) {
default:
case AVCHROMA_LOC_LEFT:
paramBuffer.chromaOffset[0] = 0;
paramBuffer.chromaOffset[1] = 0.5;
paramBuffer.chromaOffset[0] = 0.5;
paramBuffer.chromaOffset[1] = 0;
break;
case AVCHROMA_LOC_CENTER:
paramBuffer.chromaOffset[0] = 0;
paramBuffer.chromaOffset[1] = 0;
break;
case AVCHROMA_LOC_TOPLEFT:
paramBuffer.chromaOffset[0] = 0.5;
paramBuffer.chromaOffset[1] = 0.5;
break;
case AVCHROMA_LOC_TOPLEFT:
paramBuffer.chromaOffset[0] = 0;
paramBuffer.chromaOffset[1] = 0;
break;
case AVCHROMA_LOC_TOP:
paramBuffer.chromaOffset[0] = 0.5;
paramBuffer.chromaOffset[1] = 0;
paramBuffer.chromaOffset[0] = 0;
paramBuffer.chromaOffset[1] = 0.5;
break;
case AVCHROMA_LOC_BOTTOMLEFT:
paramBuffer.chromaOffset[0] = 0;
paramBuffer.chromaOffset[1] = 1.0;
paramBuffer.chromaOffset[0] = 0.5;
paramBuffer.chromaOffset[1] = -0.5;
break;
case AVCHROMA_LOC_BOTTOM:
paramBuffer.chromaOffset[0] = 0.5;
paramBuffer.chromaOffset[1] = 1.0;
paramBuffer.chromaOffset[0] = 0;
paramBuffer.chromaOffset[1] = -0.5;
break;
}