lavf/mov: add log context dump in log message
add log context dump in log message. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
This commit is contained in:
parent
bbf061c7ca
commit
3dce89e55e
@ -1394,14 +1394,14 @@ static int mov_read_moof(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
return mov_read_default(c, pb, atom);
|
return mov_read_default(c, pb, atom);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mov_metadata_creation_time(AVDictionary **metadata, int64_t time)
|
static void mov_metadata_creation_time(AVDictionary **metadata, int64_t time, void *logctx)
|
||||||
{
|
{
|
||||||
if (time) {
|
if (time) {
|
||||||
if(time >= 2082844800)
|
if(time >= 2082844800)
|
||||||
time -= 2082844800; /* seconds between 1904-01-01 and Epoch */
|
time -= 2082844800; /* seconds between 1904-01-01 and Epoch */
|
||||||
|
|
||||||
if ((int64_t)(time * 1000000ULL) / 1000000 != time) {
|
if ((int64_t)(time * 1000000ULL) / 1000000 != time) {
|
||||||
av_log(NULL, AV_LOG_DEBUG, "creation_time is not representable\n");
|
av_log(logctx, AV_LOG_DEBUG, "creation_time is not representable\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1441,7 +1441,7 @@ static int mov_read_mdhd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
creation_time = avio_rb32(pb);
|
creation_time = avio_rb32(pb);
|
||||||
avio_rb32(pb); /* modification time */
|
avio_rb32(pb); /* modification time */
|
||||||
}
|
}
|
||||||
mov_metadata_creation_time(&st->metadata, creation_time);
|
mov_metadata_creation_time(&st->metadata, creation_time, c->fc);
|
||||||
|
|
||||||
sc->time_scale = avio_rb32(pb);
|
sc->time_scale = avio_rb32(pb);
|
||||||
if (sc->time_scale <= 0) {
|
if (sc->time_scale <= 0) {
|
||||||
@ -1472,7 +1472,7 @@ static int mov_read_mvhd(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
creation_time = avio_rb32(pb);
|
creation_time = avio_rb32(pb);
|
||||||
avio_rb32(pb); /* modification time */
|
avio_rb32(pb); /* modification time */
|
||||||
}
|
}
|
||||||
mov_metadata_creation_time(&c->fc->metadata, creation_time);
|
mov_metadata_creation_time(&c->fc->metadata, creation_time, c->fc);
|
||||||
c->time_scale = avio_rb32(pb); /* time scale */
|
c->time_scale = avio_rb32(pb); /* time scale */
|
||||||
if (c->time_scale <= 0) {
|
if (c->time_scale <= 0) {
|
||||||
av_log(c->fc, AV_LOG_ERROR, "Invalid mvhd time scale %d, defaulting to 1\n", c->time_scale);
|
av_log(c->fc, AV_LOG_ERROR, "Invalid mvhd time scale %d, defaulting to 1\n", c->time_scale);
|
||||||
@ -1621,7 +1621,7 @@ static int mov_read_fiel(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (decoded_field_order == AV_FIELD_UNKNOWN && mov_field_order) {
|
if (decoded_field_order == AV_FIELD_UNKNOWN && mov_field_order) {
|
||||||
av_log(NULL, AV_LOG_ERROR, "Unknown MOV field order 0x%04x\n", mov_field_order);
|
av_log(c->fc, AV_LOG_ERROR, "Unknown MOV field order 0x%04x\n", mov_field_order);
|
||||||
}
|
}
|
||||||
st->codecpar->field_order = decoded_field_order;
|
st->codecpar->field_order = decoded_field_order;
|
||||||
|
|
||||||
@ -1798,19 +1798,19 @@ static int mov_read_aclr(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
par->color_range = AVCOL_RANGE_JPEG;
|
par->color_range = AVCOL_RANGE_JPEG;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
av_log(c, AV_LOG_WARNING, "ignored unknown aclr value (%d)\n", range_value);
|
av_log(c->fc, AV_LOG_WARNING, "ignored unknown aclr value (%d)\n", range_value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ff_dlog(c, "color_range: %d\n", par->color_range);
|
ff_dlog(c->fc, "color_range: %d\n", par->color_range);
|
||||||
} else {
|
} else {
|
||||||
/* For some reason the whole atom was not added to the extradata */
|
/* For some reason the whole atom was not added to the extradata */
|
||||||
av_log(c, AV_LOG_ERROR, "aclr not decoded - incomplete atom\n");
|
av_log(c->fc, AV_LOG_ERROR, "aclr not decoded - incomplete atom\n");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
av_log(c, AV_LOG_ERROR, "aclr not decoded - unable to add atom to extradata\n");
|
av_log(c->fc, AV_LOG_ERROR, "aclr not decoded - unable to add atom to extradata\n");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
av_log(c, AV_LOG_WARNING, "aclr not decoded - unexpected size %"PRId64"\n", atom.size);
|
av_log(c->fc, AV_LOG_WARNING, "aclr not decoded - unexpected size %"PRId64"\n", atom.size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1902,7 +1902,7 @@ static int mov_read_glbl(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
return mov_read_default(c, pb, atom);
|
return mov_read_default(c, pb, atom);
|
||||||
}
|
}
|
||||||
if (st->codecpar->extradata_size > 1 && st->codecpar->extradata) {
|
if (st->codecpar->extradata_size > 1 && st->codecpar->extradata) {
|
||||||
av_log(c, AV_LOG_WARNING, "ignoring multiple glbl\n");
|
av_log(c->fc, AV_LOG_WARNING, "ignoring multiple glbl\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
av_freep(&st->codecpar->extradata);
|
av_freep(&st->codecpar->extradata);
|
||||||
@ -2993,11 +2993,11 @@ static int mov_read_sdtp(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mov_update_dts_shift(MOVStreamContext *sc, int duration)
|
static void mov_update_dts_shift(MOVStreamContext *sc, int duration, void *logctx)
|
||||||
{
|
{
|
||||||
if (duration < 0) {
|
if (duration < 0) {
|
||||||
if (duration == INT_MIN) {
|
if (duration == INT_MIN) {
|
||||||
av_log(NULL, AV_LOG_WARNING, "mov_update_dts_shift(): dts_shift set to %d\n", INT_MAX);
|
av_log(logctx, AV_LOG_WARNING, "mov_update_dts_shift(): dts_shift set to %d\n", INT_MAX);
|
||||||
duration++;
|
duration++;
|
||||||
}
|
}
|
||||||
sc->dts_shift = FFMAX(sc->dts_shift, -duration);
|
sc->dts_shift = FFMAX(sc->dts_shift, -duration);
|
||||||
@ -3055,7 +3055,7 @@ static int mov_read_ctts(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (i+2<entries)
|
if (i+2<entries)
|
||||||
mov_update_dts_shift(sc, duration);
|
mov_update_dts_shift(sc, duration, c->fc);
|
||||||
}
|
}
|
||||||
|
|
||||||
sc->ctts_count = ctts_count;
|
sc->ctts_count = ctts_count;
|
||||||
@ -4881,7 +4881,7 @@ static int mov_read_trun(MOVContext *c, AVIOContext *pb, MOVAtom atom)
|
|||||||
if (flags & MOV_TRUN_SAMPLE_FLAGS) sample_flags = avio_rb32(pb);
|
if (flags & MOV_TRUN_SAMPLE_FLAGS) sample_flags = avio_rb32(pb);
|
||||||
if (flags & MOV_TRUN_SAMPLE_CTS) ctts_duration = avio_rb32(pb);
|
if (flags & MOV_TRUN_SAMPLE_CTS) ctts_duration = avio_rb32(pb);
|
||||||
|
|
||||||
mov_update_dts_shift(sc, ctts_duration);
|
mov_update_dts_shift(sc, ctts_duration, c->fc);
|
||||||
if (pts != AV_NOPTS_VALUE) {
|
if (pts != AV_NOPTS_VALUE) {
|
||||||
dts = pts - sc->dts_shift;
|
dts = pts - sc->dts_shift;
|
||||||
if (flags & MOV_TRUN_SAMPLE_CTS) {
|
if (flags & MOV_TRUN_SAMPLE_CTS) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user