diff options
author | Mickaƫl Raulet <mraulet@insa-rennes.fr> | 2013-10-20 09:25:59 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-10-22 08:41:14 +0200 |
commit | 1912842045f2531f11ca90bbd483cd99096b4afd (patch) | |
tree | 2553cf6352a8da1a5b38521b82747650bbe3a19f /libavcodec/hevc.c | |
parent | 23c06984995e69d1cdc9ef1d610d6942e970dec6 (diff) | |
download | ffmpeg-1912842045f2531f11ca90bbd483cd99096b4afd.tar.gz |
hevc: remove disable_au option(cherry picked from commit e90b3f6753d645fec076e951a0597a5dc2d2fe31)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/hevc.c')
-rw-r--r-- | libavcodec/hevc.c | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index a1e3ce413f..3bc8c68b3e 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -2107,35 +2107,34 @@ static int decode_nal_units(HEVCContext *s, const uint8_t *buf, int length) HEVCNAL *nal; int extract_length = 0; - if (s->disable_au == 0) { - if (s->is_nalff) { - int i; - for (i = 0; i < s->nal_length_size; i++) - extract_length = (extract_length << 8) | buf[i]; - buf += s->nal_length_size; - length -= s->nal_length_size; - - if (extract_length > length) { - av_log(s->avctx, AV_LOG_ERROR, "Invalid NAL unit size.\n"); - ret = AVERROR_INVALIDDATA; - goto fail; - } - } else { - if (buf[2] == 0) { - length--; - buf++; - continue; - } - if (buf[0] != 0 || buf[1] != 0 || buf[2] != 1) { - ret = AVERROR_INVALIDDATA; - goto fail; - } - - buf += 3; - length -= 3; + if (s->is_nalff) { + int i; + for (i = 0; i < s->nal_length_size; i++) + extract_length = (extract_length << 8) | buf[i]; + buf += s->nal_length_size; + length -= s->nal_length_size; + + if (extract_length > length) { + av_log(s->avctx, AV_LOG_ERROR, "Invalid NAL unit size.\n"); + ret = AVERROR_INVALIDDATA; + goto fail; + } + } else { + if (buf[2] == 0) { + length--; + buf++; + continue; + } + if (buf[0] != 0 || buf[1] != 0 || buf[2] != 1) { + ret = AVERROR_INVALIDDATA; + goto fail; } + + buf += 3; + length -= 3; } - if (!s->is_nalff || s->disable_au) + + if (!s->is_nalff) extract_length = length; if (s->nals_allocated < s->nb_nals + 1) { @@ -2578,8 +2577,6 @@ static void hevc_decode_flush(AVCodecContext *avctx) #define OFFSET(x) offsetof(HEVCContext, x) #define PAR (AV_OPT_FLAG_DECODING_PARAM | AV_OPT_FLAG_VIDEO_PARAM) static const AVOption options[] = { - { "disable-au", "disable read frame AU by AU", OFFSET(disable_au), - AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, PAR }, { "strict-displaywin", "stricly apply default display window size", OFFSET(strict_def_disp_win), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, PAR }, { NULL }, |