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

📄 umc_mp4_parser.h

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 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) 2004-2005 Intel Corporation. All Rights Reserved.//*/#ifndef __UMC_MP4_PARSER_H__#define __UMC_MP4_PARSER_H__#include "vm_types.h"#include "umc_data_reader.h"/*******************DECLARATIONS TYPES********************/#define MAXTRACKS 1024typedef struct{    vm_var64u     start;      /* byte start in file */    vm_var64u     end;        /* byte endpoint in file */    unsigned int size;       /* byte size for writing */    char type[4];} T_atom_mp4;typedef struct{    float values[9];} T_matrix_data;typedef struct{    unsigned char   version;    long            flags;    vm_var64u       creation_time;    vm_var64u       modification_time;    unsigned int    time_scale;    vm_var64u       duration;    float           preferred_rate;    float           preferred_volume;    char            reserved[10];    T_matrix_data   matrix;    long            preview_time;    long            preview_duration;    long            poster_time;    long            selection_time;    long            selection_duration;    long            current_time;    unsigned int    next_track_id;} T_mvhd_data;typedef struct{    unsigned char   version;    long            flags;    unsigned short  objectDescriptorID;    unsigned char   OD_profileAndLevel;    unsigned char   scene_profileAndLevel;    unsigned char   audioProfileId;    unsigned char   videoProfileId;    unsigned char   graphics_profileAndLevel;} T_iods_data;typedef struct{    unsigned char   version;    long            flags;    vm_var64u       creation_time;    vm_var64u       modification_time;    unsigned int    track_id;    long            reserved1;    vm_var64u       duration;    char            reserved2[8];    int             layer;    int             alternate_group;    float           volume;    long            reserved3;    T_matrix_data   matrix;    float           track_width;    float           track_height;    int             is_video;    int             is_audio;    int             is_hint;} T_tkhd_data;typedef struct{    unsigned char   version;    long            flags;    vm_var64u       creation_time;    vm_var64u       modification_time;    unsigned int    time_scale;    vm_var64u       duration;    unsigned short  language;    unsigned short  quality;} T_mdhd_data;typedef struct{    unsigned char   version;    long            flags;    int             graphics_mode;    int             opcolor[3];} T_vmhd_data;typedef struct{    unsigned char   version;    long            flags;    int             balance;    int             reserved;} T_smhd_data;/* hint media handler */typedef struct{    unsigned char   version;    long            flags;    unsigned short  maxPDUsize;    unsigned short  avgPDUsize;    unsigned int    maxbitrate;    unsigned int    avgbitrate;    unsigned int    slidingavgbitrate;} T_hmhd_data;typedef struct{    vm_var64u       start;    unsigned char   version;    long            flags;    int             decoderConfigLen;    unsigned char*  decoderConfig;    unsigned char   objectTypeID;    unsigned char   streamType;    long            bufferSizeDB;    unsigned int    maxBitrate;    unsigned int    avgBitrate;    unsigned short  es_ID;    unsigned short  ocr_ID;    unsigned char   streamDependenceFlag;    unsigned char   urlflag;    unsigned char   ocrflag;    unsigned char   streamPriority;    unsigned char*  URLString;} T_esds_data;typedef struct{    char            format[4];    char            reserved[6];    unsigned short  data_reference;/* common to audio and video */    int             version;    int             revision;    char            vendor[4];/* video description */    long            temporal_quality;    long            spatial_quality;    unsigned short  width;    unsigned short  height;    unsigned int    dpi_horizontal;    unsigned int    dpi_vertical;    long            data_size;    int             frames_per_sample;    char            compressor_name[32];    int             depth;    int             ctab_id;    float           gamma;    int             fields;    /* 0, 1, or 2 */    int             field_dominance;   /* 0 - unknown     1 - top first     2 - bottom first *//* audio description */    unsigned short  channels;    unsigned short  sample_size;    int             compression_id;    int             packet_size;    unsigned int    sample_rate;/* hint description */    int             maxPktSize;/* MP4 elementary stream descriptor */    T_esds_data     esds;} T_stsd_table_data;typedef struct{    unsigned char       version;    long                flags;    unsigned int       total_entries;    T_stsd_table_data * table;} T_stsd_data;typedef struct{    unsigned int        sample_count;    unsigned int        sample_duration;} T_stts_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    total_entries;    long            entries_allocated;    T_stts_table_data *table;} T_stts_data;/* sync sample */typedef struct{    long sample;} T_stss_table_data;typedef struct{    int  version;    long flags;    long total_entries;    long entries_allocated;    T_stss_table_data *table;} T_stss_data;/* sample to chunk */typedef struct{    unsigned int chunk;    unsigned int samples;    unsigned int id;    unsigned int first_sample;} T_stsc_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    total_entries;    unsigned int    entries_allocated;    T_stsc_table_data *table;} T_stsc_data;/* sample size */typedef struct{    unsigned int size;} T_stsz_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    sample_size;    unsigned int    total_entries;    unsigned int    entries_allocated;    T_stsz_table_data *table;} T_stsz_data;/* chunk offset */typedef struct{    unsigned int offset;} T_stco_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    total_entries;    long            entries_allocated;    T_stco_table_data *table;} T_stco_data;typedef struct{    vm_var64u offset;} T_co64_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    total_entries;    T_co64_table_data *table;} T_co64_data;/* composition time to sample */typedef struct{    unsigned int   sample_count;    unsigned int   sample_offset;} T_ctts_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    total_entries;    long            entries_allocated;    T_ctts_table_data *table;} T_ctts_data;/* sample table */typedef struct{    int         version;    long        flags;    T_stsd_data stsd;    T_stts_data stts;    T_stss_data stss;    T_stsc_data stsc;    T_stsz_data stsz;    T_stco_data stco;    T_co64_data co64;    T_ctts_data ctts;} T_stbl_data;/* handler reference */typedef struct{    unsigned char   version;    long            flags;    char            component_type[4];    char            component_subtype[4];    long            component_manufacturer;    long            component_flags;    long            component_flag_mask;    char            component_name[256];} T_hdlr_data;/* data reference */typedef struct{    unsigned int   size;    char            type[4];    unsigned char   version;    long            flags;    char *          data_reference;} T_dref_table_data;typedef struct{    unsigned char   version;    long            flags;    unsigned int    total_entries;    T_dref_table_data *table;} T_dref_data;/* data information */typedef struct{    T_dref_data dref;} T_dinf_data;typedef struct{    int         is_video;    int         is_audio;    int         is_hint;    T_vmhd_data vmhd;    T_smhd_data smhd;    T_hmhd_data hmhd;    T_stbl_data stbl;    T_hdlr_data hdlr;    T_dinf_data dinf;} T_minf_data;typedef struct{    T_mdhd_data mdhd;    T_minf_data minf;    T_hdlr_data hdlr;} T_mdia_data;/* edit list */typedef struct{    long duration;    long time;    float rate;} T_elst_table_data;typedef struct{    int     version;    long    flags;    long    total_entries;    T_elst_table_data *table;} T_elst_data;typedef struct{    T_elst_data elst;} T_edts_data;/* hint */typedef struct{    int   numTracks;    long  trackIds[MAXTRACKS];    void* traks[MAXTRACKS];} T_hint_data;typedef struct{    unsigned int idTrak;} T_dpnd_data;/* tref */typedef struct{    T_dpnd_data    dpnd;    T_hint_data hint;} T_tref_data;typedef struct{    T_tkhd_data tkhd;    T_mdia_data mdia;    T_edts_data edts;    T_tref_data tref;} T_trak_data;typedef struct{    char *copyright;    int   copyright_len;    char *name;    int   name_len;    char *info;    int   info_len;} T_udta_data;typedef struct{    unsigned int total_tracks;    T_mvhd_data mvhd;    T_iods_data iods;    T_trak_data *trak[MAXTRACKS];    T_udta_data udta;} T_moov;typedef struct{    T_moov        moov;    T_atom_mp4    data;    T_atom_mp4    esds;} info_atoms;#endif //__UMC_MP4_PARSER_H__

⌨️ 快捷键说明

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