From cdf8c9038ddb4a655661460896e8ba8046deb0a2 Mon Sep 17 00:00:00 2001 From: Kieran Kunhya Date: Wed, 9 Dec 2015 13:45:23 +0000 Subject: [PATCH] diracdec: Replace dirac parse codes with better ones --- libavcodec/dirac.h | 22 ++++++++++++++++++++++ libavcodec/diracdec.c | 17 +++-------------- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/libavcodec/dirac.h b/libavcodec/dirac.h index 6852e82d7f..b4982f89ce 100644 --- a/libavcodec/dirac.h +++ b/libavcodec/dirac.h @@ -34,6 +34,28 @@ #include "avcodec.h" #include "get_bits.h" +/** + * Parse code values: + * + * Dirac Specification -> + * 9.6.1 Table 9.1 + * + * VC-2 Specification -> + * 10.4.1 Table 10.1 + */ + +enum DiracParseCodes { + DIRAC_PCODE_SEQ_HEADER = 0x00, + DIRAC_PCODE_END_SEQ = 0x10, + DIRAC_PCODE_AUX = 0x20, + DIRAC_PCODE_PAD = 0x30, + DIRAC_PCODE_PICTURE_CODED = 0x08, + DIRAC_PCODE_PICTURE_RAW = 0x48, + DIRAC_PCODE_PICTURE_LOW_DEL = 0xC8, + DIRAC_PCODE_PICTURE_HQ = 0xE8, + DIRAC_PCODE_MAGIC = 0x42424344, +}; + typedef struct DiracVersionInfo { int major; int minor; diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 6d1d29d752..2d076a55ab 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -230,17 +230,6 @@ typedef struct DiracContext { DiracFrame all_frames[MAX_FRAMES]; } DiracContext; -/** - * Dirac Specification -> - * Parse code values. 9.6.1 Table 9.1 - */ -enum dirac_parse_code { - pc_seq_header = 0x00, - pc_eos = 0x10, - pc_aux_data = 0x20, - pc_padding = 0x30, -}; - enum dirac_subband { subband_ll = 0, subband_hl = 1, @@ -1945,7 +1934,7 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int init_get_bits(&s->gb, &buf[13], 8*(size - DATA_UNIT_HEADER_SIZE)); - if (parse_code == pc_seq_header) { + if (parse_code == DIRAC_PCODE_SEQ_HEADER) { if (s->seen_sequence_header) return 0; @@ -1964,10 +1953,10 @@ static int dirac_decode_data_unit(AVCodecContext *avctx, const uint8_t *buf, int return ret; s->seen_sequence_header = 1; - } else if (parse_code == pc_eos) { /* [DIRAC_STD] End of Sequence */ + } else if (parse_code == DIRAC_PCODE_END_SEQ) { /* [DIRAC_STD] End of Sequence */ free_sequence_buffers(s); s->seen_sequence_header = 0; - } else if (parse_code == pc_aux_data) { + } else if (parse_code == DIRAC_PCODE_AUX) { if (buf[13] == 1) { /* encoder implementation/version */ int ver[3]; /* versions older than 1.0.8 don't store quant delta for