Only used during init. Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/dxvenc.c | 6 +++--- libavcodec/hap.h | 1 - libavcodec/hapdec.c | 15 ++++++++------- libavcodec/hapenc.c | 9 +++++---- 4 files changed, 16 insertions(+), 15 deletions(-)
diff --git a/libavcodec/dxvenc.c b/libavcodec/dxvenc.c index 94e522d72b..796f70da02 100644 --- a/libavcodec/dxvenc.c +++ b/libavcodec/dxvenc.c @@ -110,7 +110,6 @@ static void ht_delete(HTEntry *ht, const AVCRC *hash_ctx, typedef struct DXVEncContext { AVClass *class; - TextureDSPContext texdsp; PutByteContext pbc; uint8_t *tex_data; // Compressed texture @@ -267,6 +266,7 @@ static int dxv_encode(AVCodecContext *avctx, AVPacket *pkt, static av_cold int dxv_init(AVCodecContext *avctx) { DXVEncContext *ctx = avctx->priv_data; + TextureDSPContext texdsp; int ret = av_image_check_size(avctx->width, avctx->height, 0, avctx); if (ret < 0) { @@ -275,12 +275,12 @@ static av_cold int dxv_init(AVCodecContext *avctx) return ret; } - ff_texturedspenc_init(&ctx->texdsp); + ff_texturedspenc_init(&texdsp); switch (ctx->tex_fmt) { case DXV_FMT_DXT1: ctx->compress_tex = dxv_compress_dxt1; - ctx->enc.tex_funct = ctx->texdsp.dxt1_block; + ctx->enc.tex_funct = texdsp.dxt1_block; ctx->enc.tex_ratio = 8; break; default: diff --git a/libavcodec/hap.h b/libavcodec/hap.h index fb5a4c4123..a888b58fd7 100644 --- a/libavcodec/hap.h +++ b/libavcodec/hap.h @@ -61,7 +61,6 @@ typedef struct HapChunk { typedef struct HapContext { AVClass *class; - TextureDSPContext dxtc; GetByteContext gbc; enum HapTextureFormat opt_tex_fmt; /* Texture type (encoder only) */ diff --git a/libavcodec/hapdec.c b/libavcodec/hapdec.c index fee3c04d84..64e0494370 100644 --- a/libavcodec/hapdec.c +++ b/libavcodec/hapdec.c @@ -337,6 +337,7 @@ static int hap_decode(AVCodecContext *avctx, AVFrame *frame, static av_cold int hap_init(AVCodecContext *avctx) { HapContext *ctx = avctx->priv_data; + TextureDSPContext dxtc; const char *texture_name; int ret = av_image_check_size(avctx->width, avctx->height, 0, avctx); @@ -350,7 +351,7 @@ static av_cold int hap_init(AVCodecContext *avctx) avctx->coded_width = FFALIGN(avctx->width, TEXTURE_BLOCK_W); avctx->coded_height = FFALIGN(avctx->height, TEXTURE_BLOCK_H); - ff_texturedsp_init(&ctx->dxtc); + ff_texturedsp_init(&dxtc); ctx->texture_count = 1; ctx->dec[0].raw_ratio = 16; @@ -361,25 +362,25 @@ static av_cold int hap_init(AVCodecContext *avctx) case MKTAG('H','a','p','1'): texture_name = "DXT1"; ctx->dec[0].tex_ratio = 8; - ctx->dec[0].tex_funct = ctx->dxtc.dxt1_block; + ctx->dec[0].tex_funct = dxtc.dxt1_block; avctx->pix_fmt = AV_PIX_FMT_RGB0; break; case MKTAG('H','a','p','5'): texture_name = "DXT5"; ctx->dec[0].tex_ratio = 16; - ctx->dec[0].tex_funct = ctx->dxtc.dxt5_block; + ctx->dec[0].tex_funct = dxtc.dxt5_block; avctx->pix_fmt = AV_PIX_FMT_RGBA; break; case MKTAG('H','a','p','Y'): texture_name = "DXT5-YCoCg-scaled"; ctx->dec[0].tex_ratio = 16; - ctx->dec[0].tex_funct = ctx->dxtc.dxt5ys_block; + ctx->dec[0].tex_funct = dxtc.dxt5ys_block; avctx->pix_fmt = AV_PIX_FMT_RGB0; break; case MKTAG('H','a','p','A'): texture_name = "RGTC1"; ctx->dec[0].tex_ratio = 8; - ctx->dec[0].tex_funct = ctx->dxtc.rgtc1u_gray_block; + ctx->dec[0].tex_funct = dxtc.rgtc1u_gray_block; ctx->dec[0].raw_ratio = 4; avctx->pix_fmt = AV_PIX_FMT_GRAY8; break; @@ -387,8 +388,8 @@ static av_cold int hap_init(AVCodecContext *avctx) texture_name = "DXT5-YCoCg-scaled / RGTC1"; ctx->dec[0].tex_ratio = 16; ctx->dec[1].tex_ratio = 8; - ctx->dec[0].tex_funct = ctx->dxtc.dxt5ys_block; - ctx->dec[1].tex_funct = ctx->dxtc.rgtc1u_alpha_block; + ctx->dec[0].tex_funct = dxtc.dxt5ys_block; + ctx->dec[1].tex_funct = dxtc.rgtc1u_alpha_block; ctx->dec[1].raw_ratio = 16; ctx->dec[1].slice_count = ctx->dec[0].slice_count; avctx->pix_fmt = AV_PIX_FMT_RGBA; diff --git a/libavcodec/hapenc.c b/libavcodec/hapenc.c index 7de7358e3d..2c8bc8e16a 100644 --- a/libavcodec/hapenc.c +++ b/libavcodec/hapenc.c @@ -232,6 +232,7 @@ static int hap_encode(AVCodecContext *avctx, AVPacket *pkt, static av_cold int hap_init(AVCodecContext *avctx) { HapContext *ctx = avctx->priv_data; + TextureDSPContext dxtc; int corrected_chunk_count; int ret = av_image_check_size(avctx->width, avctx->height, 0, avctx); @@ -247,26 +248,26 @@ static av_cold int hap_init(AVCodecContext *avctx) return AVERROR_INVALIDDATA; } - ff_texturedspenc_init(&ctx->dxtc); + ff_texturedspenc_init(&dxtc); switch (ctx->opt_tex_fmt) { case HAP_FMT_RGBDXT1: ctx->enc.tex_ratio = 8; avctx->codec_tag = MKTAG('H', 'a', 'p', '1'); avctx->bits_per_coded_sample = 24; - ctx->enc.tex_funct = ctx->dxtc.dxt1_block; + ctx->enc.tex_funct = dxtc.dxt1_block; break; case HAP_FMT_RGBADXT5: ctx->enc.tex_ratio = 16; avctx->codec_tag = MKTAG('H', 'a', 'p', '5'); avctx->bits_per_coded_sample = 32; - ctx->enc.tex_funct = ctx->dxtc.dxt5_block; + ctx->enc.tex_funct = dxtc.dxt5_block; break; case HAP_FMT_YCOCGDXT5: ctx->enc.tex_ratio = 16; avctx->codec_tag = MKTAG('H', 'a', 'p', 'Y'); avctx->bits_per_coded_sample = 24; - ctx->enc.tex_funct = ctx->dxtc.dxt5ys_block; + ctx->enc.tex_funct = dxtc.dxt5ys_block; break; default: av_log(avctx, AV_LOG_ERROR, "Invalid format %02X\n", ctx->opt_tex_fmt); -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".