📄 umc_vob_reader.h
字号:
/*//////////////////////////////////////////////////////////////////////////////
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2003-2007 Intel Corporation. All Rights Reserved.
//
*/
#ifndef __UMC_VOB_READER_H__
#define __UMC_VOB_READER_H__
#include "vm_mmap.h"
#include "vm_types.h"
#include "ippdefs.h"
#include "umc_data_reader.h"
#include "umc_file_reader.h"
namespace UMC
{
typedef struct _VobStruct {
vm_char vob_name[MAXIMUM_PATH];
Ipp32s vob_dig;
Ipp64u vob_size;
_VobStruct *prevPtr;
} VobStruct;
class VobReader : public DataReader
{
DYNAMIC_CAST_DECL(VobReader, DataReader);
public:
virtual Status Init(DataReaderParams *InitParams);
virtual Status Close();
virtual Status Reset();
virtual Status ReadData(void *data, Ipp32u *nsize);
virtual Status MovePosition(Ipp64u npos);
virtual Status CacheData(void *data, Ipp32u *nsize, Ipp32s how_far);
virtual Status SetPosition(Ipp64f pos);
// return position in the stream
virtual Ipp64u GetPosition();
// return Vob_size
virtual Ipp64u GetSize();
VobReader();
virtual ~VobReader();
protected:
vm_char **m_vob_list;
Ipp32s *m_vob_dig;
Ipp32s m_vob_current;
Ipp32s m_vob_num;
Ipp64u m_vob_size_sum;
Ipp64u *m_vob_size;
Status FindVobFiles(vm_char *file_name);
UMC::FileReader FileReaderCur;
};
} // namespace UMC
#endif /* __UMC_VOB_READER_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -