⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pano.c

📁 这个库实现了录象功能
💻 C
字号:
/******************************************************************************* pano.c libquicktime - A library for reading and writing quicktime/avi/mp4 files. http://libquicktime.sourceforge.net Copyright (C) 2002 Heroine Virtual Ltd. Copyright (C) 2002-2007 Members of the libquicktime project. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA*******************************************************************************/ #include "lqt_private.h"int quicktime_pano_init(quicktime_pano_t *pano){       pano->version = 0;       pano->revision = 0;       pano->STrack = 0;       pano->LowResSTrack = 0;       pano->HSTrack = 0;       pano->HPanStart = 0;       pano->HPanEnd = 360;       pano->VPanStart = 30;       pano->VPanEnd = -30;       pano->MinZoom = 0;       pano->MaxZoom = 0;       pano->SHeight = 0;       pano->SWidth = 0;       pano->NumFrames = 1;       pano->SNumFramesHeight = 1;       pano->SNumFramesWidth = 1;       pano->SDepth = 32;       pano->HSHeight = 0;       pano->HSWidth = 0;       pano->HSNumFramesHeight = 0;       pano->HSNumFramesWidth = 0;       pano->HSDepth = 8;       return 0;}int quicktime_pano_delete(quicktime_pano_t *pano){    return 0;}void quicktime_pano_dump(quicktime_pano_t *pano){       lqt_dump("       panorama (pano)\n");       lqt_dump("        version %i\n", pano->version );       lqt_dump("        revision %i\n", pano->revision );       lqt_dump("        scene track %ld\n", pano->STrack );       lqt_dump("        lowres scene track %ld\n", pano->LowResSTrack );       lqt_dump("        hotspot track %ld\n", pano->HSTrack );       lqt_dump("        horizontal start pan %f\n", pano->HPanStart );       lqt_dump("        horizontal end pan %f\n", pano->HPanEnd );       lqt_dump("        vertical start pan %f\n", pano->VPanStart );       lqt_dump("        vertical end pan %f\n", pano->VPanEnd );       lqt_dump("        minimum zoom %f\n", pano->MinZoom );       lqt_dump("        maximum zoom %f\n", pano->MaxZoom );       lqt_dump("        scene height %ld\n", pano->SHeight );       lqt_dump("        scene width %ld\n", pano->SWidth );       lqt_dump("        num frames %ld\n", pano->NumFrames );       lqt_dump("        num frames(height) %i\n", pano->SNumFramesHeight );       lqt_dump("        num frames(width) %i\n", pano->SNumFramesWidth );       lqt_dump("        scene depth %i\n", pano->SDepth );       lqt_dump("        hotspot height %ld\n", pano->HSHeight );       lqt_dump("        hotspot width %ld\n", pano->HSWidth );       lqt_dump("        num. hotspot frames (height) %i\n", pano->HSNumFramesHeight );       lqt_dump("        num. hotspot frames (width) %i\n", pano->HSNumFramesWidth );       lqt_dump("        hotspot depth %i\n", pano->HSDepth );}int quicktime_read_pano(quicktime_t *file, quicktime_pano_t *pano, quicktime_atom_t *pano_atom){       pano->version = quicktime_read_int16(file);       pano->revision = quicktime_read_int16(file);       pano->STrack = quicktime_read_int32(file);       pano->LowResSTrack = quicktime_read_int32(file);       quicktime_read_data(file, (uint8_t *)pano->reserved3,  4 * 6);       pano->HSTrack = quicktime_read_int32(file);       quicktime_read_data(file, (uint8_t *)pano->reserved4, 4 * 9);       pano->HPanStart = quicktime_read_fixed32(file);       pano->HPanEnd = quicktime_read_fixed32(file);       pano->VPanStart = quicktime_read_fixed32(file);       pano->VPanEnd = quicktime_read_fixed32(file);       pano->MinZoom = quicktime_read_fixed32(file);       pano->MaxZoom = quicktime_read_fixed32(file);       pano->SHeight = quicktime_read_int32(file);       pano->SWidth = quicktime_read_int32(file);       pano->NumFrames = quicktime_read_int32(file);       pano->reserved5 = quicktime_read_int16(file);       pano->SNumFramesHeight = quicktime_read_int16(file);       pano->SNumFramesWidth = quicktime_read_int16(file);       pano->SDepth = quicktime_read_int16(file);       pano->HSHeight = quicktime_read_int32(file);       pano->HSWidth = quicktime_read_int32(file);       pano->reserved6 = quicktime_read_int16(file);       pano->HSNumFramesHeight = quicktime_read_int16(file);       pano->HSNumFramesWidth = quicktime_read_int16(file);       pano->HSDepth = quicktime_read_int16(file);       return 0;}void quicktime_write_pano(quicktime_t *file, quicktime_pano_t *pano){       quicktime_write_int16(file, pano->version);       quicktime_write_int16(file, pano->revision);       quicktime_write_int32(file, pano->STrack);       quicktime_write_int32(file, pano->LowResSTrack);       quicktime_write_data(file, (uint8_t *)pano->reserved3, 4 * 6);       quicktime_write_int32(file, pano->HSTrack);       quicktime_write_data(file, (uint8_t *)pano->reserved4, 4 * 9);       quicktime_write_fixed32(file, pano->HPanStart);       quicktime_write_fixed32(file, pano->HPanEnd);       quicktime_write_fixed32(file, pano->VPanStart);       quicktime_write_fixed32(file, pano->VPanEnd);       quicktime_write_fixed32(file, pano->MinZoom);       quicktime_write_fixed32(file, pano->MaxZoom);       quicktime_write_int32(file, pano->SHeight);       quicktime_write_int32(file, pano->SWidth);       quicktime_write_int32(file, pano->NumFrames);       quicktime_write_int16(file, pano->reserved5);       quicktime_write_int16(file, pano->SNumFramesHeight);       quicktime_write_int16(file, pano->SNumFramesWidth);       quicktime_write_int16(file, pano->SDepth);       quicktime_write_int32(file, pano->HSHeight);       quicktime_write_int32(file, pano->HSWidth);       quicktime_write_int16(file, pano->reserved6);       quicktime_write_int16(file, pano->HSNumFramesHeight);       quicktime_write_int16(file, pano->HSNumFramesWidth);       quicktime_write_int16(file, pano->HSDepth);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -