view libvo/jpeg_enc.h @ 27697:099f8372c2cf

r27182: apply parameter name change of no-correct-pts from r26842 to man page r27208: dvd:// streams accept the device path in the url; patch by Mathieu SCHROETER mathieu.schroeter gamesover ch r27230: Give all shell scripts a .sh suffix for consistency. r27235: moved o option beetwen m* and p* r27236: another alphabetical order correction r27334: -border/-noborder are supported by gl/gl2, too, but only on Windows. r27337: No idea which vos support -noborder how well, though those based on X11 or running on Windows _should_ work. Just remove that line for now. r27342: Remove outdated "X11 only" from xineramascreen option and try to make clearer what it does and what it does not. r27348: add list of supported vo's to -xineramascreen
author kraymer
date Wed, 08 Oct 2008 16:22:23 +0000
parents 2a34d9fa52ab
children 0f1b5b68af32
line wrap: on
line source

/*
 * straightforward (to be) optimized JPEG encoder for the YUV422 format
 * based on MJPEG code from FFmpeg
 *
 * For an excellent introduction to the JPEG format, see:
 * http://www.ece.purdue.edu/~bouman/grad-labs/lab8/pdf/lab.pdf
 *
 * Copyright (c) 2002, Rik Snel
 * parts from FFmpeg Copyright (c) 2000-2002 Fabrice Bellard
 *
 * This file is part of MPlayer.
 *
 * MPlayer 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.
 *
 * MPlayer 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 MPlayer; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 */

#ifndef MPLAYER_JPEG_ENC_H
#define MPLAYER_JPEG_ENC_H

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);

#endif /* MPLAYER_JPEG_ENC_H */