282 lines
11 KiB
Makefile
Executable file
282 lines
11 KiB
Makefile
Executable file
HEVC_SAMPLES = \
|
|
AMP_A_Samsung_4 \
|
|
AMP_A_Samsung_6 \
|
|
AMP_B_Samsung_4 \
|
|
AMP_B_Samsung_6 \
|
|
AMP_D_Hisilicon \
|
|
AMP_E_Hisilicon \
|
|
AMP_F_Hisilicon_3 \
|
|
AMVP_A_MTK_4 \
|
|
AMVP_B_MTK_4 \
|
|
AMVP_C_Samsung_4 \
|
|
AMVP_C_Samsung_6 \
|
|
BUMPING_A_ericsson_1 \
|
|
CAINIT_A_SHARP_4 \
|
|
CAINIT_B_SHARP_4 \
|
|
CAINIT_C_SHARP_3 \
|
|
CAINIT_D_SHARP_3 \
|
|
CAINIT_E_SHARP_3 \
|
|
CAINIT_F_SHARP_3 \
|
|
CAINIT_G_SHARP_3 \
|
|
CAINIT_H_SHARP_3 \
|
|
CIP_A_Panasonic_3 \
|
|
cip_B_NEC_3 \
|
|
CIP_C_Panasonic_2 \
|
|
CONFWIN_A_Sony_1 \
|
|
DBLK_A_SONY_3 \
|
|
DBLK_B_SONY_3 \
|
|
DBLK_C_SONY_3 \
|
|
DBLK_D_VIXS_2 \
|
|
DBLK_E_VIXS_2 \
|
|
DBLK_F_VIXS_2 \
|
|
DBLK_G_VIXS_2 \
|
|
DELTAQP_A_BRCM_4 \
|
|
DELTAQP_B_SONY_3 \
|
|
DELTAQP_C_SONY_3 \
|
|
DSLICE_A_HHI_5 \
|
|
DSLICE_B_HHI_5 \
|
|
DSLICE_C_HHI_5 \
|
|
ENTP_A_Qualcomm_1 \
|
|
ENTP_B_Qualcomm_1 \
|
|
ENTP_C_Qualcomm_1 \
|
|
EXT_A_ericsson_4 \
|
|
FILLER_A_Sony_1 \
|
|
HRD_A_Fujitsu_2 \
|
|
HRD_A_Fujitsu_3 \
|
|
INITQP_A_Sony_1 \
|
|
ipcm_A_NEC_3 \
|
|
ipcm_B_NEC_3 \
|
|
ipcm_C_NEC_3 \
|
|
ipcm_D_NEC_3 \
|
|
ipcm_E_NEC_2 \
|
|
IPRED_A_docomo_2 \
|
|
IPRED_B_Nokia_3 \
|
|
IPRED_C_Mitsubishi_3 \
|
|
LS_A_Orange_2 \
|
|
LS_B_ORANGE_4 \
|
|
LTRPSPS_A_Qualcomm_1 \
|
|
MAXBINS_A_TI_4 \
|
|
MAXBINS_B_TI_4 \
|
|
MAXBINS_C_TI_4 \
|
|
MERGE_A_TI_3 \
|
|
MERGE_B_TI_3 \
|
|
MERGE_C_TI_3 \
|
|
MERGE_D_TI_3 \
|
|
MERGE_E_TI_3 \
|
|
MERGE_F_MTK_4 \
|
|
MERGE_G_HHI_4 \
|
|
MVCLIP_A_qualcomm_3 \
|
|
MVDL1ZERO_A_docomo_3 \
|
|
MVEDGE_A_qualcomm_3 \
|
|
NoOutPrior_A_Qualcomm_1 \
|
|
NoOutPrior_B_Qualcomm_1 \
|
|
NUT_A_ericsson_5 \
|
|
OPFLAG_A_Qualcomm_1 \
|
|
OPFLAG_B_Qualcomm_1 \
|
|
OPFLAG_C_Qualcomm_1 \
|
|
PICSIZE_A_Bossen_1 \
|
|
PICSIZE_B_Bossen_1 \
|
|
PICSIZE_C_Bossen_1 \
|
|
PICSIZE_D_Bossen_1 \
|
|
PMERGE_A_TI_3 \
|
|
PMERGE_B_TI_3 \
|
|
PMERGE_C_TI_3 \
|
|
PMERGE_D_TI_3 \
|
|
PMERGE_E_TI_3 \
|
|
POC_A_Bossen_3 \
|
|
PPS_A_qualcomm_7 \
|
|
PS_A_VIDYO_3 \
|
|
PS_B_VIDYO_3 \
|
|
RAP_A_docomo_4 \
|
|
RAP_B_Bossen_1 \
|
|
RPLM_A_qualcomm_4 \
|
|
RPLM_B_qualcomm_4 \
|
|
RPS_A_docomo_4 \
|
|
RPS_B_qualcomm_5 \
|
|
RPS_C_ericsson_5 \
|
|
RPS_D_ericsson_6 \
|
|
RPS_E_qualcomm_5 \
|
|
RPS_F_docomo_1 \
|
|
RQT_A_HHI_4 \
|
|
RQT_B_HHI_4 \
|
|
RQT_C_HHI_4 \
|
|
RQT_D_HHI_4 \
|
|
RQT_E_HHI_4 \
|
|
RQT_F_HHI_4 \
|
|
RQT_G_HHI_4 \
|
|
SAO_A_MediaTek_4 \
|
|
SAO_B_MediaTek_5 \
|
|
SAO_C_Samsung_4 \
|
|
SAO_C_Samsung_5 \
|
|
SAO_D_Samsung_4 \
|
|
SAO_D_Samsung_5 \
|
|
SAO_E_Canon_4 \
|
|
SAO_F_Canon_3 \
|
|
SAO_G_Canon_3 \
|
|
SDH_A_Orange_3 \
|
|
SLICES_A_Rovi_3 \
|
|
SLIST_A_Sony_4 \
|
|
SLIST_B_Sony_8 \
|
|
SLIST_C_Sony_3 \
|
|
SLIST_D_Sony_9 \
|
|
SLPPLP_A_VIDYO_1 \
|
|
SLPPLP_A_VIDYO_2 \
|
|
STRUCT_A_Samsung_5 \
|
|
STRUCT_B_Samsung_4 \
|
|
STRUCT_B_Samsung_6 \
|
|
TILES_A_Cisco_2 \
|
|
TILES_B_Cisco_1 \
|
|
TMVP_A_MS_3 \
|
|
TSCL_A_VIDYO_5 \
|
|
TSCL_B_VIDYO_4 \
|
|
TSKIP_A_MS_3 \
|
|
TUSIZE_A_Samsung_1 \
|
|
VPSID_A_VIDYO_1 \
|
|
VPSID_A_VIDYO_2 \
|
|
WP_A_Toshiba_3 \
|
|
WP_B_Toshiba_3 \
|
|
WPP_A_ericsson_MAIN_2 \
|
|
WPP_B_ericsson_MAIN_2 \
|
|
WPP_C_ericsson_MAIN_2 \
|
|
WPP_D_ericsson_MAIN_2 \
|
|
WPP_E_ericsson_MAIN_2 \
|
|
WPP_F_ericsson_MAIN_2 \
|
|
|
|
HEVC_SAMPLES_10BIT = \
|
|
DBLK_A_MAIN10_VIXS_3 \
|
|
WP_A_MAIN10_Toshiba_3 \
|
|
WP_MAIN10_B_Toshiba_3 \
|
|
WPP_A_ericsson_MAIN10_2 \
|
|
WPP_B_ericsson_MAIN10_2 \
|
|
WPP_C_ericsson_MAIN10_2 \
|
|
WPP_D_ericsson_MAIN10_2 \
|
|
WPP_E_ericsson_MAIN10_2 \
|
|
WPP_F_ericsson_MAIN10_2 \
|
|
INITQP_B_Sony_1 \
|
|
|
|
HEVC_SAMPLES_422_10BIT = \
|
|
ADJUST_IPRED_ANGLE_A_RExt_Mitsubishi_1 \
|
|
IPCM_A_RExt_NEC \
|
|
|
|
HEVC_SAMPLES_422_10BIN = \
|
|
Main_422_10_A_RExt_Sony_1 \
|
|
|
|
HEVC_SAMPLES_422_10BIN_LARGE = \
|
|
Main_422_10_B_RExt_Sony_1 \
|
|
|
|
HEVC_SAMPLES_444_8BIT = \
|
|
QMATRIX_A_RExt_Sony_1 \
|
|
|
|
HEVC_SAMPLES_444_12BIT = \
|
|
IPCM_B_RExt_NEC \
|
|
PERSIST_RPARAM_A_RExt_Sony_1\
|
|
PERSIST_RPARAM_A_RExt_Sony_3\
|
|
|
|
HEVC_SAMPLES_444_12BIT_LARGE = \
|
|
SAO_A_RExt_MediaTek_1 \
|
|
|
|
|
|
# equivalent bitstreams
|
|
# AMP_D_Hisilicon_3 -- AMP_D_Hisilicon
|
|
# AMP_E_Hisilicon_3 -- AMP_E_Hisilicon
|
|
# MVDL1ZERO_A_docomo_4 -- MVDL1ZERO_A_docomo_3
|
|
# RAP_A_docomo_5 -- RAP_A_docomo_4
|
|
# RAP_B_bossen_2 -- RAP_B_bossen_1
|
|
# RPS_A_docomo_5 -- RPS_A_docomo_4
|
|
# RPS_F_docomo_2 -- RPS_F_docomo_1
|
|
|
|
# do not pass:
|
|
# TSUNEQBD_A_MAIN10_Technicolor_2.bit (segfault mix 9-10bits)
|
|
# PERSIST_RPARAM_A_RExt_Sony_1 (rext)
|
|
|
|
|
|
define FATE_HEVC_TEST
|
|
FATE_HEVC += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -vsync drop -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv420p
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_10BIT
|
|
FATE_HEVC += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv420p10le
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_422_10BIT
|
|
FATE_HEVC += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv422p10le
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_422_10BIN
|
|
FATE_HEVC += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bin -pix_fmt yuv422p10le
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_422_10BIN_LARGE
|
|
FATE_HEVC_LARGE += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bin -pix_fmt yuv422p10le
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_444_8BIT
|
|
FATE_HEVC += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv444p
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_444_12BIT
|
|
FATE_HEVC += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv444p12le
|
|
endef
|
|
|
|
define FATE_HEVC_TEST_444_12BIT_LARGE
|
|
FATE_HEVC_LARGE += fate-hevc-conformance-$(1)
|
|
fate-hevc-conformance-$(1): CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc-conformance/$(1).bit -pix_fmt yuv444p12le
|
|
endef
|
|
|
|
$(foreach N,$(HEVC_SAMPLES),$(eval $(call FATE_HEVC_TEST,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_10BIT),$(eval $(call FATE_HEVC_TEST_10BIT,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_422_10BIT),$(eval $(call FATE_HEVC_TEST_422_10BIT,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_422_10BIN),$(eval $(call FATE_HEVC_TEST_422_10BIN,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_422_10BIN_LARGE),$(eval $(call FATE_HEVC_TEST_422_10BIN_LARGE,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_444_8BIT),$(eval $(call FATE_HEVC_TEST_444_8BIT,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_444_12BIT),$(eval $(call FATE_HEVC_TEST_444_12BIT,$(N))))
|
|
$(foreach N,$(HEVC_SAMPLES_444_12BIT_LARGE),$(eval $(call FATE_HEVC_TEST_444_12BIT_LARGE,$(N))))
|
|
|
|
fate-hevc-paramchange-yuv420p-yuv420p10: CMD = framecrc -vsync 0 -i $(TARGET_SAMPLES)/hevc/paramchange_yuv420p_yuv420p10.hevc -sws_flags area+accurate_rnd+bitexact
|
|
FATE_HEVC_LARGE += fate-hevc-paramchange-yuv420p-yuv420p10
|
|
|
|
tests/data/hevc-mp4.mov: TAG = GEN
|
|
tests/data/hevc-mp4.mov: ffmpeg$(PROGSSUF)$(EXESUF) | tests/data
|
|
$(M)$(TARGET_EXEC) $(TARGET_PATH)/$< \
|
|
-i $(TARGET_SAMPLES)/hevc-conformance/WPP_A_ericsson_MAIN10_2.bit -c copy -flags +bitexact $(TARGET_PATH)/$@ -y 2>/dev/null
|
|
|
|
FATE_HEVC-$(call ALLYES, HEVC_DEMUXER MOV_DEMUXER HEVC_MP4TOANNEXB_BSF MOV_MUXER HEVC_MUXER) += fate-hevc-bsf-mp4toannexb
|
|
fate-hevc-bsf-mp4toannexb: tests/data/hevc-mp4.mov
|
|
fate-hevc-bsf-mp4toannexb: CMD = md5 -i $(TARGET_PATH)/tests/data/hevc-mp4.mov -c:v copy -fflags +bitexact -f hevc
|
|
fate-hevc-bsf-mp4toannexb: CMP = oneline
|
|
fate-hevc-bsf-mp4toannexb: REF = 1873662a3af1848c37e4eb25722c8df9
|
|
|
|
fate-hevc-skiploopfilter: CMD = framemd5 -skip_loop_filter nokey -i $(TARGET_SAMPLES)/hevc-conformance/SAO_D_Samsung_5.bit -sws_flags bitexact
|
|
FATE_HEVC += fate-hevc-skiploopfilter
|
|
|
|
FATE_HEVC-$(call DEMDEC, HEVC, HEVC) += $(FATE_HEVC)
|
|
FATE_HEVC-$(call ALLYES, HEVC_DEMUXER HEVC_DECODER LARGE_TESTS) += $(FATE_HEVC_LARGE)
|
|
|
|
# this sample has two stsd entries and needs to reload extradata
|
|
FATE_HEVC-$(call DEMDEC, MOV, HEVC) += fate-hevc-extradata-reload
|
|
|
|
fate-hevc-extradata-reload: CMD = framemd5 -i $(TARGET_SAMPLES)/hevc/extradata-reload-multi-stsd.mov -sws_flags bitexact
|
|
|
|
fate-hevc-paired-fields: CMD = probeframes -show_entries frame=interlaced_frame,top_field_first $(TARGET_SAMPLES)/hevc/paired_fields.hevc
|
|
FATE_HEVC_FFPROBE-$(call DEMDEC, HEVC, HEVC) += fate-hevc-paired-fields
|
|
|
|
fate-hevc-monochrome-crop: CMD = probeframes -show_entries frame=width,height:stream=width,height $(TARGET_SAMPLES)/hevc/hevc-monochrome.hevc
|
|
FATE_HEVC_FFPROBE-$(call DEMDEC, HEVC, HEVC) += fate-hevc-monochrome-crop
|
|
|
|
fate-hevc-two-first-slice: CMD = threads=2 framemd5 -i $(TARGET_SAMPLES)/hevc/two_first_slice.mp4 -sws_flags bitexact -t 00:02.00 -an
|
|
FATE_HEVC-$(call DEMDEC, MOV, HEVC) += fate-hevc-two-first-slice
|
|
|
|
fate-hevc-cabac-tudepth: CMD = framecrc -flags unaligned -i $(TARGET_SAMPLES)/hevc/cbf_cr_cb_TUDepth_4_circle.h265 -pix_fmt yuv444p
|
|
FATE_HEVC-$(call DEMDEC, HEVC, HEVC) += fate-hevc-cabac-tudepth
|
|
|
|
FATE_SAMPLES_AVCONV += $(FATE_HEVC-yes)
|
|
FATE_SAMPLES_FFPROBE += $(FATE_HEVC_FFPROBE-yes)
|
|
|
|
fate-hevc: $(FATE_HEVC-yes) $(FATE_HEVC_FFPROBE-yes)
|