2012-08-30 4 views
0

나는 libavcodec를 사용하여 캡처 한 창 화면을 x264로 인코딩을 수행하고 있습니다. 입력이 RGB이기 때문에 x264와 호환되도록 YUV로 변환합니다. 같은 sws_scale 함수를 사용하고 있습니다. 필자의 경우 스케일링이 필요하지 않기 때문에이 함수에 대한 대안이 있다면 제 질문입니다. 또한 누군가가이 기능의 워크 플로우에 불을 붙일 수 있다면 유용 할 것입니다.sws_scale에 대체

P.S : x264가 YUV 색 공간에서만 작동한다고 가정합니다. 이 가정이 틀린 경우, 동일하게 알려주십시오.

미리 감사드립니다.

답변

0

swscale에 대한 대안을 찾을 수 없었습니다. 라이브러리에서 사용되는 다른 모든 알고리즘은 빠른 바이 리니어 알고리즘 (스케일링 용)을 제외하고는 거의 무시할 수있는 색상 이동을 제공합니다.
또한 RGB에서 YUV 색상 공간으로 변환 할 수 없습니다 (수학 방정식의 근사값으로 인해).
P.S : RGB 버전의 libx264/libavcodec을 사용할 수 없습니다. 구현 방법 및 창에서 해당 버전을 빌드하는 방법에 대한 세부 정보가 있으면 해당 링크/정보를 게시하십시오.

0

P .: 나는 x264가 YUV 색 공간에서만 작동한다고 가정합니다. 이 가정이 틀린 경우, 동일하게 알려주십시오.

libx264 지원 I420/YV12/NV12/I422/YV16/NV16/I444/YV24/BGR24/BGR32/RGB24 YUV 4로 인코딩 된 입력 컬러 공간 : 2 : 0/YUV 4 : 2 : 2/YUV 4 : 4 : 4/RGB (params에 지정해야 함). 그러나 YUV 4 : 2 : 0을 제외한 모든 것은 높은 프로필이지만 새로운 프로필 (높은 4 : 2 : 2 및 높은 4 : 4 : 4 프로필)의 일부가 아니기 때문에 디코더에서 지원해야합니다.