On 10/12/2012 04:15 PM, Janne Grunau wrote:
> On 2012-10-12 16:14:39 +0200, Luca Barbato wrote:
>> Use native tags instead of avi ones, simplifies a lot raw video codecs
>> handling.
>> ---
>>  libavformat/nutenc.c             |  20 ++++---
>>  tests/ref/lavfi/crop             |   2 +-
>>  tests/ref/lavfi/crop_scale       |   2 +-
>>  tests/ref/lavfi/crop_scale_vflip |   2 +-
>>  tests/ref/lavfi/crop_vflip       |   2 +-
>>  tests/ref/lavfi/null             |   2 +-
>>  tests/ref/lavfi/pixdesc          | 114 
>> +++++++++++++++++++--------------------
>>  tests/ref/lavfi/pixfmts_copy     | 114 
>> +++++++++++++++++++--------------------
>>  tests/ref/lavfi/pixfmts_crop     |  82 ++++++++++++++--------------
>>  tests/ref/lavfi/pixfmts_hflip    |  82 ++++++++++++++--------------
>>  tests/ref/lavfi/pixfmts_null     | 114 
>> +++++++++++++++++++--------------------
>>  tests/ref/lavfi/pixfmts_pad      |  34 ++++++------
>>  tests/ref/lavfi/pixfmts_scale    | 114 
>> +++++++++++++++++++--------------------
>>  tests/ref/lavfi/pixfmts_vflip    | 114 
>> +++++++++++++++++++--------------------
>>  tests/ref/lavfi/scale200         |   2 +-
>>  tests/ref/lavfi/scale500         |   2 +-
>>  tests/ref/lavfi/vflip            |   2 +-
>>  tests/ref/lavfi/vflip_crop       |   2 +-
>>  tests/ref/lavfi/vflip_vflip      |   2 +-
>>  19 files changed, 408 insertions(+), 400 deletions(-)
>>
>> diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
>> index 4b1e663..78ef0ea 100644
>> --- a/libavformat/nutenc.c
>> +++ b/libavformat/nutenc.c
>> @@ -371,9 +371,16 @@ static void write_mainheader(NUTContext *nut, 
>> AVIOContext *bc){
>>      }
>>  }
>>  
>> +static const AVCodecTag * const nut_codec_tags[] = {
>> +    ff_nut_video_tags, ff_nut_subtitle_tags,
>> +    ff_codec_bmp_tags, ff_codec_wav_tags, 0
>> +};
>> +
>>  static int write_streamheader(AVFormatContext *avctx, AVIOContext *bc, 
>> AVStream *st, int i){
>>      NUTContext *nut = avctx->priv_data;
>>      AVCodecContext *codec = st->codec;
>> +    unsigned codec_tag = av_codec_get_tag(nut_codec_tags, codec->codec_id);
>> +
>>      ff_put_v(bc, i);
>>      switch(codec->codec_type){
>>      case AVMEDIA_TYPE_VIDEO: ff_put_v(bc, 0); break;
>> @@ -382,8 +389,12 @@ static int write_streamheader(AVFormatContext *avctx, 
>> AVIOContext *bc, AVStream
>>      default              : ff_put_v(bc, 3); break;
>>      }
>>      ff_put_v(bc, 4);
>> -    if (codec->codec_tag){
>> -        avio_wl32(bc, codec->codec_tag);
>> +
>> +    if (!codec_tag)
>> +        codec_tag = codec->codec_tag;
>> +
>> +    if (codec_tag) {
>> +        avio_wl32(bc, codec_tag);
>>      } else {
>>          av_log(avctx, AV_LOG_ERROR, "No codec tag defined for stream %d\n", 
>> i);
>>          return AVERROR(EINVAL);
>> @@ -873,8 +884,5 @@ AVOutputFormat ff_nut_muxer = {
>>      .write_packet   = nut_write_packet,
>>      .write_trailer  = nut_write_trailer,
>>      .flags          = AVFMT_GLOBALHEADER | AVFMT_VARIABLE_FPS,
>> -    .codec_tag      = (const AVCodecTag * const []){
>> -        ff_codec_bmp_tags, ff_nut_video_tags, ff_codec_wav_tags,
>> -        ff_nut_subtitle_tags, 0
>> -    },
>> +    .codec_tag      = nut_codec_tags,
> 
> ok if you have verified that indeed only the tags cause the fate ref
> changes.
> 

checked. pushing in a while the v2 set.

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to