[FFmpeg-cvslog] avcodec/mpegvideo: Merge thread context initialization loops

Michael Niedermayer git at videolan.org
Sat Jun 6 22:59:24 CEST 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Jun  6 21:16:10 2015 +0200| [f30a7d9861af884f352ec2484820a75d79a4e0e2] | committer: Michael Niedermayer

avcodec/mpegvideo: Merge thread context initialization loops

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f30a7d9861af884f352ec2484820a75d79a4e0e2
---

 libavcodec/mpegvideo.c |   18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 57d9620..6b54631 100644
--- a/libavcodec/mpegvideo.c
+++ b/libavcodec/mpegvideo.c
@@ -1287,12 +1287,11 @@ av_cold int ff_mpv_common_init(MpegEncContext *s)
 
 //     if (s->width && s->height) {
         if (nb_slices > 1) {
-            for (i = 1; i < nb_slices; i++) {
-                s->thread_context[i] = av_malloc(sizeof(MpegEncContext));
-                memcpy(s->thread_context[i], s, sizeof(MpegEncContext));
-            }
-
             for (i = 0; i < nb_slices; i++) {
+                if (i) {
+                    s->thread_context[i] = av_malloc(sizeof(MpegEncContext));
+                    memcpy(s->thread_context[i], s, sizeof(MpegEncContext));
+                }
                 if (init_duplicate_context(s->thread_context[i]) < 0)
                     goto fail;
                     s->thread_context[i]->start_mb_y =
@@ -1415,12 +1414,11 @@ int ff_mpv_common_frame_size_change(MpegEncContext *s)
     if (s->width && s->height) {
         int nb_slices = s->slice_context_count;
         if (nb_slices > 1) {
-            for (i = 1; i < nb_slices; i++) {
-                s->thread_context[i] = av_malloc(sizeof(MpegEncContext));
-                memcpy(s->thread_context[i], s, sizeof(MpegEncContext));
-            }
-
             for (i = 0; i < nb_slices; i++) {
+                if (i) {
+                    s->thread_context[i] = av_malloc(sizeof(MpegEncContext));
+                    memcpy(s->thread_context[i], s, sizeof(MpegEncContext));
+                }
                 if ((err = init_duplicate_context(s->thread_context[i])) < 0)
                     goto fail;
                     s->thread_context[i]->start_mb_y =



More information about the ffmpeg-cvslog mailing list