Mercurial > mplayer.hg
diff libvo/jpeg_enc.h @ 4651:49f2bc22f880
mjpeg encoder cleanup - patch by Rik Snel <rsnel@cube.dyndns.org>
author | arpi |
---|---|
date | Mon, 11 Feb 2002 01:24:56 +0000 |
parents | |
children | c9d1054aa359 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libvo/jpeg_enc.h Mon Feb 11 01:24:56 2002 +0000 @@ -0,0 +1,45 @@ +/* Straightforward (to be) optimized JPEG encoder for the YUV422 format + * based on mjpeg code from ffmpeg. + * + * Copyright (c) 2002, Rik Snel + * Parts from ffmpeg Copyright (c) 2000, 2001 Gerard Lantau + * + * 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. + * + * For an excellent introduction to the JPEG format, see: + * http://www.ece.purdue.edu/~bourman/grad-labs/lab8/pdf/lab.pdf + */ + + +typedef struct { + struct MpegEncContext *s; + int cheap_upsample; + int bw; + int y_ps; + int u_ps; + int v_ps; + int y_rs; + int u_rs; + int v_rs; +} jpeg_enc_t; + +jpeg_enc_t *jpeg_enc_init(int w, int h, int y_psize, int y_rsize, + int u_psize, int u_rsize, int v_psize, int v_rsize, + int cu, int q, int b); + +int jpeg_enc_frame(jpeg_enc_t *j, unsigned char *y_data, + unsigned char *u_data, unsigned char *v_data, char *bufr); + +void jpeg_enc_uninit(jpeg_enc_t *j);