Update to 2.0.0 tree from current Fremantle build
[opencv] / apps / Common / Camera.cpp
diff --git a/apps/Common/Camera.cpp b/apps/Common/Camera.cpp
deleted file mode 100644 (file)
index 0c71ccb..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-/*M///////////////////////////////////////////////////////////////////////////////////////
-//
-//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
-//
-//  By downloading, copying, installing or using the software you agree to this license.
-//  If you do not agree to this license, do not download, install,
-//  copy or use the software.
-//
-//
-//                        Intel License Agreement
-//                For Open Source Computer Vision Library
-//
-// Copyright (C) 2000, Intel Corporation, all rights reserved.
-// Third party copyrights are property of their respective owners.
-//
-// Redistribution and use in source and binary forms, with or without modification,
-// are permitted provided that the following conditions are met:
-//
-//   * Redistribution's of source code must retain the above copyright notice,
-//     this list of conditions and the following disclaimer.
-//
-//   * Redistribution's in binary form must reproduce the above copyright notice,
-//     this list of conditions and the following disclaimer in the documentation
-//     and/or other materials provided with the distribution.
-//
-//   * The name of Intel Corporation may not be used to endorse or promote products
-//     derived from this software without specific prior written permission.
-//
-// This software is provided by the copyright holders and contributors "as is" and
-// any express or implied warranties, including, but not limited to, the implied
-// warranties of merchantability and fitness for a particular purpose are disclaimed.
-// In no event shall the Intel Corporation or contributors be liable for any direct,
-// indirect, incidental, special, exemplary, or consequential damages
-// (including, but not limited to, procurement of substitute goods or services;
-// loss of use, data, or profits; or business interruption) however caused
-// and on any theory of liability, whether in contract, strict liability,
-// or tort (including negligence or otherwise) arising in any way out of
-// the use of this software, even if advised of the possibility of such damage.
-//
-//M*/// Camera.cpp: implementation of the CCamera class.
-//
-//////////////////////////////////////////////////////////////////////
-
-#include "stdafx.h"
-#include "Camera.h"
-#include <assert.h>
-
-#ifdef _DEBUG
-#undef THIS_FILE
-static char THIS_FILE[]=__FILE__;
-#define new DEBUG_NEW
-#endif
-
-//////////////////////////////////////////////////////////////////////
-// Construction/Destruction
-//////////////////////////////////////////////////////////////////////
-
-CCamera::CCamera()
-{
-    m_capWnd = 0;
-    m_isRunning = false;
-    m_hic = 0;
-    m_fourcc = -1;
-}
-
-CCamera::~CCamera()
-{
-    Uninitialize();
-}
-
-
-void CCamera::UpdateParent( bool whole )
-{
-    HWND parent = GetParent( m_capWnd );
-    RECT r = { 0, 0, 0, 0 };
-    IplImage* img = m_frame.GetImage();
-
-    if( img )
-    {
-        r.right = img->width;
-        r.bottom = img->height;
-    }
-    
-    InvalidateRect( parent, whole ? 0 : &r, whole );
-    UpdateWindow( parent );
-}
-
-
-// Frame callback
-LRESULT PASCAL FrameCallbackProc( HWND hWnd, VIDEOHDR* hdr ) 
-{ 
-    BITMAPINFO vfmt;
-    CCamera* camera = (CCamera*)capGetUserData(hWnd);
-    int sz;
-
-    if (!hWnd) return FALSE;
-       if (camera && !camera->IsRunning() ) return FALSE;
-       
-    sz = capGetVideoFormat( hWnd, &vfmt, sizeof(vfmt));
-    
-    if( hdr && hdr->lpData && sz != 0 && camera )
-        camera->PutCompressedFrame( hdr, &vfmt );
-
-    return (LRESULT)TRUE; 
-}
-
-
-void CCamera::OnFrame()
-{
-    UpdateParent(0);
-}
-
-void CCamera::PutCompressedFrame( VIDEOHDR* hdr, BITMAPINFO* vfmt )
-{
-    long code = ICERR_OK;
-    char* frame_data = (char*)hdr->lpData;
-        
-    if( vfmt->bmiHeader.biCompression != BI_RGB ||
-        vfmt->bmiHeader.biBitCount != 24 )
-    {
-        BITMAPINFOHEADER& vfmt0 = vfmt->bmiHeader;
-        BITMAPINFOHEADER vfmt1;
-        code = ICERR_ERROR;
-
-        memset( &vfmt1, 0, sizeof(vfmt1));
-        vfmt1.biSize = sizeof(vfmt1);
-        vfmt1.biWidth = vfmt0.biWidth;
-        vfmt1.biHeight = vfmt0.biHeight;
-        vfmt1.biBitCount = 24;
-        vfmt1.biCompression = BI_RGB;
-        vfmt1.biPlanes = 1;
-
-        if( m_hic == 0 || m_fourcc != vfmt0.biCompression || m_frame.GetImage() == 0 ||
-            vfmt0.biWidth != m_frame.GetImage()->width ||
-            vfmt0.biHeight != m_frame.GetImage()->height )
-        {
-            if( m_hic )
-            {
-                ICDecompressEnd( m_hic );
-                ICClose( m_hic );
-            }
-            m_hic = ICOpen( MAKEFOURCC('V','I','D','C'),
-                          vfmt0.biCompression, ICMODE_DECOMPRESS );
-
-            if( m_hic && ICDecompressBegin( m_hic, &vfmt0, &vfmt1 ) == ICERR_OK )
-            {
-                m_frame.Create( vfmt0.biWidth, vfmt0.biHeight, 24 );
-                m_frame.GetImage()->origin = IPL_ORIGIN_BL;
-
-                code = ICDecompress( m_hic, 0, &vfmt0, hdr->lpData,
-                                     &vfmt1, m_frame.GetImage()->imageData );
-            }
-        }
-    }
-    else
-    {
-        m_frame.Create( vfmt->bmiHeader.biWidth, vfmt->bmiHeader.biHeight, 24 );
-        memcpy( m_frame.GetImage()->imageData, hdr->lpData, m_frame.GetImage()->imageSize );
-    }
-
-    /*m_frame.GetImage()->origin = IPL_ORIGIN_BL;*/
-    cvFlip( m_frame.GetImage(), m_frame.GetImage(), 0 );
-
-    OnFrame();
-} 
-
-
-// Initialize camera input
-bool  CCamera::Initialize( int width, int height, int format, HWND parent, int wIndex )
-{
-    char szDeviceName[80];
-    char szDeviceVersion[80];
-    HWND hWndC = 0;
-    
-    if( (unsigned)wIndex < 10 )
-        goto init_camera;
-
-    for( wIndex = 0; wIndex < 10; wIndex++ ) 
-    {
-init_camera:        
-        if( capGetDriverDescription( wIndex, szDeviceName, 
-            sizeof (szDeviceName), szDeviceVersion, 
-            sizeof (szDeviceVersion))) 
-        {
-            hWndC = capCreateCaptureWindow ( "My Own Capture Window", 
-                  WS_CHILD | WS_VISIBLE , 0, 0, 160, 120, parent, 0);
-
-            if( capDriverConnect (hWndC, wIndex))
-            {
-                /*BITMAPINFO bmi;
-                //capPreviewRate(hWndC, 66);  // rate, in milliseconds
-                memset( &bmi.bmiHeader, 0, sizeof(bmi.bmiHeader));
-                bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
-                bmi.bmiHeader.biBitCount = format == 0 ? 24 : 12;
-                bmi.bmiHeader.biWidth = width;
-                bmi.bmiHeader.biHeight = height;
-                bmi.bmiHeader.biPlanes = 1;
-                bmi.bmiHeader.biCompression = format;
-                bmi.bmiHeader.biSizeImage = ((bmi.bmiHeader.biWidth*
-                                              bmi.bmiHeader.biBitCount/8 + 3)&-4)*
-                                              bmi.bmiHeader.biHeight;
-                if( format == -1 || capSetVideoFormat( hWndC, &bmi, sizeof(bmi)-4)) break;
-                capDriverDisconnect( hWndC );*/
-                break;
-            }
-            DestroyWindow( hWndC );
-            hWndC = 0;
-        }
-    }
-    
-    if( hWndC )
-    {
-        m_capWnd = hWndC;
-        
-        memset( &m_caps, 0, sizeof(m_caps));
-        capDriverGetCaps( hWndC, &m_caps, sizeof(m_caps));
-        capSetUserData( hWndC, (long)this );
-        capSetCallbackOnFrame( m_capWnd, FrameCallbackProc ); 
-        ::MoveWindow( m_capWnd, 0, 0, 1, 1, TRUE );
-        CAPTUREPARMS p;
-        capCaptureGetSetup(hWndC,&p,sizeof(CAPTUREPARMS));
-        p.dwRequestMicroSecPerFrame = 1;
-        capCaptureSetSetup(hWndC,&p,sizeof(CAPTUREPARMS));
-        capPreviewScale(hWndC,FALSE);
-        capPreviewRate(hWndC,1);
-    }
-    return m_capWnd != 0;
-}
-
-
-// Uninitialize camera input
-void  CCamera::Uninitialize()
-{
-    Stop();
-    capSetCallbackOnFrame( m_capWnd, NULL ); 
-    capDriverDisconnect( m_capWnd );
-    DestroyWindow( m_capWnd );
-
-    if( m_hic )
-    {
-        ICDecompressEnd( m_hic );
-        ICClose( m_hic );
-        m_hic = 0;
-    }
-}
-
-// Start capture
-void  CCamera::Start()
-{
-    if( m_capWnd )
-    {
-        m_isRunning = true;
-    }
-}
-
-// Stop capture
-void  CCamera::Stop()
-{
-    if( m_capWnd )
-    {
-        m_isRunning = false;
-    }
-}
-
-
-void  CCamera::VideoFormatDlg()
-{
-    if( m_capWnd && m_caps.fHasDlgVideoFormat )
-    {
-        capDlgVideoFormat( m_capWnd );
-    }
-}
-
-
-void  CCamera::VideoSourceDlg()
-{
-    if( m_capWnd && m_caps.fHasDlgVideoSource )
-    {
-        capDlgVideoSource( m_capWnd );
-    }
-}