| @@ -381,6 +381,7 @@ static int flv_same_video_codec(AVCodecParameters *vpar, uint32_t flv_codecid) · 380 unmodified lines |
| 381 | 381 | return 1; |
| 382 | 382 | |
| 383 | 383 | switch (flv_codecid) { |
| 384 | + case FLV_CODECID_X_HEVC: |
| 384 | 385 | case MKBETAG('h', 'v', 'c', '1'): |
| 385 | 386 | return vpar->codec_id == AV_CODEC_ID_HEVC; |
| 386 | 387 | case MKBETAG('a', 'v', '0', '1'): |
| @@ -414,6 +415,7 @@ static int flv_set_video_codec(AVFormatContext *s, AVStream *vstream, · 27 unmodified lines |
| 414 | 415 | enum AVCodecID old_codec_id = vstream->codecpar->codec_id; |
| 415 | 416 | |
| 416 | 417 | switch (flv_codecid) { |
| 418 | + case FLV_CODECID_X_HEVC: |
| 417 | 419 | case MKBETAG('h', 'v', 'c', '1'): |
| 418 | 420 | par->codec_id = AV_CODEC_ID_HEVC; |
| 419 | 421 | vstreami->need_parsing = AVSTREAM_PARSE_HEADERS; |
| @@ -1660,8 +1662,8 @@ retry_duration: · 1240 unmodified lines |
| 1660 | 1662 | } |
| 1661 | 1663 | |
| 1662 | 1664 | if (st->codecpar->codec_id == AV_CODEC_ID_MPEG4 || |
| 1663 | | − (st->codecpar->codec_id == AV_CODEC_ID_H264 && (!enhanced_flv || type == PacketTypeCodedFrames)) || |
| 1664 | | − (st->codecpar->codec_id == AV_CODEC_ID_HEVC && type == PacketTypeCodedFrames)) { |
| 1665 | + ((st->codecpar->codec_id == AV_CODEC_ID_H264 || st->codecpar->codec_id == AV_CODEC_ID_HEVC) && |
| 1666 | + (!enhanced_flv || type == PacketTypeCodedFrames))) { |
| 1665 | 1667 | // sign extension |
| 1666 | 1668 | int32_t cts = (avio_rb24(s->pb) + 0xff800000) ^ 0xff800000; |
| 1667 | 1669 | pts = av_sat_add64(dts, cts); |