shithub: h264bsd

Download patch

ref: a4de0689955cae430342a5ade5432801d497c3b6
parent: 866f8f4086e4de41a793eb1961c3d6af69a02850
author: Sam Leitch <sam.leitch@calgaryscientific.com>
date: Mon May 5 12:31:04 EDT 2014

Added test app for win32 console

diff: cannot open b/win/h264bsdTest//null: file does not exist: 'b/win/h264bsdTest//null'
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,6 @@
 *.xcworkspacedata
 *.xcuserstate
 xcuserdata
+win/Debug/
+win/h264bsdTest/Debug/
+*.opensdf
--- a/win/h264bsd.sln
+++ b/win/h264bsd.sln
@@ -3,6 +3,11 @@
 # Visual Studio 2010
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h264bsd", "h264bsd.vcxproj", "{FC89E991-5229-4CEB-94AF-96C09943FCA4}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h264bsdTest", "h264bsdTest\h264bsdTest.vcxproj", "{04A99141-FC96-4246-A12C-E47256190982}"
+	ProjectSection(ProjectDependencies) = postProject
+		{FC89E991-5229-4CEB-94AF-96C09943FCA4} = {FC89E991-5229-4CEB-94AF-96C09943FCA4}
+	EndProjectSection
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Win32 = Debug|Win32
@@ -19,6 +24,12 @@
 		{FC89E991-5229-4CEB-94AF-96C09943FCA4}.Release|Win32.Build.0 = Release|Win32
 		{FC89E991-5229-4CEB-94AF-96C09943FCA4}.Release|x64.ActiveCfg = Release|x64
 		{FC89E991-5229-4CEB-94AF-96C09943FCA4}.Release|x64.Build.0 = Release|x64
+		{04A99141-FC96-4246-A12C-E47256190982}.Debug|Win32.ActiveCfg = Debug|Win32
+		{04A99141-FC96-4246-A12C-E47256190982}.Debug|Win32.Build.0 = Debug|Win32
+		{04A99141-FC96-4246-A12C-E47256190982}.Debug|x64.ActiveCfg = Debug|Win32
+		{04A99141-FC96-4246-A12C-E47256190982}.Release|Win32.ActiveCfg = Release|Win32
+		{04A99141-FC96-4246-A12C-E47256190982}.Release|Win32.Build.0 = Release|Win32
+		{04A99141-FC96-4246-A12C-E47256190982}.Release|x64.ActiveCfg = Release|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
--- /dev/null
+++ b/win/h264bsdTest/h264bsdTest.cpp
@@ -1,0 +1,68 @@
+// h264bsdTest.cpp : Defines the entry point for the console application.
+//
+
+#include <SDKDDKVer.h>
+#include <stdio.h>
+#include <tchar.h>
+
+extern "C"
+{
+#include "h264bsd_decoder.h"
+}
+
+
+int _tmain(int argc, _TCHAR* argv[])
+{
+    storage_t *decoder = NULL;
+    char filename[1024];
+    sprintf_s(filename, 1024, "%S", argv[1]);
+    FILE *input = fopen(filename, "rb");
+
+    fseek(input, 0L, SEEK_END);
+    long fileSize = ftell(input);
+
+    u8 *fileData = (u8*)malloc(fileSize);
+    if(fileData == NULL) return 1;
+
+    while(true) {
+        fseek(input, 0L, SEEK_SET);
+        size_t inputRead = fread(fileData, sizeof(u8), fileSize, input);
+
+        u8* byteStrm = fileData;
+        u32 len = fileSize;
+        u32 bytesRead = 0;
+        u32 status = H264BSD_RDY;
+
+        decoder = h264bsdAlloc();
+        status = h264bsdInit(decoder, 0);
+        if(status > 0) return 2;
+        
+        while(len > 0) {
+            status = h264bsdDecode(decoder, byteStrm, len, 0, &bytesRead);
+
+            if(status == H264BSD_ERROR) {
+                printf("General Error with %i bytes left\n", len);
+            }
+
+            if(status == H264BSD_PARAM_SET_ERROR) {
+                printf("Param Set Error with %i bytes left\n", len);
+            }
+
+            if(status == H264BSD_MEMALLOC_ERROR) {
+                printf("Malloc Error with %i bytes left\n", len);
+            }
+
+            byteStrm += bytesRead;
+            len-= bytesRead;
+            status = H264BSD_RDY;
+        }
+
+        h264bsdShutdown(decoder);
+        h264bsdFree(decoder);
+
+        printf("Decode complete\n");
+    }
+
+	return 0;
+}
+
--- /dev/null
+++ b/win/h264bsdTest/h264bsdTest.vcxproj
@@ -1,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{04A99141-FC96-4246-A12C-E47256190982}</ProjectGuid>
+    <Keyword>Win32Proj</Keyword>
+    <RootNamespace>h264bsdTest</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>Unicode</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <LinkIncremental>true</LinkIncremental>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <LinkIncremental>false</LinkIncremental>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <AdditionalIncludeDirectories>$(SolutionDir)..\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <AdditionalDependencies>h264bsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\bin\$(Configuration)\$(Platform)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <PrecompiledHeader>
+      </PrecompiledHeader>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <SubSystem>Console</SubSystem>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="h264bsdTest.cpp" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
--- /dev/null
+++ b/win/h264bsdTest/h264bsdTest.vcxproj.filters
@@ -1,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="h264bsdTest.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file