yuv 회전 bmp
2527 단어 UV
#ifdef _INTERFACE_H
#error _INTERFACE_H has be exsisted
#else
#define _INTERFACE_H
#include "stdafx.h"//
#include "stdlib.h"
#include "windows.h"
void SaveYUV(AVFrame *picture, int width, int height,int iFrame)
#pragma once
#ifndef _WINGDI_
#define _WINGDI_
typedef struct tagBITMAPFILEHEADER
{
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;
#endif
#endif
void SaveYUVS(uint8_t* yuv, int width, int height, int iFrame)
{
FILE *pFile;
char szFilename[32];
int y;
sprintf(szFilename, ".\\yuv\\rotate%d_%d_%d.yuv", iFrame, width, height); pFile=fopen(szFilename, "ab+");
if(pFile == NULL)
return;
fwrite(yuv,sizeof(char),width * height*3/2,pFile);//
fflush(pFile);
fclose(pFile);
}
#if 1
picture->data[0] += picture->linesize[0] * (pAVCodecCtx->height - 1);
picture->linesize[0] *= -1;
picture->data[1] += picture->linesize[1] * (pAVCodecCtx->height / 2 - 1);
picture->linesize[1] *= -1;
picture->data[2] += picture->linesize[2] * (pAVCodecCtx->height / 2 - 1);
picture->linesize[2] *= -1;
// , YUV420P BRG24
int PictureSize=avpicture_get_size (PIX_FMT_BGR24, pAVCodecCtx->width, pAVCodecCtx->height);
uint8_t* buf = (uint8_t*)av_malloc(PictureSize);
avpicture_fill ( (AVPicture *)pFrameRGB, buf, PIX_FMT_BGR24, pAVCodecCtx->width, pAVCodecCtx->height);
SwsContext* pSwsCtx = sws_getContext (pAVCodecCtx->width,pAVCodecCtx->height,pAVCodecCtx->pix_fmt,pAVCodecCtx->width,pAVCodecCtx->height,PIX_FMT_BGR24,SWS_BICUBIC,NULL, NULL, NULL);
sws_scale (pSwsCtx,picture->data,picture->linesize,0,pAVCodecCtx->height,pFrameRGB->data,pFrameRGB->linesize);
SaveAsBMP (pFrameRGB,pAVCodecCtx->width,pAVCodecCtx->height, count, 24);
av_free(buf);
sws_freeContext(pSwsCtx);
#endif
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Unity를 사용하여 스크립트에서 UV 작업예를 들어 캐릭터의 표정을 문양으로 붙여 UV 좌표를 변경해 표정을 바꾸는 경우도 있다고 본다.요즘은 이런 것에 주력하고 있지만 제가 겪는 문제들을 소개해 드리겠습니다. 2. 실례화된 sharedMesh를 사용합니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.