mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-12 19:18:44 +02:00
059fc2d9da
Currently said list contains only the pixel formats that are always supported irrespective of the range and the value of strict_std_compliance. This makes the MJPEG encoder an outlier as all other codecs put all potentially supported pixel formats into said list and error out if the chosen pixel format is unsupported. This commit brings it therefore in line with the other encoders. The behaviour of fftools/ffmpeg_filter.c has been preserved. A more informed decision would be possible if colour range were available at this point, but it isn't. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
47 lines
1.8 KiB
C
47 lines
1.8 KiB
C
/*
|
|
* lossless JPEG shared bits
|
|
*
|
|
* This file is part of FFmpeg.
|
|
*
|
|
* FFmpeg is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* FFmpeg 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
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with FFmpeg; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*/
|
|
|
|
#ifndef AVCODEC_MJPEGENC_COMMON_H
|
|
#define AVCODEC_MJPEGENC_COMMON_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "avcodec.h"
|
|
#include "idctdsp.h"
|
|
#include "put_bits.h"
|
|
|
|
void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb,
|
|
ScanTable *intra_scantable, int pred,
|
|
uint16_t luma_intra_matrix[64],
|
|
uint16_t chroma_intra_matrix[64]);
|
|
void ff_mjpeg_encode_picture_trailer(PutBitContext *pb, int header_bits);
|
|
void ff_mjpeg_escape_FF(PutBitContext *pb, int start);
|
|
void ff_mjpeg_build_huffman_codes(uint8_t *huff_size, uint16_t *huff_code,
|
|
const uint8_t *bits_table,
|
|
const uint8_t *val_table);
|
|
void ff_mjpeg_init_hvsample(AVCodecContext *avctx, int hsample[4], int vsample[4]);
|
|
|
|
void ff_mjpeg_encode_dc(PutBitContext *pb, int val,
|
|
uint8_t *huff_size, uint16_t *huff_code);
|
|
|
|
int ff_mjpeg_encode_check_pix_fmt(AVCodecContext *avctx);
|
|
|
|
#endif /* AVCODEC_MJPEGENC_COMMON_H */
|