[FFmpeg-devel] [PATCH 10/10] diracdec: do not memset the entire coefficient buffer for HQ pictures

Rostislav Pehlivanov rpehlivanov at ob-encoder.com
Thu Jun 23 19:07:04 CEST 2016


This is now handled by the slice decoding function.

Signed-off-by: Rostislav Pehlivanov <rpehlivanov at obe.tv>
---
 libavcodec/diracdec.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index ec45132..a9af5ff 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -1891,9 +1891,11 @@ static int dirac_decode_frame_internal(DiracContext *s)
 
     if (s->low_delay) {
         /* [DIRAC_STD] 13.5.1 low_delay_transform_data() */
-        for (comp = 0; comp < 3; comp++) {
-            Plane *p = &s->plane[comp];
-            memset(p->idwt.buf, 0, p->idwt.stride * p->idwt.height);
+        if (!s->hq_picture) {
+            for (comp = 0; comp < 3; comp++) {
+                Plane *p = &s->plane[comp];
+                memset(p->idwt.buf, 0, p->idwt.stride * p->idwt.height);
+            }
         }
         if (!s->zero_res) {
             if ((ret = decode_lowdelay(s)) < 0)
-- 
2.8.1.369.geae769a



More information about the ffmpeg-devel mailing list