History

avformat/flvdec: support demux av1 in enhanced flv

Steven Liu committed 3 years ago

Commit 23b02551 parent 7a5e9a61 file · +10 −2Browse files

Unified · Split

libavformat/flvdec.c+10−2
@@ -318,6 +318,8 @@ static int flv_same_video_codec(AVFormatContext *s, AVCodecParameters *vpar, int · 317 unmodified lines
318 switch(codec_id) {318 switch(codec_id) {
319 case MKBETAG('h', 'v', 'c', '1'):319 case MKBETAG('h', 'v', 'c', '1'):
320 return vpar->codec_id == AV_CODEC_ID_HEVC;320 return vpar->codec_id == AV_CODEC_ID_HEVC;
321 case MKBETAG('a', 'v', '0', '1'):
322 return vpar->codec_id == AV_CODEC_ID_AV1;
321 default:323 default:
322 break;324 break;
323 }325 }
@@ -359,6 +361,10 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream, · 35 unmodified lines
359 par->codec_id = AV_CODEC_ID_HEVC;361 par->codec_id = AV_CODEC_ID_HEVC;
360 vstreami->need_parsing = AVSTREAM_PARSE_HEADERS;362 vstreami->need_parsing = AVSTREAM_PARSE_HEADERS;
361 return 4;363 return 4;
364 case MKBETAG('a', 'v', '0', '1'):
365 par->codec_id = AV_CODEC_ID_AV1;
366 vstreami->need_parsing = AVSTREAM_PARSE_HEADERS;
367 return 4;
362 default:368 default:
363 break;369 break;
364 }370 }
@@ -1278,7 +1284,8 @@ retry_duration: · 913 unmodified lines
1278 if (st->codecpar->codec_id == AV_CODEC_ID_AAC ||1284 if (st->codecpar->codec_id == AV_CODEC_ID_AAC ||
1279 st->codecpar->codec_id == AV_CODEC_ID_H264 ||1285 st->codecpar->codec_id == AV_CODEC_ID_H264 ||
1280 st->codecpar->codec_id == AV_CODEC_ID_MPEG4 ||1286 st->codecpar->codec_id == AV_CODEC_ID_MPEG4 ||
1281 st->codecpar->codec_id == AV_CODEC_ID_HEVC) {1287 st->codecpar->codec_id == AV_CODEC_ID_HEVC ||
1288 st->codecpar->codec_id == AV_CODEC_ID_AV1) {
1282 int type = 0;1289 int type = 0;
1283 if (flv->exheader && stream_type == FLV_STREAM_TYPE_VIDEO) {1290 if (flv->exheader && stream_type == FLV_STREAM_TYPE_VIDEO) {
1284 type = flags & 0x0F;1291 type = flags & 0x0F;
@@ -1309,7 +1316,8 @@ retry_duration: · 24 unmodified lines
1309 }1316 }
1310 }1317 }
1311 if (type == 0 && (!st->codecpar->extradata || st->codecpar->codec_id == AV_CODEC_ID_AAC ||1318 if (type == 0 && (!st->codecpar->extradata || st->codecpar->codec_id == AV_CODEC_ID_AAC ||
1312 st->codecpar->codec_id == AV_CODEC_ID_H264 || st->codecpar->codec_id == AV_CODEC_ID_HEVC)) {1319 st->codecpar->codec_id == AV_CODEC_ID_H264 || st->codecpar->codec_id == AV_CODEC_ID_HEVC ||
1320 st->codecpar->codec_id == AV_CODEC_ID_AV1)) {
1313 AVDictionaryEntry *t;1321 AVDictionaryEntry *t;
1314 1322
1315 if (st->codecpar->extradata) {1323 if (st->codecpar->extradata) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t