| 138 | } |
| 139 | |
| 140 | unsigned char* CH264Encoder::Encoder(unsigned char *indata, int inlen, int &outlen, bool &bIsKeyFrame) |
| 141 | { |
| 142 | if (m_bIsworking&&(inlen==m_ncheckyuvsize)) |
| 143 | { |
| 144 | int m_inal=0; |
| 145 | memcpy(m_x264_picin->img.plane[0],indata,inlen); |
| 146 | outlen=x264_encoder_encode(m_hx264,&m_x264_nal,&m_inal,m_x264_picin,&m_x264_picout); |
| 147 | m_x264_picin->i_pts++; |
| 148 | }else |
| 149 | { |
| 150 | outlen=-1; |
| 151 | } |
| 152 | if (outlen>0) |
| 153 | { |
| 154 | bIsKeyFrame=m_x264_picout.b_keyframe==1; |
| 155 | return m_x264_nal[0].p_payload; |
| 156 | }else |
| 157 | { |
| 158 | return NULL; |
| 159 | } |
| 160 | } |
| 161 | |
| 162 | void CH264Encoder::X264_CONFIG_SET(x264_param_t*param,int mode) |
| 163 | { |