Skip to content

Commit 0adefee

Browse files
committed
Modularize the script to single script which works for all the Decoders and encoders
Add Support Video Decode Testcases for H265 Add Support Video Decode Testcases for VP9 Add Support Video Encode Testcases for H265 Signed-off-by: Abhishek Bajaj <[email protected]>
1 parent 1f8bb69 commit 0adefee

File tree

1 file changed

+20
-5
lines changed
  • Runner/suites/Multimedia/Video/Video_V4L2_Runner

1 file changed

+20
-5
lines changed

Runner/suites/Multimedia/Video/Video_V4L2_Runner/run.sh

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
# Minimal deps: POSIX sh + grep/sed/awk/find/sort
44
# Uses in-tree run_with_timeout() from functestlib.sh when present.
55
# SPDX-License-Identifier: BSD-3-Clause-Clear
6+
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
7+
# SPDX-License-Identifier: BSD-3-Clause-Clear
68

79
###############################################################################
810
# Locate and source init_env + functestlib.sh
@@ -127,12 +129,24 @@ case "$LOGLEVEL" in ''|*[!0-9]* ) log_warn "Non-numeric --loglevel '$LOGLEVEL';
127129
###############################################################################
128130
# Helpers (jq-free JSON scraping; POSIX only)
129131
###############################################################################
132+
# Decide decode/encode:
133+
# 1) filename contains "dec"/"enc"
134+
# 2) else JSON "Domain": "Decoder"/"Encoder"
135+
# 3) else default decode
130136
is_decode_cfg() {
131-
case "$(basename "$1" | tr '[:upper:]' '[:lower:]')" in
137+
cfg="$1"
138+
b="$(basename "$cfg" | tr '[:upper:]' '[:lower:]')"
139+
case "$b" in
132140
*dec*.json) return 0 ;; # decode
133141
*enc*.json) return 1 ;; # encode
134-
*) return 0 ;; # default decode
135142
esac
143+
dom="$(sed -n 's/.*"Domain"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$cfg" 2>/dev/null | head -n1)"
144+
dom_l="$(printf '%s' "$dom" | tr '[:upper:]' '[:lower:]')"
145+
case "$dom_l" in
146+
decoder|decode) return 0 ;;
147+
encoder|encode) return 1 ;;
148+
esac
149+
return 0
136150
}
137151

138152
extract_scalar_key_values() { # "Key": "value"
@@ -147,7 +161,8 @@ extract_array_key_values() { # "Key": ["a","b"]
147161
extract_input_clips() {
148162
cfg="$1"
149163
{
150-
extract_scalar_key_values "Inputpath" "$cfg"
164+
# common variants
165+
extract_scalar_key_values "InputPath" "$cfg"
151166
extract_scalar_key_values "input" "$cfg"
152167
extract_scalar_key_values "InputFile" "$cfg"
153168
extract_scalar_key_values "Source" "$cfg"
@@ -161,15 +176,15 @@ extract_input_clips() {
161176
# Guess codec from config (by key → content → filename) and normalize name.
162177
guess_codec_from_cfg() {
163178
cfg="$1"
164-
for k in Codec codec VideoCodec videoCodec DecoderName EncoderName Name name; do
179+
for k in Codec codec CodecName codecName VideoCodec videoCodec DecoderName EncoderName Name name; do
165180
v="$(extract_scalar_key_values "$k" "$cfg" | head -n 1)"
166181
if [ -n "$v" ]; then
167182
printf '%s\n' "$v"
168183
return
169184
fi
170185
done
171186
for tok in hevc h265 h264 av1 vp9 vp8 mpeg4 mpeg2 h263 avc; do
172-
if grep -qi "[\"'_[:space:]]${tok}[\"'_[:space:]]" "$cfg" 2>/dev/null; then
187+
if grep -qiE "(^|[^A-Za-z0-9])${tok}([^A-Za-z0-9]|$)" "$cfg" 2>/dev/null; then
173188
printf '%s\n' "$tok"
174189
return
175190
fi

0 commit comments

Comments
 (0)