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

📄 remux.h

📁 DVBstream is based on the ts-rtp package available at http://www.linuxtv.org. It broadcasts a (subs
💻 H
字号:
/* *  mpegtools for the Siemens Fujitsu DVB PCI card * * Copyright (C) 2000, 2001 Marcus Metzler  *            for convergence integrated media GmbH *  * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. *  * This program 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 General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Or, point your browser to http://www.gnu.org/copyleft/gpl.html *  * The author can be reached at marcus@convergence.de,  * the project's page is at http://linuxtv.org/dvb/ */#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <unistd.h>#include <netinet/in.h>#include <string.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/ioctl.h>#include <libgen.h>#include <stdint.h>#include "ringbuffy.h"#include "ctools.h"#ifndef _REMUX_H_#define _REMUX_H_#ifdef __cplusplusextern "C" {#endif				/* __cplusplus */	typedef struct video_i{		u32 horizontal_size;		u32 vertical_size 	;		u32 aspect_ratio	;		double framerate	;		u32 video_format;		u32 bit_rate 	;		u32 comp_bit_rate	;		u32 vbv_buffer_size;		u32 CSPF 		;		u32 off;	} VideoInfo; 			typedef struct audio_i{		int layer;		u32 bit_rate;		u32 frequency;		u32 mode;		u32 mode_extension;		u32 emphasis;		u32 framesize;		u32 off;	} AudioInfo;	typedef	struct PTS_list_struct{		u32 PTS;		int pos;		u32 dts;		int spos;	} PTS_List;	typedef	struct frame_list_struct{		int type;		int pos;		u32 FRAME;		u32 time;		u32 pts;		u32 dts;	} FRAME_List;	typedef	struct remux_struct{		ringbuffy vid_buffy;		ringbuffy aud_buffy;		PTS_List vpts_list[MAX_PTS];		PTS_List apts_list[MAX_PTS];		FRAME_List vframe_list[MAX_FRAME];		FRAME_List aframe_list[MAX_FRAME];		int vptsn;		int aptsn;		int vframen;		int aframen;		long apes;		long vpes;		u32 vframe;		u32 aframe;		u32 vcframe;		u32 acframe;		u32 vpts;		u32 vdts;		u32 apts;		u32 vpts_old;		u32 apts_old;		u32 SCR;		u32 apts_off;		u32 vpts_off;		u32 apts_delay;		u32 vpts_delay;		u32 dts_delay;		AudioInfo audio_info;		VideoInfo video_info;		int fin;		int fout;		long int awrite;		long int vwrite;		long int aread;		long int vread;		u32 group;		u32 groupframe;		u32 muxr;		int pack_size;		u32 time_off;	} Remux;	enum { NONE, I_FRAME, P_FRAME, B_FRAME, D_FRAME };	void remux(int fin, int fout, int pack_size, int mult);	void remux2(int fdin, int fdout);#ifdef __cplusplus}#endif				/* __cplusplus */#endif /*_REMUX_H_*/

⌨️ 快捷键说明

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