Browse Source

hevc: remove disable_au option(cherry picked from commit e90b3f6753)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.1
Mickaël Raulet Michael Niedermayer 12 years ago
parent
commit
1912842045
2 changed files with 26 additions and 30 deletions
  1. +26
    -29
      libavcodec/hevc.c
  2. +0
    -1
      libavcodec/hevc.h

+ 26
- 29
libavcodec/hevc.c View File

@@ -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 },


+ 0
- 1
libavcodec/hevc.h View File

@@ -756,7 +756,6 @@ typedef struct HEVCContext {

HEVCLocalContext HEVClc;

int disable_au;
int width;
int height;



Loading…
Cancel
Save