else if (track->mode == MODE_ISM)
tag = track->par->codec_tag;
else if (track->mode == MODE_IPOD) {
- if (!av_match_ext(s->filename, "m4a") &&
- !av_match_ext(s->filename, "m4v") &&
- !av_match_ext(s->filename, "m4b"))
+ if (!av_match_ext(s->url, "m4a") &&
+ !av_match_ext(s->url, "m4v") &&
+ !av_match_ext(s->url, "m4b"))
av_log(s, AV_LOG_WARNING, "Warning, extension is not .m4a nor .m4v "
"Quicktime/Ipod might not play the file\n");
tag = track->par->codec_tag;
ffio_wfourcc(pb, "nclc");
switch (track->par->color_primaries) {
case AVCOL_PRI_BT709: avio_wb16(pb, 1); break;
+ case AVCOL_PRI_BT470BG: avio_wb16(pb, 5); break;
case AVCOL_PRI_SMPTE170M:
case AVCOL_PRI_SMPTE240M: avio_wb16(pb, 6); break;
- case AVCOL_PRI_BT470BG: avio_wb16(pb, 5); break;
+ case AVCOL_PRI_BT2020: avio_wb16(pb, 9); break;
+ case AVCOL_PRI_SMPTE431: avio_wb16(pb, 11); break;
+ case AVCOL_PRI_SMPTE432: avio_wb16(pb, 12); break;
default: avio_wb16(pb, 2);
}
switch (track->par->color_trc) {
- case AVCOL_TRC_BT709: avio_wb16(pb, 1); break;
- case AVCOL_TRC_SMPTE170M: avio_wb16(pb, 1); break; // remapped
- case AVCOL_TRC_SMPTE240M: avio_wb16(pb, 7); break;
- default: avio_wb16(pb, 2);
+ case AVCOL_TRC_BT709: avio_wb16(pb, 1); break;
+ case AVCOL_TRC_SMPTE170M: avio_wb16(pb, 1); break; // remapped
+ case AVCOL_TRC_SMPTE240M: avio_wb16(pb, 7); break;
+ case AVCOL_TRC_SMPTEST2084: avio_wb16(pb, 16); break;
+ case AVCOL_TRC_SMPTE428: avio_wb16(pb, 17); break;
+ case AVCOL_TRC_ARIB_STD_B67: avio_wb16(pb, 18); break;
+ default: avio_wb16(pb, 2);
}
switch (track->par->color_space) {
- case AVCOL_SPC_BT709: avio_wb16(pb, 1); break;
+ case AVCOL_SPC_BT709: avio_wb16(pb, 1); break;
case AVCOL_SPC_BT470BG:
- case AVCOL_SPC_SMPTE170M: avio_wb16(pb, 6); break;
- case AVCOL_SPC_SMPTE240M: avio_wb16(pb, 7); break;
- default: avio_wb16(pb, 2);
+ case AVCOL_SPC_SMPTE170M: avio_wb16(pb, 6); break;
+ case AVCOL_SPC_SMPTE240M: avio_wb16(pb, 7); break;
+ case AVCOL_SPC_BT2020_NCL: avio_wb16(pb, 9); break;
+ default: avio_wb16(pb, 2);
}
if (track->mode == MODE_MP4) {
* writing, so we re-open the same output, but for reading. It also avoids
* a read/seek/write/seek back and forth. */
avio_flush(s->pb);
- ret = s->io_open(s, &read_pb, s->filename, AVIO_FLAG_READ, NULL);
+ ret = s->io_open(s, &read_pb, s->url, AVIO_FLAG_READ, NULL);
if (ret < 0) {
av_log(s, AV_LOG_ERROR, "Unable to re-open %s output file for "
- "the second pass (faststart)\n", s->filename);
+ "the second pass (faststart)\n", s->url);
goto end;
}