X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fflashsvenc.c;h=0b01550c1e9746271ba09c2f06095e7a4457aed8;hb=1ab74bc19354aedfb9afe71515952254753a75cc;hp=f7f98efde346aab85e9c59ccde71008dc4077b7b;hpb=f05f210526a3dc2d9fa6b1c228e3907ebd1d43c6;p=ffmpeg diff --git a/libavcodec/flashsvenc.c b/libavcodec/flashsvenc.c index f7f98efde34..0b01550c1e9 100644 --- a/libavcodec/flashsvenc.c +++ b/libavcodec/flashsvenc.c @@ -59,11 +59,10 @@ typedef struct FlashSVContext { uint8_t *previous_frame; int image_width, image_height; int block_width, block_height; - uint8_t *tmpblock; uint8_t *encbuffer; int block_size; - z_stream zstream; int last_key_frame; + uint8_t tmpblock[3 * 256 * 256]; } FlashSVContext; static int copy_region_enc(uint8_t *sptr, uint8_t *dptr, int dx, int dy, @@ -92,11 +91,8 @@ static av_cold int flashsv_encode_end(AVCodecContext *avctx) { FlashSVContext *s = avctx->priv_data; - deflateEnd(&s->zstream); - av_freep(&s->encbuffer); av_freep(&s->previous_frame); - av_freep(&s->tmpblock); return 0; } @@ -113,18 +109,14 @@ static av_cold int flashsv_encode_init(AVCodecContext *avctx) return AVERROR_INVALIDDATA; } - // Needed if zlib unused or init aborted before deflateInit - memset(&s->zstream, 0, sizeof(z_stream)); - s->last_key_frame = 0; s->image_width = avctx->width; s->image_height = avctx->height; - s->tmpblock = av_mallocz(3 * 256 * 256); s->encbuffer = av_mallocz(s->image_width * s->image_height * 3); - if (!s->tmpblock || !s->encbuffer) { + if (!s->encbuffer) { av_log(avctx, AV_LOG_ERROR, "Memory allocation failed.\n"); return AVERROR(ENOMEM); } @@ -182,7 +174,6 @@ static int encode_bitstream(FlashSVContext *s, const AVFrame *p, uint8_t *buf, ret = compress2(ptr + 2, &zsize, s->tmpblock, 3 * cur_blk_width * cur_blk_height, 9); - //ret = deflateReset(&s->zstream); if (ret != Z_OK) av_log(s->avctx, AV_LOG_ERROR, "error while compressing block %dx%d\n", i, j); @@ -254,21 +245,8 @@ static int flashsv_encode_frame(AVCodecContext *avctx, AVPacket *pkt, //mark the frame type so the muxer can mux it correctly if (I_frame) { -#if FF_API_CODED_FRAME -FF_DISABLE_DEPRECATION_WARNINGS - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I; - avctx->coded_frame->key_frame = 1; -FF_ENABLE_DEPRECATION_WARNINGS -#endif s->last_key_frame = avctx->frame_number; ff_dlog(avctx, "Inserting keyframe at frame %d\n", avctx->frame_number); - } else { -#if FF_API_CODED_FRAME -FF_DISABLE_DEPRECATION_WARNINGS - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P; - avctx->coded_frame->key_frame = 0; -FF_ENABLE_DEPRECATION_WARNINGS -#endif } if (I_frame) @@ -278,7 +256,7 @@ FF_ENABLE_DEPRECATION_WARNINGS return 0; } -AVCodec ff_flashsv_encoder = { +const AVCodec ff_flashsv_encoder = { .name = "flashsv", .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video"), .type = AVMEDIA_TYPE_VIDEO,