/*
* ffmpeg main
* Copyright (c) 2000-2003 Fabrice Bellard
*
* This file is part of FFmpeg.
*
* FFmpeg 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.
*
* FFmpeg 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 FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "config.h"
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <errno.h>
#include <signal.h>
#include <limits.h>
#include <unistd.h>
#include "libavformat/avformat.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libavutil/opt.h"
#include "libavcodec/audioconvert.h"
#include "libavutil/audioconvert.h"
#include "libavutil/parseutils.h"
#include "libavutil/samplefmt.h"
#include "libavutil/colorspace.h"
#include "libavutil/fifo.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avstring.h"
#include "libavutil/libm.h"
#include "libavformat/os_support.h"
#include "libavformat/ffm.h" // not public API
#if CONFIG_AVFILTER
# include "libavfilter/avcodec.h"
# include "libavfilter/avfilter.h"
# include "libavfilter/avfiltergraph.h"
# include "libavfilter/vsink_buffer.h"
# include "libavfilter/vsrc_buffer.h"
#endif
#if HAVE_SYS_RESOURCE_H
#include <sys/types.h>
#include <sys/time.h>
#include <sys/resource.h>
#elif HAVE_GETPROCESSTIMES
#include <windows.h>
#endif
#if HAVE_GETPROCESSMEMORYINFO
#include <windows.h>
#include <psapi.h>
#endif
#if HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
#if HAVE_TERMIOS_H
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/time.h>
#include <termios.h>
#elif HAVE_KBHIT
#include <conio.h>
#endif
#include <time.h>
#include "cmdutils.h"
#include "libavutil/avassert.h"
const char program_name[] = "ffmpeg";
const int program_birth_year = 2000;
/* select an input stream for an output stream */
typedef struct AVStreamMap {
int file_index;
int stream_index;
int sync_file_index;
int sync_stream_index;
} AVStreamMap;
/**
* select an input file for an output file
*/
typedef struct AVMetaDataMap {
int file; //< file index
char type; //< type of metadata to copy -- (g)lobal, (s)tream, (c)hapter or (p)rogram
int index; //< stream/chapter/program number
} AVMetaDataMap;
typedef struct AVChapterMap {
int in_file;
int out_file;
} AVChapterMap;
static const OptionDef options[];
#define MAX_FILES 100
#define MAX_STREAMS 1024 /* arbitrary sanity check value */
static const char *last_asked_format = NULL;
static int64_t input_files_ts_offset[MAX_FILES];
static double *input_files_ts_scale[MAX_FILES] = {NULL};
static AVCodec **input_codecs = NULL;
static int nb_input_codecs = 0;
static int nb_input_files_ts_scale[MAX_FILES] = {0};
static AVFormatContext *output_files[MAX_FILES];
static int nb_output_files = 0;
static AVStreamMap *stream_maps = NULL;
static int nb_stream_maps;
/* first item specifies output metadata, second is input */
static AVMetaDataMap (*meta_data_maps)[2] = NULL;
static int nb_meta_data_maps;
static int metadata_global_autocopy = 1;
static int metadata_streams_autocopy = 1;
static int metadata_chapters_autocopy = 1;
static AVChapterMap *chapter_maps = NULL;
static int nb_chapter_maps;
/* indexed by output file stream index */
static int *streamid_map = NULL;
static int nb_streamid_map = 0;
static int frame_width = 0;
static int frame_height = 0;
static float frame_aspect_ratio = 0;
static enum PixelFormat frame_pix_fmt = PIX_FMT_NONE;
static int frame_bits_per_raw_sample = 0;
static enum AVSampleFormat audio_sample_fmt = AV_SAMPLE_FMT_NONE;
static int max_frames[4] = {INT_MAX, INT_MAX, INT_MAX, INT_MAX};
static AVRational frame_rate;
static float video_qscale = 0;
static uint16_t *intra_matrix = NULL;
static uint16_t *inter_matrix = NULL;
static const char *video_rc_override_string=NULL;
static int video_disable = 0;
static int video_discard = 0;
static char *video_codec_name = NULL;
static unsigned int video_codec_tag = 0;
static char *video_language = NULL;
static int same_quality = 0;
static int do_deinterlace = 0;
static int top_field_first = -1;
static int me_threshold = 0;
static int intra_dc_precision = 8;
static int loop_input = 0;
static int loop_output = AVFMT_NOOUTPUTLOOP;
static int qp_hist = 0;
#if CONFIG_AVFILTER
static char *vfilters = NULL;
#endif
static int intra_only = 0;
static int audio_sample_rate = 0;
static int64_t channel_layout = 0;
#define QSCALE_NONE -99999
static float audio_qscale = QSCALE_NONE;
static int audio_disable = 0;
static int audio_channels = 0;
static char *audio_codec_name = NULL;
static unsigned int audio_codec_tag = 0;
static char *audio_language = NULL;
static int subtitle_disable = 0;
static char *subtitle_codec_name = NULL;
static char *subtitle_language = NULL;
static unsigned int subtitle_codec_tag = 0;
static int data_disable = 0;
static char *data_codec_name = NULL;
static unsigned int data_codec_tag = 0;
static float mux_preload= 0.5;
static float mux_max_delay= 0.7;
static int64_t recording_time = INT64_MAX;
static int64_t start_time = 0;
static int64_t recording_timestamp = 0;
static int64_t input_ts_offset = 0;
static int file_overwrite = 0;
static AVDictionary *metadata;
static int do_benchmark = 0;
static int do_hex_dump = 0;
static int do_pkt_dump = 0;
static int do_psnr = 0;
static int do_pass = 0;
static const char *pass_logfilename_prefix;
static int audio_stream_copy = 0;
static int video_stream_copy = 0;
static int subtitle_stream_copy = 0;
static int data_stream_copy = 0;
static int video_sync_method= -1;
static int audio_sync_method= 0;
static float audio_drift_threshold= 0.1;
static int copy_ts= 0;
static int copy_tb= 0;
static int opt_shortest = 0;
static char *vstats_filename;
static FILE *vstats_file;
static int opt_programid = 0;
static int copy_initial_nonkeyframes = 0;
static int rate_emu = 0;
static int video_channel = 0;
static char *video_standard;
static int audio_volume = 256;
static int exit_on_error = 0;
static int using_stdin = 0;
static int verbose = 1;
static int run_as_daemon = 0;
static int thread_count= 1;
static int q_pressed = 0;
static int64_t video_size = 0;
static int64_t audio_size = 0;
static int64_t extra_size = 0;
static int nb_frames_dup = 0;
static int nb_frames_drop = 0;
static int input_sync;
static uint64_t limit_filesize = 0;
static int force_fps = 0;
static char *forced_key_frames = NULL;
static float dts_delta_threshold = 10;
static int64_t timer_start;
static uint8_t *audio_buf;
static uint8_t *audio_out;
static unsigned int allocated_audio_out_size, allocated_audio_buf_size;
static short *samples;
static AVBitStreamFilterContext *video_bitstream_filters=NULL;
static AVBitStreamFilterContext *audio_bitstream_filters=NULL;
static AVBitStreamFilterContext *subtitle_bitstream_filters=NULL;
#define DEFAULT_PASS_LOGFILENAME_PREFIX "ffmpeg2pass"
struct AVInputStream;
typedef struct AVOutputStream {
int file_index; /* file index */
int index; /* stream index in the output file */
int source_index; /* AVInputStream index */
AVStream *st; /* stream in the output file */
int encoding_needed; /* true if encoding needed for this stream */
int frame_number;
/* input pts and corresponding output pts
for A/V sync */
//double sync_ipts; /* dts from the AVPacket of the demuxer in second units */
stru
没有合适的资源?快使用搜索试试~ 我知道了~
已经编译好so库的 FFMPEG0.8.3
4星 · 超过85%的资源 需积分: 9 44 下载量 171 浏览量
2013-04-30
23:01:19
上传
评论 1
收藏 34.69MB GZ 举报
温馨提示
共2000个文件
c:1044个
o:703个
d:703个
根据网上教程在ubuntu下通过ndk-r6b编译ffmpeg0.8.3版本,包含ffmpeg的源代码,已经生成的动态库libffmpeg.so 方便大家学习及使用。
资源推荐
资源详情
资源评论
收起资源包目录
已经编译好so库的 FFMPEG0.8.3 (2000个子文件)
COPYING.LGPLv2.1 26KB
4xm-1 430B
4xm-2 5KB
creative-adpcm-8-2.6bit 33B
8bps 957B
aac-demux 15B
aasc 661B
ac3_fixed 94B
ac3_rm 2KB
adpcm-ea-r2 15B
adpcm-ea-r3 15B
adpcm_ima_qt 252B
adpcm_ima_wav 3KB
adpcm_ima_wav 253B
adpcm_ms 246B
adpcm_ms_wav 3KB
adpcm_qt_aiff 3KB
adpcm_swf 249B
adpcm_swf_flv 3KB
adpcm_yam 249B
adpcm_yam_wav 3KB
aea-demux 15B
aiff 136B
alac 234B
alac_m4a 3KB
alaw 133B
alg-mm 913B
amv 9KB
ansi 487B
APIchanges 34KB
aref 98B
armovie-escape124 3KB
asf 137B
vp8dsp.asm 78KB
h264_intrapred.asm 70KB
dsputil_yasm.asm 28KB
h264_idct.asm 25KB
h264_deblock.asm 23KB
h264_deblock_10bit.asm 22KB
x86inc.asm 22KB
vp3dsp.asm 21KB
fft_mmx.asm 21KB
h264_chromamc.asm 17KB
h264_idct_10bit.asm 14KB
dct32_sse.asm 12KB
x86util.asm 11KB
dsputilenc_yasm.asm 10KB
ac3dsp.asm 9KB
h264_intrapred_10bit.asm 9KB
h264_weight.asm 8KB
h264_chromamc_10bit.asm 8KB
vc1dsp_yasm.asm 8KB
fmtconvert.asm 6KB
vp56dsp.asm 5KB
deinterlace.asm 2KB
asv1 238B
asv1 237B
asv1_avi 3KB
asv2 238B
asv2 237B
asv2_avi 3KB
au 133B
auravision 674B
auravision-v2 53B
avi 137B
bethsoft-vid 4KB
bfi 3KB
bink-demux 15B
bink-demux-video 578B
bmp 151B
ffmpeg.c 169KB
h264.c 160KB
snow.c 159KB
postprocess_template.c 157KB
ffserver.c 155KB
vc1dec.c 143KB
mpegvideo_enc.c 140KB
vorbis_data.c 134KB
utils.c 128KB
dsputil_vis.c 118KB
dsputil_mmx.c 118KB
swscale_template.c 113KB
dsputil.c 110KB
h264_cabac.c 109KB
rgb2rgb_template.c 106KB
mpegvideo.c 101KB
swscale.c 97KB
ffplay.c 96KB
mpeg12.c 93KB
aacdec.c 89KB
mov.c 88KB
mpeg4videodec.c 85KB
msmpeg4data.c 83KB
vp3.c 81KB
movenc.c 81KB
ac3enc.c 80KB
wmavoice.c 80KB
motion_est.c 78KB
matroskadec.c 73KB
ra144.c 73KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
奶茶王子
- 粉丝: 6
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页