[FFmpeg-cvslog] avcodec/proresenc_aw : fix interlace encoding for unsafe height

Martin Vignali git at videolan.org
Sat Mar 9 21:49:16 EET 2019


ffmpeg | branch: master | Martin Vignali <martin.vignali at gmail.com> | Fri Mar  8 00:06:01 2019 +0100| [26cf50404d1a965e88c379b4c88a5c4d7fa9f6ed] | committer: Martin Vignali

avcodec/proresenc_aw : fix interlace encoding for unsafe height

fix the call of the unsafe version of slice encoding in interlace mode
fix padding line count in sub image with fill in interlace mode

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

 libavcodec/proresenc_anatoliy.c         | 4 ++--
 tests/ref/vsynth/vsynth3-prores_444_int | 8 ++++----
 tests/ref/vsynth/vsynth3-prores_int     | 8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c
index 5914445b52..0fc79fc1de 100644
--- a/libavcodec/proresenc_anatoliy.c
+++ b/libavcodec/proresenc_anatoliy.c
@@ -485,7 +485,7 @@ static inline void subimage_with_fill_template(uint16_t *src, unsigned x, unsign
     } else {
         src_stride = stride; /* 2 lines stride */
         src += y * src_stride + x;
-        box_height = FFMIN(height - y * 2, dst_height);
+        box_height = FFMIN(height/2 - y, dst_height);
         if (!is_top_field)
             src += stride >> 1;
     }
@@ -671,7 +671,7 @@ static int prores_encode_picture(AVCodecContext *avctx, const AVFrame *pic,
             picture_height = avctx->height / 2;
         }
         mb_height = (picture_height + 15) >> 4;
-        unsafe_mb_height_limit = mb_height * 2;
+        unsafe_mb_height_limit = mb_height;
     }
 
     for (i = av_log2(DEFAULT_SLICE_MB_WIDTH); i >= 0; --i) {
diff --git a/tests/ref/vsynth/vsynth3-prores_444_int b/tests/ref/vsynth/vsynth3-prores_444_int
index ec9dda8965..36760adf9a 100644
--- a/tests/ref/vsynth/vsynth3-prores_444_int
+++ b/tests/ref/vsynth/vsynth3-prores_444_int
@@ -1,4 +1,4 @@
-4928501bad7c46a277eab54440f2a794 *tests/data/fate/vsynth3-prores_444_int.mov
-230539 tests/data/fate/vsynth3-prores_444_int.mov
-7acff20947af998d5a6e6f85ff24a6d2 *tests/data/fate/vsynth3-prores_444_int.out.rawvideo
-stddev:    3.27 PSNR: 37.82 MAXDIFF:   42 bytes:    86700/    86700
+270045a731d4cb6ba253880021c87a63 *tests/data/fate/vsynth3-prores_444_int.mov
+184397 tests/data/fate/vsynth3-prores_444_int.mov
+a8852aa2841c2ce5f2aa86176ceda4ef *tests/data/fate/vsynth3-prores_444_int.out.rawvideo
+stddev:    3.24 PSNR: 37.91 MAXDIFF:   41 bytes:    86700/    86700
diff --git a/tests/ref/vsynth/vsynth3-prores_int b/tests/ref/vsynth/vsynth3-prores_int
index 0208a2d15a..53dcfbd14d 100644
--- a/tests/ref/vsynth/vsynth3-prores_int
+++ b/tests/ref/vsynth/vsynth3-prores_int
@@ -1,4 +1,4 @@
-8bd60c3d149977dd25e21adcf57d76fa *tests/data/fate/vsynth3-prores_int.mov
-148325 tests/data/fate/vsynth3-prores_int.mov
-628a667a0de678239f05a6e5497c4601 *tests/data/fate/vsynth3-prores_int.out.rawvideo
-stddev:    3.06 PSNR: 38.40 MAXDIFF:   29 bytes:    86700/    86700
+ee1f14b23eb9dee4d59b021d4ec041bf *tests/data/fate/vsynth3-prores_int.mov
+120484 tests/data/fate/vsynth3-prores_int.mov
+e5859ba47a99f9e53c1ddcaa68a8f8f8 *tests/data/fate/vsynth3-prores_int.out.rawvideo
+stddev:    2.92 PSNR: 38.81 MAXDIFF:   29 bytes:    86700/    86700



More information about the ffmpeg-cvslog mailing list