откомпилируйте пожалуста

Тема в разделе "WASM.BEGINNERS", создана пользователем moderhi, 19 дек 2011.

  1. moderhi

    moderhi New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2011
    Сообщения:
    189
    Помогите откомпильте сее если возможно.
    Код (Text):
    1. #include <stdio.h> #include <dshow.h> #include <qedit.h> // for SampleGrabber #define FILENAME L"C:\\DXSDK\\Samples\\Media\\butterfly.mpg" int main() { IGraphBuilder *pGraphBuilder; IMediaControl *pMediaControl; IBaseFilter *pSampleGrabberFilter; ISampleGrabber *pSampleGrabber; AM_MEDIA_TYPE am_media_type; // initialize COM CoInitialize(NULL); // create FilterGraph CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (LPVOID *)&pGraphBuilder); // create SampleGrabber(Filter) CoCreateInstance(CLSID_SampleGrabber, NULL, CLSCTX_INPROC, IID_IBaseFilter, (LPVOID *)&pSampleGrabberFilter); // get ISampleGrabber interface from Filter pSampleGrabberFilter->QueryInterface(IID_ISampleGrabber, (LPVOID *)&pSampleGrabber); // determine the format for connecting SampleGrabber. // You can configure the SampleGrabber insertion place // by changing the values in this structure. // If you use the values in this sample, // you can get the video frame data right before // it is displayed. ZeroMemory(&am_media_type, sizeof(am_media_type)); am_media_type.majortype = MEDIATYPE_Video; am_media_type.subtype = MEDIASUBTYPE_RGB24; am_media_type.formattype = FORMAT_VideoInfo; pSampleGrabber->SetMediaType(&am_media_type); // add SampleGrabber Filter to the Graph pGraphBuilder->AddFilter(pSampleGrabberFilter, L"Sample Grabber"); // get MediaControl interface pGraphBuilder->QueryInterface(IID_IMediaControl, (LPVOID *)&pMediaControl); // create Graph. // Graph that contains SampleGrabber // will be created automatically. pMediaControl->RenderFile(FILENAME); // Get connection information. // This must be done after the Graph is created // by RenderFile. pSampleGrabber->GetConnectedMediaType(&am_media_type); VIDEOINFOHEADER *pVideoInfoHeader = (VIDEOINFOHEADER *)am_media_type.pbFormat; // Print the width and height of the image. // This is just to make the sample understandable. // This is not a required feature. printf("size = %dx%d\n", pVideoInfoHeader->bmiHeader.biWidth, pVideoInfoHeader->bmiHeader.biHeight); // Print the data size. // This is just for understanding too. printf("sample size = %d\n", am_media_type.lSampleSize); // Configure SampleGrabber to do grabbing. // Buffer data can not be obtained if you // do not use SetBufferSamples. // You can use SetBufferSamples after Run() too. pSampleGrabber->SetBufferSamples(TRUE); // start playing pMediaControl->Run(); int i; for (i = 0; i < 3; i++) { // block execution MessageBox(NULL, "Block Execution", "Block", MB_OK); // BITMAP will be saved after OK is pressed // prepare buffer long nBufferSize = am_media_type.lSampleSize; long *pBuffer = (long *)malloc(nBufferSize); // grab image data. pSampleGrabber->GetCurrentBuffer(&nBufferSize, pBuffer); // // Save image data as Bitmap. // This is just to make this sample easily understandable. // HANDLE fh; BITMAPFILEHEADER bmphdr; DWORD nWritten; memset(&bmphdr, 0, sizeof(bmphdr)); bmphdr.bfType = ('M' << 8) | 'B'; bmphdr.bfSize = sizeof(bmphdr) + sizeof(BITMAPINFOHEADER) + nBufferSize; bmphdr.bfOffBits = sizeof(bmphdr) + sizeof(BITMAPINFOHEADER); char filename[128]; _snprintf(filename, sizeof(filename), "result%d.bmp", i); fh = CreateFile(filename, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(fh, &bmphdr, sizeof(bmphdr), &nWritten, NULL); WriteFile(fh, &pVideoInfoHeader->bmiHeader, sizeof(BITMAPINFOHEADER), &nWritten, NULL); WriteFile(fh, pBuffer, nBufferSize, &nWritten, NULL); CloseHandle(fh); free(pBuffer); } // end of for loop pMediaControl->Stop(); // release pSampleGrabber->Release(); pSampleGrabberFilter->Release(); pMediaControl->Release(); pGraphBuilder->Release(); // finalize COM CoUninitialize(); return 0; }
     
  2. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Может хоть CrLf расставите?
     
  3. moderhi

    moderhi New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2011
    Сообщения:
    189
    я бы с удовольствием если знал куда )
     
  4. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    moderhi, там довотьно очевидно куда их ставить.
    Аттач — в доказательство.
     
  5. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Дожили :dntknw: Народ обленился и сует первое попавшееся.

    moderhi
    Вы скачали исходник а ля Линукс. Там другие коды конца строки. Редактор Akelpad позволяет его привести в божеский вид.
     
  6. _sheva740

    _sheva740 New Member

    Публикаций:
    0
    Регистрация:
    31 авг 2005
    Сообщения:
    1.539
    Адрес:
    Poland
    Пост-индастриал - Ёклмн! Дух времен.
    ))
     
  7. moderhi

    moderhi New Member

    Публикаций:
    0
    Регистрация:
    11 окт 2011
    Сообщения:
    189
    извиняюсь) незнал что линуксный код. компилить ненужно. Спасибо- попытавшимся!
     
  8. Ezrah

    Ezrah Member

    Публикаций:
    0
    Регистрация:
    22 мар 2011
    Сообщения:
    411
    Код как раз-таки виндузятный...