[FFmpeg-devel] [PATCH v3 26/41] lavc/h264: Add common code for level handling

James Almer jamrial at gmail.com
Thu Aug 23 18:09:49 EEST 2018


On 8/22/2018 8:44 PM, Mark Thompson wrote:
> Including a unit test.
> ---
>  libavcodec/Makefile            |   3 +-
>  libavcodec/h264_levels.c       | 130 +++++++++++++++++++++++
>  libavcodec/h264_levels.h       |  53 ++++++++++
>  libavcodec/tests/.gitignore    |   1 +
>  libavcodec/tests/h264_levels.c | 183 +++++++++++++++++++++++++++++++++
>  tests/fate/libavcodec.mak      |   5 +
>  6 files changed, 374 insertions(+), 1 deletion(-)
>  create mode 100644 libavcodec/h264_levels.c
>  create mode 100644 libavcodec/h264_levels.h
>  create mode 100644 libavcodec/tests/h264_levels.c
> 
> diff --git a/libavcodec/Makefile b/libavcodec/Makefile
> index cbbfc9af2e..d07a9073af 100644
> --- a/libavcodec/Makefile
> +++ b/libavcodec/Makefile
> @@ -355,7 +355,7 @@ OBJS-$(CONFIG_H264_OMX_ENCODER)        += omx.o
>  OBJS-$(CONFIG_H264_QSV_DECODER)        += qsvdec_h2645.o
>  OBJS-$(CONFIG_H264_QSV_ENCODER)        += qsvenc_h264.o
>  OBJS-$(CONFIG_H264_RKMPP_DECODER)      += rkmppdec.o
> -OBJS-$(CONFIG_H264_VAAPI_ENCODER)      += vaapi_encode_h264.o
> +OBJS-$(CONFIG_H264_VAAPI_ENCODER)      += h264_levels.o vaapi_encode_h264.o
>  OBJS-$(CONFIG_H264_VIDEOTOOLBOX_ENCODER) += videotoolboxenc.o
>  OBJS-$(CONFIG_H264_V4L2M2M_DECODER)    += v4l2_m2m_dec.o
>  OBJS-$(CONFIG_H264_V4L2M2M_ENCODER)    += v4l2_m2m_enc.o
> @@ -1134,6 +1134,7 @@ TESTPROGS-$(CONFIG_IDCTDSP)               += dct
>  TESTPROGS-$(CONFIG_IIRFILTER)             += iirfilter
>  TESTPROGS-$(HAVE_MMX)                     += motion
>  TESTPROGS-$(CONFIG_MPEGVIDEO)             += mpeg12framerate
> +TESTPROGS-$(CONFIG_H264_VAAPI_ENCODER)    += h264_levels

Needing h264_vaapi_encoder to test this is not ideal. You'd be limiting
the amount of fate clients testing an internal module to those with an
unrelated external encoder enabled.

Maybe just add h264_levels.o to h264parse, and check for that instead?
Alternatively, since you need to add that object to h264_metadata to fix
the build failure Michael reported for patch 28, you could check for
that bsf instead.


More information about the ffmpeg-devel mailing list