1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-12 09:56:30 +00:00
mpv/libvo/jpeg_enc.h
diego 2b6af2000b Add multiple inclusion guards to all header files that lack them.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25581 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-01 21:35:58 +00:00

50 lines
1.5 KiB
C

/* 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-2002 Fabrice Bellard
*
* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* For an excellent introduction to the JPEG format, see:
* http://www.ece.purdue.edu/~bourman/grad-labs/lab8/pdf/lab.pdf
*/
#ifndef JPEG_ENC_H
#define 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 /* JPEG_ENC_H */