aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2017-10-31 12:48:36 -0300
committerJames Almer <jamrial@gmail.com>2017-10-31 12:48:36 -0300
commitb1ab02895b121b92dc3483c79e45eb5ea686f3aa (patch)
treeebe6ebff88f8a4cce653cce696868fc9a6b6965b /libavcodec
parent9e2b0f32e905cc51d5e559aa4f80970e55438049 (diff)
parentc3f0357bdf7d3c542aad2c58b94184b9f56edc41 (diff)
downloadffmpeg-b1ab02895b121b92dc3483c79e45eb5ea686f3aa.tar.gz
Merge commit 'c3f0357bdf7d3c542aad2c58b94184b9f56edc41'
* commit 'c3f0357bdf7d3c542aad2c58b94184b9f56edc41': hevcdec: move the MD5 context out of HEVCSEIPictureHash back into HEVCContext Merged-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/hevc_sei.h3
-rw-r--r--libavcodec/hevcdec.c12
-rw-r--r--libavcodec/hevcdec.h2
3 files changed, 8 insertions, 9 deletions
diff --git a/libavcodec/hevc_sei.h b/libavcodec/hevc_sei.h
index 8daf2e3f2f..d290aaab53 100644
--- a/libavcodec/hevc_sei.h
+++ b/libavcodec/hevc_sei.h
@@ -23,8 +23,6 @@
#include <stdint.h>
-#include "libavutil/md5.h"
-
#include "get_bits.h"
/**
@@ -60,7 +58,6 @@ typedef enum {
} HEVC_SEI_Type;
typedef struct HEVCSEIPictureHash {
- struct AVMD5 *md5_ctx;
uint8_t md5[3][16];
uint8_t is_md5;
} HEVCSEIPictureHash;
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 2e4add2ae3..675025b211 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -3035,7 +3035,7 @@ static int verify_md5(HEVCContext *s, AVFrame *frame)
int h = (i == 1 || i == 2) ? (height >> desc->log2_chroma_h) : height;
uint8_t md5[16];
- av_md5_init(s->sei.picture_hash.md5_ctx);
+ av_md5_init(s->md5_ctx);
for (j = 0; j < h; j++) {
const uint8_t *src = frame->data[i] + j * frame->linesize[i];
#if HAVE_BIGENDIAN
@@ -3045,9 +3045,9 @@ static int verify_md5(HEVCContext *s, AVFrame *frame)
src = s->checksum_buf;
}
#endif
- av_md5_update(s->sei.picture_hash.md5_ctx, src, w << pixel_shift);
+ av_md5_update(s->md5_ctx, src, w << pixel_shift);
}
- av_md5_final(s->sei.picture_hash.md5_ctx, md5);
+ av_md5_final(s->md5_ctx, md5);
if (!memcmp(md5, s->sei.picture_hash.md5[i], 16)) {
av_log (s->avctx, AV_LOG_DEBUG, "plane %d - correct ", i);
@@ -3200,7 +3200,7 @@ static av_cold int hevc_decode_free(AVCodecContext *avctx)
pic_arrays_free(s);
- av_freep(&s->sei.picture_hash.md5_ctx);
+ av_freep(&s->md5_ctx);
av_freep(&s->cabac_state);
@@ -3275,8 +3275,8 @@ static av_cold int hevc_init_context(AVCodecContext *avctx)
s->max_ra = INT_MAX;
- s->sei.picture_hash.md5_ctx = av_md5_alloc();
- if (!s->sei.picture_hash.md5_ctx)
+ s->md5_ctx = av_md5_alloc();
+ if (!s->md5_ctx)
goto fail;
ff_bswapdsp_init(&s->bdsp);
diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h
index 1bfdaef73f..ef918f4fb2 100644
--- a/libavcodec/hevcdec.h
+++ b/libavcodec/hevcdec.h
@@ -26,6 +26,7 @@
#include <stdatomic.h>
#include "libavutil/buffer.h"
+#include "libavutil/md5.h"
#include "avcodec.h"
#include "bswapdsp.h"
@@ -406,6 +407,7 @@ typedef struct HEVCContext {
HEVCParamSets ps;
HEVCSEI sei;
+ struct AVMD5 *md5_ctx;
AVBufferPool *tab_mvf_pool;
AVBufferPool *rpl_tab_pool;