[FFmpeg-cvslog] avcodec/mpegvideo_enc: Pass data_partitioning directly
Andreas Rheinhardt
git at videolan.org
Sat Mar 29 03:06:49 EET 2025
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Mar 25 16:03:38 2025 +0100| [f8360ed629c81bc623eb49202e2340ebb1e245d1] | committer: Andreas Rheinhardt
avcodec/mpegvideo_enc: Pass data_partitioning directly
This avoids having to store it in the backup MPVEncContext.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f8360ed629c81bc623eb49202e2340ebb1e245d1
---
libavcodec/mpegvideo_enc.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 5ca45b3e0f..4130601d47 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -2660,7 +2660,8 @@ static inline void copy_context_before_encode(MPVEncContext *const d,
}
static inline void copy_context_after_encode(MPVEncContext *const d,
- const MPVEncContext *const s)
+ const MPVEncContext *const s,
+ int data_partitioning)
{
int i;
@@ -2684,7 +2685,7 @@ static inline void copy_context_after_encode(MPVEncContext *const d,
d->c.mv_type = s->c.mv_type;
d->c.mv_dir = s->c.mv_dir;
d->pb= s->pb;
- if (s->c.data_partitioning) {
+ if (data_partitioning) {
d->pb2= s->pb2;
d->tex_pb= s->tex_pb;
}
@@ -2744,7 +2745,7 @@ static void encode_mb_hq(MPVEncContext *const s, MPVEncContext *const backup, MP
*dmin= score;
*next_block^=1;
- copy_context_after_encode(best, s);
+ copy_context_after_encode(best, s, s->c.data_partitioning);
}
}
@@ -3165,8 +3166,6 @@ static int encode_thread(AVCodecContext *c, void *arg){
copy_context_before_encode(&backup_s, s);
backup_s.pb= s->pb;
- best_s.c.data_partitioning = s->c.data_partitioning;
- best_s.c.partitioned_frame = s->c.partitioned_frame;
if (s->c.data_partitioning) {
backup_s.pb2= s->pb2;
backup_s.tex_pb= s->tex_pb;
@@ -3390,7 +3389,7 @@ static int encode_thread(AVCodecContext *c, void *arg){
}
}
- copy_context_after_encode(s, &best_s);
+ copy_context_after_encode(s, &best_s, s->c.data_partitioning);
pb_bits_count= put_bits_count(&s->pb);
flush_put_bits(&s->pb);
More information about the ffmpeg-cvslog
mailing list