[FFmpeg-devel] [PATCH 4/4] lavc/h265_profile_level: Add unit test

Mark Thompson sw at jkqxz.net
Mon Oct 1 01:23:20 EEST 2018


On 27/09/18 20:58, Michael Niedermayer wrote:
> On Thu, Sep 27, 2018 at 12:17:07AM +0100, Mark Thompson wrote:
>> Operates in the same way as the h264-levels test.
>> ---
>>  libavcodec/Makefile            |   1 +
>>  libavcodec/tests/h265_levels.c | 297 +++++++++++++++++++++++++++++++++
>>  tests/fate/libavcodec.mak      |   5 +
>>  3 files changed, 303 insertions(+)
>>  create mode 100644 libavcodec/tests/h265_levels.c
>>
>> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
>> index b9cc20b5ef..0cc435d201 100644
>> --- a/libavcodec/Makefile
>> +++ b/libavcodec/Makefile
>> @@ -1143,6 +1143,7 @@ TESTPROGS-$(CONFIG_IIRFILTER)             += iirfilter
>>  TESTPROGS-$(HAVE_MMX)                     += motion
>>  TESTPROGS-$(CONFIG_MPEGVIDEO)             += mpeg12framerate
>>  TESTPROGS-$(CONFIG_H264_METADATA_BSF)     += h264_levels
>> +TESTPROGS-$(CONFIG_HEVC_METADATA_BSF)     += h265_levels
>>  TESTPROGS-$(CONFIG_RANGECODER)            += rangecoder
>>  TESTPROGS-$(CONFIG_SNOW_ENCODER)          += snowenc
>>  
>> diff --git a/libavcodec/tests/h265_levels.c b/libavcodec/tests/h265_levels.c
>> new file mode 100644
>> index 0000000000..66d72c63a3
>> --- /dev/null
>> +++ b/libavcodec/tests/h265_levels.c
>> @@ -0,0 +1,297 @@
>> +/*
>> + * This file is part of FFmpeg.
>> + *
>> + * FFmpeg is free software; you can redistribute it and/or
>> + * modify it under the terms of the GNU Lesser General Public
>> + * License as published by the Free Software Foundation; either
>> + * version 2.1 of the License, or (at your option) any later version.
>> + *
>> + * FFmpeg is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> + * Lesser General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU Lesser General Public
>> + * License along with FFmpeg; if not, write to the Free Software
>> + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>> + */
>> +
>> +#include "libavutil/common.h"
>> +#include "libavcodec/h265_profile_level.h"
> 
> this breaks build 
> 
> src/libavcodec/tests/h265_levels.c:259: undefined reference to `ff_h265_guess_level'
> src/libavcodec/tests/h265_levels.c:268: undefined reference to `ff_h265_guess_level'
> src/libavcodec/tests/h265_levels.c:278: undefined reference to `ff_h265_get_profile'
> src/libavcodec/tests/h265_levels.c:279: undefined reference to `ff_h265_guess_level'
> src/libavcodec/tests/h265_levels.c:287: undefined reference to `ff_h265_guess_level'
> 
> 
> libavcodec/tests/h265_levels.o: In function `main':
> h265_levels.c:(.text.startup+0x68): undefined reference to `ff_h265_guess_level'
> h265_levels.c:(.text.startup+0x12a): undefined reference to `ff_h265_guess_level'
> h265_levels.c:(.text.startup+0x1b5): undefined reference to `ff_h265_get_profile'
> h265_levels.c:(.text.startup+0x1e0): undefined reference to `ff_h265_guess_level'
> h265_levels.c:(.text.startup+0x29d): undefined reference to `ff_h265_guess_level'
> [...]

Sorry, this was missing the metadata BSF patch needed for the makefile dependency (though you also get the same file built with the VAAPI encoder, which meant I missed it).

New set follows.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list