[FFmpeg-cvslog] mpeg1video: support multi threaded slice encoding.

Michael Niedermayer git at videolan.org
Thu Dec 13 00:27:27 CET 2012


ffmpeg | branch: release/1.0 | Michael Niedermayer <michaelni at gmx.at> | Wed Dec 12 19:29:32 2012 +0100| [f44c73f5bbeba178764b801b7b141c494e8753d3] | committer: Carl Eugen Hoyos

mpeg1video: support multi threaded slice encoding.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 03df9720168335482f00898fc16b56ff4878d0e7)

Conflicts:
	libavcodec/mpeg12enc.c

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

 libavcodec/mpeg12enc.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index 5afa944..ff839c0 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -459,7 +459,7 @@ static av_always_inline void mpeg1_encode_mb_internal(MpegEncContext *s,
     }
 
     if (cbp == 0 && !first_mb && s->mv_type == MV_TYPE_16X16 &&
-        (mb_x != s->mb_width - 1 || (mb_y != s->mb_height - 1 && s->codec_id == AV_CODEC_ID_MPEG1VIDEO)) &&
+        (mb_x != s->mb_width - 1 || (mb_y != s->end_mb_y - 1 && s->codec_id == AV_CODEC_ID_MPEG1VIDEO)) &&
         ((s->pict_type == AV_PICTURE_TYPE_P && (motion_x | motion_y) == 0) ||
         (s->pict_type == AV_PICTURE_TYPE_B && s->mv_dir == s->last_mv_dir && (((s->mv_dir & MV_DIR_FORWARD) ? ((s->mv[0][0][0] - s->last_mv[0][0][0])|(s->mv[0][0][1] - s->last_mv[0][0][1])) : 0) |
         ((s->mv_dir & MV_DIR_BACKWARD) ? ((s->mv[1][0][0] - s->last_mv[1][0][0])|(s->mv[1][0][1] - s->last_mv[1][0][1])) : 0)) == 0))) {
@@ -972,7 +972,7 @@ AVCodec ff_mpeg1video_encoder = {
     .supported_framerates = avpriv_frame_rate_tab+1,
     .pix_fmts             = (const enum PixelFormat[]){ PIX_FMT_YUV420P,
                                                         PIX_FMT_NONE },
-    .capabilities         = CODEC_CAP_DELAY,
+    .capabilities         = CODEC_CAP_DELAY | CODEC_CAP_SLICE_THREADS,
     .long_name            = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
     .priv_class           = &mpeg1_class,
 };



More information about the ffmpeg-cvslog mailing list