[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] tools/dtdriver/engine Umakefil, 1.20,
From:       ehyche () helixcommunity ! org
Date:       2007-07-24 13:26:25
Message-ID: 200707241326.l6ODQvRP019635 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/tools/dtdriver/engine
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv29447

Modified Files:
	Umakefil cencsrchdlr.cpp csrctrpt.cpp 
Log Message:
Description
-------------------------------------------------
Previously we had only encountered video renderers
which bltted I420. Now that the Rhapsody team is using
additional video formats that blt other than I420,
then we need to add support for other YUV input
color formats into the Producer SDK.

Also, we add some logging in the source transfer
port but that logging is currently disabled
at the source file level.

Files Modified
-------------------------------------------------
datatype/tools/dtdriver/engine/Umakefil - add client/include
datatype/tools/dtdriver/engine/cencsrchdlr.cpp - add additional YUV formats
datatype/tools/dtdriver/engine/csrctrpt.cpp - add logging
datatype/tools/dtdriver/engine/pub/cencsrchdlr.h
helix.bif - add client/include to source deps
hxclient_1_5_0_cayenne.bif - add client/include to source deps
hxclient_2_0_3_cayenne.bif - add client/include to source deps
hxclient_2_0_4_cayenne.bif - add client/include to source deps

Branches
-------------------------------------------------
HEAD, 150Cay, 203Cay, 204Cay

Testing
-------------------------------------------------
Can now transcode to .mp4 some test files that blt YUY2.



Index: cencsrchdlr.cpp
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/engine/cencsrchdlr.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- cencsrchdlr.cpp	8 Jun 2007 18:35:18 -0000	1.22
+++ cencsrchdlr.cpp	24 Jul 2007 13:26:23 -0000	1.23
@@ -46,6 +46,7 @@
 #include "hxtlogutil.h"
 #include "hxloghelper.h"
 #include "hxprefutil.h"
+#include "hxvsurf.h"
 
 #define DTDRENC_MIN_INPUT_SAMPLE_SIZE   16
 #define DTDRENC_DEFAULT_FRAME_RATE      24.0
