On Tue, Jul 16, 2024 at 07:11:37PM +0200, Anton Khirnov wrote:
> All remaining accesses to them are for fields that have the same value
> in the main encoder context.
> ---
> libavcodec/ffv1enc.c | 57 ++++++++++++++++-------------------
> libavcodec/ffv1enc_template.c | 24 +++++++--------
> 2 files changed, 37 insertions(+), 44 deletions(-)
[...]
> +RENAME(encode_line)(FFV1Context *f, FFV1SliceContext *sc,
> int w, TYPE *sample[3], int plane_index, int bits)
> {
> PlaneContext *const p = &sc->plane[plane_index];
> @@ -36,12 +35,12 @@ RENAME(encode_line)(FFV1Context *f,
>
> if (f->ac != AC_GOLOMB_RICE) {
> if (c->bytestream_end - c->bytestream < w * 35) {
> - av_log(s->avctx, AV_LOG_ERROR, "encoded frame too large\n");
> + av_log(f->avctx, AV_LOG_ERROR, "encoded frame too large\n");
> return AVERROR_INVALIDDATA;
> }
> } else {
> if (put_bytes_left(&sc->pb, 0) < w * 4) {
> - av_log(s->avctx, AV_LOG_ERROR, "encoded frame too large\n");
> + av_log(f->avctx, AV_LOG_ERROR, "encoded frame too large\n");
> return AVERROR_INVALIDDATA;
> }
> }
> @@ -73,7 +72,7 @@ RENAME(encode_line)(FFV1Context *f,
> diff = fold(diff, bits);
>
> if (f->ac != AC_GOLOMB_RICE) {
> - if (s->flags & AV_CODEC_FLAG_PASS1) {
> + if (f->flags & AV_CODEC_FLAG_PASS1) {
> put_symbol_inline(c, p->state[context], diff, 1, sc->rc_stat,
>
> sc->rc_stat2[p->quant_table_index][context]);
> } else {
> @@ -103,7 +102,7 @@ RENAME(encode_line)(FFV1Context *f,
> }
> }
>
> - ff_dlog(s->avctx, "count:%d index:%d, mode:%d, x:%d pos:%d\n",
> + ff_dlog(f->avctx, "count:%d index:%d, mode:%d, x:%d pos:%d\n",
> run_count, run_index, run_mode, x,
> (int)put_bits_count(&sc->pb));
> iam not sure if carrying a 2nd pointer around in the loops in encode_line() for ac/flags/avctx is worth it. IMHO these could be either on teh stack or in the slice context thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB It is dangerous to be right in matters on which the established authorities are wrong. -- Voltaire
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
