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

📄 lav_common.h

📁 Motion JPEG编解码器源代码
💻 H
字号:
/* lav_common - some general utility functionality used by multiple	lavtool utilities. *//* Copyright (C) 2000, Rainer Johanni, Andrew Stevens *//* - added scene change detection code 2001, pHilipp Zabel */ /* - broke some code out to lav_common.h and lav_common.c *   July 2001, Shawn Sulma <lavtools@athos.cx>.  Part of these changes were *   to replace the large number of globals with a handful of structs that *   get passed in to the relevant functions.  Some of this may be *   inefficient, subtly broken, or Wrong.  Helpful feedback is certainly *   welcome. *//* - removed a lot of subsumed functionality and unnecessary cruft *   March 2002, Matthew Marjanovic <maddog@mir.com>. *//*   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., 675 Mass Ave, Cambridge, MA 02139, USA.                */#include "editlist.h"#include "yuv4mpeg.h"#include "mjpeg_logging.h"#define MAX_EDIT_LIST_FILES 256#define MAX_JPEG_LEN (3*576*768/2)#define BUFFER_ALIGN 16/** * (SS 2001-July-13) * The split of the globals into three structs is somewhat arbitrary, but * I've tried to do them based on role as used in lav2yuv and (my own) * lav2divx.   * - LavParam handles data that is generally per-run dependent *   (e.g. from the command line). * - LavBounds contains data about bounds used in processing.  It is generally *   not dependent on command line alteration. * - LavBuffer contains buffers used to perform various tasks. * **/typedef struct {   int offset;   int frames;   int mono;   char *scenefile;   int delta_lum_threshold; /* = 4; */   unsigned int scene_detection_decimation; /* = 2; */   int output_width;   int output_height;   int interlace;   y4m_ratio_t sar; /* sample aspect ratio (default 0:0 == unspecified) */   y4m_ratio_t dar; /* 'suggested' display aspect ratio */   int chroma;    int chroma_width;  int chroma_height;  int luma_size;  int chroma_size;} LavParam;int luminance_mean(uint8_t *frame[], int w, int h);int readframe(int numframe, uint8_t *frame[],	      LavParam *param, EditList el);void writeoutYUV4MPEGheader(int out_fd, LavParam *param, EditList el,			    y4m_stream_info_t *streaminfo);void init(LavParam *param, uint8_t *frame[]);#ifdef HAVE_LIBDV#include <libdv/dv.h>void frame_YUV422_to_planar(uint8_t **output, uint8_t *input,			    int width, int height, int chroma422);void lav_init_dv_decoder(void);#endif

⌨️ 快捷键说明

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