@@ -2155,7 +2156,21 @@
         // Get the color format
         if (!strcmp(pszMimeType, "video/X-HX-I420"))
         {
-            pStreamState->m_eVideoColorFormat = HXT_VIDEO_FORMAT_I420;
+            EHXTVideoColorFormat eColorFormat = HXT_VIDEO_FORMAT_I420;
+            // Get the "ImageFormat" property (if available)
+            UINT32 ulImageFormat = 0;
+            if (SUCCEEDED(pStreamState->m_pStreamHeader->GetPropertyULONG32("ImageFormat", \
ulImageFormat))) +            {
+                switch (ulImageFormat)
+                {
+                    case HX_I420: eColorFormat = HXT_VIDEO_FORMAT_I420; break;
+                    case HX_YV12: eColorFormat = HXT_VIDEO_FORMAT_YV12; break;
+                    case HX_YUY2: eColorFormat = HXT_VIDEO_FORMAT_YUY2; break;
+                    case HX_UYVY: eColorFormat = HXT_VIDEO_FORMAT_UYVY; break;
+                    case HX_YVU9: eColorFormat = HXT_VIDEO_FORMAT_YVU9; break;
+                }
+            }
+            pStreamState->m_eVideoColorFormat = eColorFormat;
         }
         else if (!strcmp(pszMimeType, "video/X-HX-RGB"))
         {

Index: csrctrpt.cpp
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/engine/csrctrpt.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- csrctrpt.cpp	8 Jan 2003 22:55:54 -0000	1.1
+++ csrctrpt.cpp	24 Jul 2007 13:26:23 -0000	1.2
@@ -43,6 +43,8 @@
  */
 #include "hxcom.h"
 #include "csrctrpt.h"
+#define HELIX_FEATURE_LOGLEVEL_NONE // Uncomment to disable all logging
+#include "hxtlogutil.h"
 
 
 /****************************************************************************
@@ -93,6 +95,7 @@
     , m_hCallback(NULL)
     , m_lRefCount(0)
 {
+    HXLOGL4(HXLOG_DTDR, "CON CSourceTransferPort this=%p", this);
     if (pContext)
     {
 	pContext->QueryInterface(IID_IHXScheduler, (void **) &m_pScheduler);
@@ -101,6 +104,7 @@
 
 CSourceTransferPort::~CSourceTransferPort(void)
 {
+    HXLOGL4(HXLOG_DTDR, "DES CSourceTransferPort this=%p", this);
     _Close();
 }
 
@@ -118,6 +122,7 @@
 STDMETHODIMP CSourceTransferPort::OnFileHeader(HX_RESULT   status,
 					       IHXValues* pValues)
 {
+    HXLOGL4(HXLOG_DTDR, \
"%p::CSourceTransferPort::OnFileHeader(status=0x%08x,pValues=%p)", this, status, \
pValues);  HX_RESULT retVal = HXR_OUTOFMEMORY;
     CSourceAtom* pNewAtom = new CSourceAtom(SRCATOM_FILH,
 					    status,
@@ -141,6 +146,7 @@
 STDMETHODIMP CSourceTransferPort::OnStreamHeader(HX_RESULT   status,
 						 IHXValues* pValues)
 {
+    HXLOGL4(HXLOG_DTDR, \
"%p::CSourceTransferPort::OnStreamHeader(status=0x%08x,pValues=%p)", this, status, \
pValues);  HX_RESULT retVal = HXR_OUTOFMEMORY;
     CSourceAtom* pNewAtom = new CSourceAtom(SRCATOM_STRH,
 					    status,
@@ -163,6 +169,7 @@
 STDMETHODIMP CSourceTransferPort::OnStreamDone(HX_RESULT status,
 					       UINT16    unStreamNumber)
 {
+    HXLOGL4(HXLOG_DTDR, \
"%p::CSourceTransferPort::OnStreamDone(status=0x%08x,strm=%u)", this, status, \
unStreamNumber);  HX_RESULT retVal = HXR_OUTOFMEMORY;
     CSourceAtom* pNewAtom = new CSourceAtom(SRCATOM_STRD,
 					    status,
@@ -187,6 +194,7 @@
 STDMETHODIMP CSourceTransferPort::OnPacket(HX_RESULT   status,
 					   IHXPacket* pPacket)
 {
+    HXLOGL4(HXLOG_DTDR, \
"%p::CSourceTransferPort::OnPacket(status=0x%08x,pPacket=%p)", this, status, \
pPacket);  HX_RESULT retVal = HXR_OUTOFMEMORY;
     CSourceAtom* pNewAtom = new CSourceAtom(SRCATOM_PCKT,
 					    status,
@@ -211,6 +219,7 @@
  */
 STDMETHODIMP CSourceTransferPort::OnTermination(HX_RESULT status)
 {
+    HXLOGL4(HXLOG_DTDR, "%p::CSourceTransferPort::OnTermination(status=0x%08x)", \
this, status);  HX_RESULT retVal = HXR_OUTOFMEMORY;
     CSourceAtom* pNewAtom = new CSourceAtom(SRCATOM_TRMN,
 					    status);
@@ -259,6 +268,7 @@
  */
 STDMETHODIMP CSourceTransferPort::Func()
 {
+    HXLOGL4(HXLOG_DTDR, "%p::CSourceTransferPort::Func() atom list count = %lu", \
this, m_SourceAtomList.GetCount());  m_hCallback = NULL;
     return _Dispatch();
 }
@@ -336,6 +346,7 @@
 
 HX_RESULT CSourceTransferPort::Close(void)
 {
+    HXLOGL4(HXLOG_DTDR, "%p::CSourceTransferPort::Close()", this);
     return _Close();
 }
 
@@ -354,6 +365,7 @@
  */
 HX_RESULT CSourceTransferPort::_ScheduleDispatch(CSourceAtom* pSourceAtom)
 {
+    HXLOGL4(HXLOG_DTDR, "%p::CSourceTransferPort::_ScheduleDispatch(pAtom=%p)", \
this, pSourceAtom);  HX_RESULT retVal = HXR_OK;
 
     m_SourceAtomList.AddTail(pSourceAtom);
@@ -365,7 +377,9 @@
 	    CallbackHandle hCallback;
 
 	    m_hCallback = 0xFFFFFFFF;
+            HXLOGL4(HXLOG_DTDR, \
"\t%p::CSourceTransferPort::_ScheduleDispatch(pAtom=%p) calling RelativeEnter(this, \
0)", this, pSourceAtom);  hCallback = m_pScheduler->RelativeEnter(this, 0);
+            HXLOGL4(HXLOG_DTDR, \
"\t%p::CSourceTransferPort::_ScheduleDispatch(pAtom=%p) RelativeEnter(this, 0) \
returns %lu", this, pSourceAtom, hCallback);  if (m_hCallback != 0)
 	    {
 		m_hCallback = hCallback;
@@ -382,6 +396,7 @@
 
 HX_RESULT CSourceTransferPort::_Dispatch(void)
 {
+    HXLOGL4(HXLOG_DTDR, "%p::CSourceTransferPort::_Dispatch() atom list count=%lu", \
this, m_SourceAtomList.GetCount());  CSourceAtom* pSourceAtom;
     HX_RESULT retVal = HXR_OK;
 
@@ -392,11 +407,17 @@
 	    pSourceAtom = (CSourceAtom*) m_SourceAtomList.RemoveHead();
 	    if (pSourceAtom)
 	    {
+                HXLOGL4(HXLOG_DTDR, "\t%p::CSourceTransferPort::_Dispatch() dequeued \
atom=%p list count=%lu", this, pSourceAtom, m_SourceAtomList.GetCount());  switch \
(pSourceAtom->m_eType)  {
 		case SRCATOM_PCKT:
 		    if (m_pSourceSink)
 		    {
+#if defined(HELIX_FEATURE_LOGLEVEL_4)
+                        IHXPacket* pPacket = (IHXPacket*) pSourceAtom->m_pObj;
+                        HXLOGL4(HXLOG_DTDR, "\t%p::CSourceTransferPort::_Dispatch() \
send packet (strm=%u,ts=%lu) to sink", +                                this, \
(pPacket ? pPacket->GetStreamNumber() : 0), (pPacket ? pPacket->GetTime() : 0)); \
+#endif /* #if defined(HELIX_FEATURE_LOGLEVEL_4) */  retVal = \
m_pSourceSink->OnPacket(  pSourceAtom->m_status,
 				    (IHXPacket*) pSourceAtom->m_pObj);
@@ -406,6 +427,15 @@
 		case SRCATOM_STRH:
 		    if (m_pSourceSink)
 		    {
+#if defined(HELIX_FEATURE_LOGLEVEL_4)
+                        IHXValues* pHdr = (IHXValues*) pSourceAtom->m_pObj;
+                        UINT32 ulStreamNum = 0;
+                        if (pHdr)
+                        {
+                            pHdr->GetPropertyULONG32("StreamNumber", ulStreamNum);
+                        }
+                        HXLOGL4(HXLOG_DTDR, "\t%p::CSourceTransferPort::_Dispatch() \
send stream hdr (strm=%lu) to sink", this, ulStreamNum); +#endif /* #if \
defined(HELIX_FEATURE_LOGLEVEL_4) */  retVal = m_pSourceSink->OnStreamHeader(
 				    pSourceAtom->m_status,
 				    (IHXValues*) pSourceAtom->m_pObj);
@@ -415,6 +445,8 @@
 		case SRCATOM_STRD:
 		    if (m_pSourceSink)
 		    {
+                        HXLOGL4(HXLOG_DTDR, "\t%p::CSourceTransferPort::_Dispatch() \
send OnStreamDone(status=0x%08x,strm=%u) to sink", +                                \
this, pSourceAtom->m_status, (UINT16) pSourceAtom->m_ulVal);  retVal = \
m_pSourceSink->OnStreamDone(  pSourceAtom->m_status,
 				    (UINT16) pSourceAtom->m_ulVal);
@@ -424,6 +456,7 @@
 		case SRCATOM_FILH:
 		    if (m_pSourceSink)
 		    {
+                        HXLOGL4(HXLOG_DTDR, "\t%p::CSourceTransferPort::_Dispatch() \
send file hdr to sink", this);  retVal = m_pSourceSink->OnFileHeader(
 				    pSourceAtom->m_status,
 				    (IHXValues*) pSourceAtom->m_pObj);
@@ -431,6 +464,7 @@
 		    break;
 		    
 		case SRCATOM_TRMN:
+                    HXLOGL4(HXLOG_DTDR, "\t%p::CSourceTransferPort::_Dispatch() send \
OnTermination(status=0x%08x) to sink", this, pSourceAtom->m_status);  retVal = \
_OnTermination(pSourceAtom->m_status);  break;
 		    

Index: Umakefil
===================================================================
RCS file: /cvsroot/datatype/tools/dtdriver/engine/Umakefil,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- Umakefil	11 Jul 2007 16:41:05 -0000	1.20
+++ Umakefil	24 Jul 2007 13:26:23 -0000	1.21
@@ -38,6 +38,7 @@
 UmakefileVersion(2,0)
 
 project.AddModuleIncludes("common/include",
+                          "client/include",
                           "datatype/rm/include",
                           "common/log/logutil/pub",
                           "common/log/logobserverfile/pub",


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic