forked from AOMediaCodec/libavif
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_cmd_enc_boxes_golden.sh
43 lines (37 loc) · 1.55 KB
/
test_cmd_enc_boxes_golden.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
# Copyright 2023 Google LLC
# SPDX-License-Identifier: BSD-2-Clause
#
# Test that compares the structure (boxes) of AVIF files metadata, dumped as xml,
# with golden files stored in tests/data/goldens/.
# Depends on the command line tool MP4Box.
#
# Usage:
# test_cmd_enc_boxes_golden.sh <avifenc_dir> <mp4box_dir> <testdata_dir>
# <test_output_dir>
# But most of the time you will be running this test with 'make test' or
# 'ctest -V -R test_cmd_enc_boxes_golden'
# ===================================
# ========== Encode files ===========
# ===================================
# To add new test case, just add new encode commands to this function.
# All .avif files created here will become test cases.
encode_test_files() {
AVIFENC="$1"
TESTDATA_DIR="$2"
# Still images.
for f in "kodim03_yuv420_8bpc.y4m" "circle-trns-after-plte.png" "paris_icc_exif_xmp.png"; do
"${AVIFENC}" -s 9 "${TESTDATA_DIR}/$f" -o "$f.avif"
done
# Grid.
"${AVIFENC}" -s 9 --grid 2x2 "${TESTDATA_DIR}/dog_exif_extended_xmp_icc.jpg" \
-o "dog_exif_extended_xmp_icc.jpg.avif"
# Animation.
"${AVIFENC}" -s 9 "${TESTDATA_DIR}/kodim03_yuv420_8bpc.y4m" \
"${TESTDATA_DIR}/kodim23_yuv420_8bpc.y4m" -o "kodim03_23_animation.avif"
# Animation with only keyframes.
"${AVIFENC}" -s 9 --keyframe 1 "${TESTDATA_DIR}/kodim03_yuv420_8bpc.y4m" \
"${TESTDATA_DIR}/kodim23_yuv420_8bpc.y4m" -o "kodim03_23_animation_keyframes.avif"
}
export -f encode_test_files
source $(dirname "$0")/golden_test_common.sh