aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/diracdec.c
diff options
context:
space:
mode:
authorRostislav Pehlivanov <rpehlivanov@ob-encoder.com>2016-06-23 18:07:04 +0100
committerRostislav Pehlivanov <atomnuker@gmail.com>2016-07-11 23:41:32 +0100
commit209456292309e28139732ec914b970cea71094c3 (patch)
treec88270083910f95f34db5610193c0c9df213e818 /libavcodec/diracdec.c
parentdcad4677d637cd2f701917e38361fa96b8c9a418 (diff)
downloadffmpeg-209456292309e28139732ec914b970cea71094c3.tar.gz
diracdec: do not memset the entire coefficient buffer for HQ pictures
This is now handled by the slice decoding function. Signed-off-by: Rostislav Pehlivanov <rpehlivanov@obe.tv>
Diffstat (limited to 'libavcodec/diracdec.c')
-rw-r--r--libavcodec/diracdec.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index ef0274ab5c..c6a207b1c8 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -1816,9 +1816,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)