mirror of https://git.ffmpeg.org/ffmpeg.git
Allow to override zlib compression level in PNG encoder via avctx->compression_level
Originally committed as revision 10699 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
f6e3c4603d
commit
9ba718e481
|
@ -144,6 +144,7 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||||
AVFrame * const p= (AVFrame*)&s->picture;
|
AVFrame * const p= (AVFrame*)&s->picture;
|
||||||
int bit_depth, color_type, y, len, row_size, ret, is_progressive;
|
int bit_depth, color_type, y, len, row_size, ret, is_progressive;
|
||||||
int bits_per_pixel, pass_row_size;
|
int bits_per_pixel, pass_row_size;
|
||||||
|
int compression_level;
|
||||||
uint8_t *ptr;
|
uint8_t *ptr;
|
||||||
uint8_t *crow_buf = NULL;
|
uint8_t *crow_buf = NULL;
|
||||||
uint8_t *tmp_buf = NULL;
|
uint8_t *tmp_buf = NULL;
|
||||||
|
@ -187,7 +188,10 @@ static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size,
|
||||||
s->zstream.zalloc = ff_png_zalloc;
|
s->zstream.zalloc = ff_png_zalloc;
|
||||||
s->zstream.zfree = ff_png_zfree;
|
s->zstream.zfree = ff_png_zfree;
|
||||||
s->zstream.opaque = NULL;
|
s->zstream.opaque = NULL;
|
||||||
ret = deflateInit2(&s->zstream, Z_DEFAULT_COMPRESSION,
|
compression_level = avctx->compression_level == FF_COMPRESSION_DEFAULT ?
|
||||||
|
Z_DEFAULT_COMPRESSION :
|
||||||
|
av_clip(avctx->compression_level, 0, 9);
|
||||||
|
ret = deflateInit2(&s->zstream, compression_level,
|
||||||
Z_DEFLATED, 15, 8, Z_DEFAULT_STRATEGY);
|
Z_DEFLATED, 15, 8, Z_DEFAULT_STRATEGY);
|
||||||
if (ret != Z_OK)
|
if (ret != Z_OK)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue