ffmpeg

結構いろいろな関数が動くんですが動画から抜き出したframeからGDImageを作ることができないようです.
 以下さっぱり面白く無いので

PHP_FUNCTION(toGDImage){
  ff_frame_context *ff_frame;
  gdimage *gd_img;

  GET_FRAME_RESOURCE(getThis(), ff_frame);

  _php_convert_frame(ff_frame, PIX_FMT_RGBA32);
  return_value->value.lval = _php_get_gd_image(ff_frame->width,
                                               ff_frame->height);
  return_value->type = IS_RESOURCE;

  FFMPEG_PHP_FETCH_RESOURCE(gd_img, &return_value);

  if(_php_avframe_to_gd_image(ff_frame->av_frame, gd_img,
                              ff_frame->width, ff_frame->height);
  }
}

この中の関数

#define GET_FRAME_RESOURCE(ffmpeg_frame_object, ffmpeg_frame){
  zval ** _tmp_zval;
  if(zend_hash_find(Z_OBJPROP_P(ffmpeg_frame_object), "ffmpeg_frame",
                    sizeof("ffmpeg_frame"), (void **)&_tmp_zval) == FAILURE){
    zend_error(E_ERROR, "Unable to locate ffmpeg_frame resource in this object");
    RETURN_FALSE;
  }
  ZEND_FETHC_RESOURCE(ffmpeg_frame, ff_frame_context*, _tmp_zval, -1,
                      "ffmpeg_frame", le_ffmpeg_frame);
}

調べる関数
_php_convert_frame();
_php_get_gd_image();
IS_RESOURCE;
FFMPEG_PHP_FETCH_RESOURCE();
_php_avframe_to_gd_image();
Z_OBJPROP_P();
zend_hash_find();
ZEND_FETHC_RESOURCE();
RETURN_FALSE;