Skip to content

Commit

Permalink
Merge branch 'master' into bdepth_h265
Browse files Browse the repository at this point in the history
  • Loading branch information
uartie authored Sep 6, 2024
2 parents 79c8886 + a88d221 commit f925411
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 2 deletions.
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
7 changes: 5 additions & 2 deletions .github/workflows/unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: unit

on: [ push, pull_request ]

permissions:
contents: read

jobs:
test:
strategy:
Expand All @@ -13,11 +16,11 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
with:
lfs: 'true'
- name: Setup python
uses: actions/setup-python@v5
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
Expand Down
50 changes: 50 additions & 0 deletions lib/parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -853,6 +853,31 @@ def gen_vp9_vbr_parameters(spec):
params = gen_vp9_vbr_variants(spec)
return keys, params

def gen_vp9_seek_variants(spec):
for case, params in spec.items():
variants = params.get("variants", dict()).get("seek", [])
for variant in variants:
rcmode = variant["rcmode"]
bitrate = variant["bitrate"]

# Update maxrate according to rcmode
if "cbr" == rcmode:
variant.update(maxrate = bitrate)
elif "vbr" == rcmode:
variant.update(maxrate = bitrate * 2)
else:
variant.update(maxrate = None)

yield [
case, rcmode, bitrate, variant.get("maxrate", None),
variant.get("fps", 25), variant.get("seek", 1)
]

def gen_vp9_seek_parameters(spec):
keys = ("case", "rcmode", "bitrate", "maxrate", "fps", "seek")
params = gen_vp9_seek_variants(spec)
return keys, params

def gen_vp9_cqp_lp_variants(spec):
for case, params in spec.items():
variants = params.get("variants", dict()).get("cqp_lp", [])
Expand Down Expand Up @@ -898,6 +923,31 @@ def gen_vp9_vbr_lp_parameters(spec):
params = gen_vp9_vbr_lp_variants(spec)
return keys, params

def gen_vp9_seek_lp_variants(spec):
for case, params in spec.items():
variants = params.get("variants", dict()).get("seek_lp", [])
for variant in variants:
rcmode = variant["rcmode"]
bitrate = variant["bitrate"]

# Update maxrate according to rcmode
if "cbr" == rcmode:
variant.update(maxrate = bitrate)
elif "vbr" == rcmode:
variant.update(maxrate = bitrate * 2)
else:
variant.update(maxrate = None)

yield [
case, rcmode, bitrate, variant.get("maxrate", None),
variant.get("fps", 25), variant.get("seek", 1)
]

def gen_vp9_seek_lp_parameters(spec):
keys = ("case", "rcmode", "bitrate", "maxrate", "fps", "seek")
params = gen_vp9_seek_lp_variants(spec)
return keys, params

def gen_av1_cqp_variants(spec, strapi=False):
for case, params in spec.items():
if strapi:
Expand Down
35 changes: 35 additions & 0 deletions test/ffmpeg-qsv/encode/vp9.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,38 @@ def test(self, case, gop, bitrate, fps, slices, refmode, quality, looplvl, loops
self.init(spec, case, gop, bitrate, fps, slices, quality)
self.encode()

class seek(VP9_8EncoderTest):
def init(self, tspec, case, rcmode, bitrate, maxrate, fps, seek):
vars(self).update(tspec[case].copy())
vars(self).update(
case = case,
bitrate = bitrate,
maxrate = maxrate,
minrate = bitrate,
rcmode = rcmode,
fps = fps,
seek = seek,
)

@slash.parametrize(*gen_vp9_seek_parameters(spec))
def test(self, case, rcmode, bitrate, maxrate, fps, seek):
self.init(spec, case, rcmode, bitrate, maxrate, fps, seek)
self.encode()

class seek_lp(VP9_8EncoderLPTest):
def init(self, tspec, case, rcmode, bitrate, maxrate, fps, seek):
vars(self).update(tspec[case].copy())
vars(self).update(
case = case,
bitrate = bitrate,
maxrate = maxrate,
minrate = bitrate,
rcmode = rcmode,
fps = fps,
seek = seek,
)

@slash.parametrize(*gen_vp9_seek_lp_parameters(spec))
def test(self, case, rcmode, bitrate, maxrate, fps, seek):
self.init(spec, case, rcmode, bitrate, maxrate, fps, seek)
self.encode()

0 comments on commit f925411

Please sign in to comment.