libavcodec/rtjpeg.h
04d7f601
 /*
  * RTJpeg decoding functions
  * copyright (c) 2006 Reimar Doeffinger
  *
b78e7197
  * This file is part of FFmpeg.
  *
  * FFmpeg is free software; you can redistribute it and/or
04d7f601
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
b78e7197
  * version 2.1 of the License, or (at your option) any later version.
04d7f601
  *
b78e7197
  * FFmpeg is distributed in the hope that it will be useful,
04d7f601
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
b78e7197
  * License along with FFmpeg; if not, write to the Free Software
04d7f601
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
98790382
 #ifndef AVCODEC_RTJPEG_H
 #define AVCODEC_RTJPEG_H
dfca23e3
 
99545457
 #include <stdint.h>
e3fcb143
 
1d9c2dc8
 #include "libavutil/mem.h"
e3fcb143
 #include "idctdsp.h"
99545457
 
859a579e
 #define RTJPEG_FILE_VERSION 0
 #define RTJPEG_HEADER_SIZE 12
 
e4cbf752
 typedef struct RTJpegContext {
dfca23e3
     int w, h;
e3fcb143
     IDCTDSPContext idsp;
dfca23e3
     uint8_t scan[64];
     uint32_t lquant[64];
     uint32_t cquant[64];
88bd7fdc
     DECLARE_ALIGNED(16, int16_t, block)[64];
dfca23e3
 } RTJpegContext;
 
1df0b061
 void ff_rtjpeg_init(RTJpegContext *c, AVCodecContext *avctx);
 
 void ff_rtjpeg_decode_init(RTJpegContext *c, int width, int height,
                            const uint32_t *lquant, const uint32_t *cquant);
dfca23e3
 
0ca1bdb3
 int ff_rtjpeg_decode_frame_yuv420(RTJpegContext *c, AVFrame *f,
b034f72b
                                const uint8_t *buf, int buf_size);
98790382
 #endif /* AVCODEC_RTJPEG_H */