📄 p64encoder.h
字号:
/*p64encoder.h copyright (c)Indranet Technologies ltd (lara@indranet.co.nz) * Author Derek J Smithies (derek@indranet.co.nz) * * * This file defines the p64encoder class, which is the combined total of * the grabber, pre encoder, and encoder classes. */#ifndef lib_p64encoder_h#define lib_p64encoder_h#include <ptlib.h>#include "p64.h"#include "grabber.h"#include "vid_coder.h"#include "videoframe.h"#include "encoder-h261.h"#include "transmitter.h"#define WIDTH 352#define HEIGHT 288class P64Encoder{ public: P64Encoder(int videoInput, BOOL videoIsPal); ~P64Encoder(); /**Set size of the grabbing window, which sets the size of the vid_frame class. When the vid_frame class is passed to grabber and encoder, the grabber and encoder automatically resize */ void SetSize(int width,int height); /**Called by the display routine, so we can display local video using the grabbed 411 format stuff. */ const u_char* Frame(); /**Grabs one video frame, or generates test pattern if grabber is not operational */ void GrabOneFrame(); /** On a previously grabbed frame, 1)do some motion and block changed checking, 2)h261 format conversion and 3)store result in a series of packets in a list in the transmitter class. */ void ProcessOneFrame(); /**Retrieves the first packet in the list recorded in in the transmitter class */ void ReadOnePacket( u_char * buffer, /// Buffer of encoded data unsigned & length /// Actual length of encoded data buffer ); int PacketsOutStanding() { return trans->PacketsOutStanding();}protected: //variables used in grabbing/processing the image. Transmitter *trans; H261PixelEncoder *h261_edr; VideoGrabber *video_grab; VideoFrame *vid_frame; Pre_Vid_Coder *pre_vid;};#endif //#ifndef lib_p64encoder_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -