webm 비디오로 전환해야하는 jpg를 생성하는 앱이 있습니다. jpegs에서 rgb 데이터를 vpxenc 샘플로 가져 오려고합니다. 출력 비디오에서 원래 jpg의 기본 모양을 볼 수 있지만 모든 것이 녹색으로 착색됩니다 (검은 색이어야하는 픽셀조차도 중간 정도 녹색 임). 그리고 다른 모든 스캔 라인에는 일부 쓰레기가 있습니다.은 RGB 프레임에서 webm 비디오를 생성해야합니다.
I는 그것을 VPX_IMG_FMT_YV12 I 그래서 같이 구성된다 믿고있어 데이터를 공급하는 것을 시도하고, 각 프레임에 대한
8 비트 Y의 데이터를 각각 2 × V 블록 8 비트 평균 8-
그것은 enti가있다 : U 여기
을 차단 각각 2 × 2의 비트 평균은 나오고 소스 이미지와 비디오의 스크린 샷입니다 RGB-> YV12 변환을 잘못하고있을 가능성이 있습니다. 그러나 8 비트 Y 데이터 만 인코딩하고 U 및 V 블록을 0으로 설정하더라도 비디오는 거의 같습니다. A + B + C + D ...// (R, G, and B are 0-255)
float y = 0.299f*R + 0.587f*G + 0.114f*B;
float v = (R-y)*0.713f;
float u = (B-v)*0.565f;
다음 I 막 (DO, I는 vpxenc로 물품 U 및 V에 대한 2 × 2 필터링 된 값을 생성하기 : I는 기본적으로이 방정식을 통해 내 RGB 데이터를 실행하고있어)/4, 여기서, a, b, c, d는 각 2x2 픽셀 블록의 U 또는 V 값이다.
그래서 궁금하네요 :
이 좋은 WEBM 비디오를 얻을 수 vpx_codec_encode하는 RGB 데이터를 받아이를 공급하는 (코드) 더 쉬운 방법이 있나요?
내 RGB-> YV12 변환이 어딘가 잘못 되었습니까?
어떤 도움을 주시면 감사하겠습니다.
업데이트 된 코드를 알려주시겠습니까? Iam 정확히 여기 같은 문제 앞에 서있어 ;-) 감사합니다 –