0

내가 읽었던 reference에 따르면 일부 평면 YUV 형식 (예 : UYVY)은 여러 픽셀에 대한 데이터를 포함하는 매크로 픽셀을 사용합니다. 구체적으로 UYVY의 경우 픽셀 당 휘도 값과 U와 V 샘플을 포함합니다 수평 픽셀.UYVY (YUV 4 : 2 : 2, Y422, UYNV, HDYC) 컬러 시스템은 홀수 픽셀 수를 어떻게 처리합니까?

치수가 2로 나눌 수없는 경우 비디오에 어떤 값을 사용해야하는지 설명되어 있습니다. 예를 들어, 프레임의 너비가 홀수 인 경우 각 라인의 마지막 매크로 픽셀이 두 번째 Y 값은 디코딩 중에 무시되어야한다고 가정해야합니까? Y 값을 (예 : 0)으로 설정해야하는 표준이 있습니까?

매크로 픽셀 을 수행하는 경우 할 경우, 홀수 픽셀 수 (예 : 51x51)의 프레임 크기에서 최종 매크로 픽셀의 경우는 어떻게되어야합니까?

답변

2

나는 Freenode IRC의 #ffmpeg에 대해 물었고 iive라는 친절한 사람이 나에게 몇 가지 답변을 주었다.

각 행은 별도로 처리되므로 한 행에서 다음 행까지의 매크로 픽셀에 값을 래핑 할 필요가 없습니다. 홀수 프레임 너비의 경우 마지막 픽셀의 Y 값이 복제됩니다. 따라서 YUV 값이 [123, 45, 67] 인 픽셀이 줄 끝에있는 경우 UYVY 매크로 픽셀의 값은 [45, 123, 67, 123]입니다.

SIMD 명령어가 정렬 된 데이터에서만 작동하도록 각 프레임 라인을 경계에 정렬하기 위해 각 라인의 데이터 끝에 패딩이있을 수도 있습니다. 이것은 사용중인 정확한 형식에 따라 다릅니다.