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

📄 writepic.c

📁 MPEG2编解码的源代码.zip
💻 C
字号:
/* writepic.c, write reconstructed pictures                                 *//* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. *//* * Disclaimer of Warranty * * These software programs are available to the user without any license fee or * royalty on an "as is" basis.  The MPEG Software Simulation Group disclaims * any and all warranties, whether express, implied, or statuary, including any * implied warranties or merchantability or of fitness for a particular * purpose.  In no event shall the copyright-holder be liable for any * incidental, punitive, or consequential damages of any kind whatsoever * arising from the use of these programs. * * This disclaimer of warranty extends to the user of these programs and user's * customers, employees, agents, transferees, successors, and assigns. * * The MPEG Software Simulation Group does not represent or warrant that the * programs furnished hereunder are free of infringement of any third-party * patents. * * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware, * are subject to royalty fees to patent holders.  Many of these patents are * general enough such that they are unavoidable regardless of implementation * design. * */#include <stdio.h>#include <stdlib.h>#include "config.h"#include "global.h"void writeframe(fname,frame)char *fname;unsigned char *frame[];{  int chrom_hsize, chrom_vsize;  char name[128];  FILE *fd;  chrom_hsize = (chroma_format==CHROMA444) ? horizontal_size                                           : horizontal_size>>1;  chrom_vsize = (chroma_format!=CHROMA420) ? vertical_size                                           : vertical_size>>1;  if (fname[0]=='-')    return;  /* Y */  sprintf(name,"%s.Y",fname);  if (!(fd = fopen(name,"wb")))  {    sprintf(errortext,"Couldn't create %s\n",name);    error(errortext);  }  fwrite(frame[0],1,horizontal_size*vertical_size,fd);  fclose(fd);  /* Cb */  sprintf(name,"%s.U",fname);  if (!(fd = fopen(name,"wb")))  {    sprintf(errortext,"Couldn't create %s\n",name);    error(errortext);  }  fwrite(frame[1],1,chrom_hsize*chrom_vsize,fd);  fclose(fd);  /* Cr */  sprintf(name,"%s.V",fname);  if (!(fd = fopen(name,"wb")))  {    sprintf(errortext,"Couldn't create %s\n",name);    error(errortext);  }  fwrite(frame[2],1,chrom_hsize*chrom_vsize,fd);  fclose(fd);}

⌨️ 快捷键说明

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