[FFmpeg-devel] [PATCH] avformat: add H264 and HEVC support in IVF muxer

Paul B Mahol onemda at gmail.com
Sun Sep 30 22:29:51 EEST 2018


On 9/30/18, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
> 2018-09-28 20:51 GMT+02:00, alx.sukhanov at gmail.com <alx.sukhanov at gmail.com>:
>> From: Alex Sukhanov <asukhanov at google.com>
>
>>      if (par->codec_type != AVMEDIA_TYPE_VIDEO ||
>>          !(par->codec_id == AV_CODEC_ID_AV1 ||
>> +          par->codec_id == AV_CODEC_ID_H264 ||
>> +          par->codec_id == AV_CODEC_ID_HEVC ||
>>            par->codec_id == AV_CODEC_ID_VP8 ||
>>            par->codec_id == AV_CODEC_ID_VP9)) {
>> -        av_log(s, AV_LOG_ERROR, "Currently only VP8, VP9 and AV1 are
>> supported!\n");
>> +        av_log(s, AV_LOG_ERROR, "Currently only AV1, H264, HEVC, VP8 and
>> VP9 and AV1 are supported!\n");
>>          return AVERROR(EINVAL);
>
>>      }
>>      avio_write(pb, "DKIF", 4);
>>      avio_wl16(pb, 0); // version
>>      avio_wl16(pb, 32); // header length
>> -    avio_wl32(pb,
>> -              par->codec_id == AV_CODEC_ID_VP9 ? AV_RL32("VP90") :
>> -              par->codec_id == AV_CODEC_ID_VP8 ? AV_RL32("VP80") :
>> AV_RL32("AV01"));
>> +    switch (par->codec_id) {
>> +      case AV_CODEC_ID_AV1:
>> +        avio_wl32(pb, AV_RL32("AV01"));
>> +        break;
>> +      case AV_CODEC_ID_H264:
>> +        avio_wl32(pb, AV_RL32("H264"));
>> +        break;
>> +      case AV_CODEC_ID_HEVC:
>> +        avio_wl32(pb, AV_RL32("HEVC"));
>> +        break;
>> +      case AV_CODEC_ID_VP8:
>> +        avio_wl32(pb, AV_RL32("VP80"));
>> +        break;
>> +      case AV_CODEC_ID_VP9:
>> +        avio_wl32(pb, AV_RL32("VP90"));
>> +        break;
>
>> +      default:
>> +        break;
>
> Please either remove this or make it an assert().

No, AVERROR_BUG is better.


More information about the ffmpeg-devel mailing list