Skip to content

Commit

Permalink
[strapi]ffmpeg-qsv avc using consolidated strapi generators
Browse files Browse the repository at this point in the history
Signed-off-by: Focus Luo <[email protected]>
  • Loading branch information
FocusLuo committed Aug 23, 2024
1 parent 3bff72b commit bcbe9dd
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions test/ffmpeg-qsv/encode/avc.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from ....lib import *
from ....lib.ffmpeg.qsv.util import *
from ....lib.ffmpeg.qsv.encoder import AVCEncoderTest, AVCEncoderLPTest
from ....lib.ffmpeg.qsv.encoder import StringAPIEncoder

spec = load_test_spec("avc", "encode")
spec_r2r = load_test_spec("avc", "encode", "r2r")
Expand Down Expand Up @@ -36,6 +37,13 @@ def test_r2r(self, case, gop, slices, bframes, qp, quality, profile):
vars(self).setdefault("r2r", 5)
self.encode()

@slash.requires(*have_ffmpeg_encoder_options("h264_qsv", "qsv_params"))
@slash.parametrize(*gen_avc_cqp_parameters(spec, ['high', 'main', 'baseline'], strapi=True))
def test_strapi(self, case, gop, slices, bframes, qp, quality, profile):
self.EncoderClass = StringAPIEncoder
self.init(spec, case, gop, slices, bframes, qp, quality, profile)
self.encode()

class cqp_lp(AVCEncoderLPTest):
def init(self, tspec, case, gop, slices, bframes, qp, quality, profile):
vars(self).update(tspec[case].copy())
Expand All @@ -61,6 +69,13 @@ def test_r2r(self, case, gop, slices, bframes, qp, quality, profile):
vars(self).setdefault("r2r", 5)
self.encode()

@slash.requires(*have_ffmpeg_encoder_options("h264_qsv", "qsv_params"))
@slash.parametrize(*gen_avc_cqp_lp_parameters(spec, ['high', 'main'], strapi=True))
def test_strapi(self, case, gop, slices, bframes, qp, quality, profile):
self.EncoderClass = StringAPIEncoder
self.init(spec, case, gop, slices, bframes, qp, quality, profile)
self.encode()

class cbr(AVCEncoderTest):
def init(self, tspec, case, gop, slices, bframes, bitrate, fps, profile):
vars(self).update(tspec[case].copy())
Expand Down Expand Up @@ -88,6 +103,13 @@ def test_r2r(self, case, gop, slices, bframes, bitrate, fps, profile):
vars(self).setdefault("r2r", 5)
self.encode()

@slash.requires(*have_ffmpeg_encoder_options("h264_qsv", "qsv_params"))
@slash.parametrize(*gen_avc_cbr_parameters(spec, ['high', 'main', 'baseline'], strapi=True))
def test_strapi(self, case, gop, slices, bframes, bitrate, fps, profile):
self.EncoderClass = StringAPIEncoder
self.init(spec, case, gop, slices, bframes, bitrate, fps, profile)
self.encode()

class cbr_lp(AVCEncoderLPTest):
def init(self, tspec, case, gop, slices, bframes, bitrate, fps, profile):
vars(self).update(tspec[case].copy())
Expand Down Expand Up @@ -115,6 +137,13 @@ def test_r2r(self, case, gop, slices, bframes, bitrate, fps, profile):
vars(self).setdefault("r2r", 5)
self.encode()

@slash.requires(*have_ffmpeg_encoder_options("h264_qsv", "qsv_params"))
@slash.parametrize(*gen_avc_cbr_lp_parameters(spec, ['high', 'main'], strapi=True))
def test_strapi(self, case, gop, slices, bframes, bitrate, fps, profile):
self.EncoderClass = StringAPIEncoder
self.init(spec, case, gop, slices, bframes, bitrate, fps, profile)
self.encode()

class vbr(AVCEncoderTest):
def init(self, tspec, case, gop, slices, bframes, bitrate, fps, quality, refs, profile):
vars(self).update(tspec[case].copy())
Expand Down Expand Up @@ -144,6 +173,13 @@ def test_r2r(self, case, gop, slices, bframes, bitrate, fps, quality, refs, prof
vars(self).setdefault("r2r", 5)
self.encode()

@slash.requires(*have_ffmpeg_encoder_options("h264_qsv", "qsv_params"))
@slash.parametrize(*gen_avc_vbr_parameters(spec, ['high', 'main', 'baseline'], strapi=True))
def test_strapi(self, case, gop, slices, bframes, bitrate, fps, quality, refs, profile):
self.EncoderClass = StringAPIEncoder
self.init(spec, case, gop, slices, bframes, bitrate, fps, quality, refs, profile)
self.encode()

class vbr_lp(AVCEncoderLPTest):
def before(self):
super().before()
Expand Down Expand Up @@ -191,6 +227,13 @@ def test_tcbrc(self, case, bitrate, fps, profile):
)
self.encode()

@slash.requires(*have_ffmpeg_encoder_options("h264_qsv", "qsv_params"))
@slash.parametrize(*gen_avc_vbr_lp_parameters(spec, ['high', 'main'], strapi=True))
def test_strapi(self, case, gop, slices, bframes, bitrate, fps, quality, refs, profile):
self.EncoderClass = StringAPIEncoder
self.init(spec, case, gop, slices, bframes, bitrate, fps, quality, refs, profile)
self.encode()

# TODO: This can be moved into the vbr test class in a test_la method
class vbr_la(AVCEncoderTest):
@slash.parametrize(*gen_avc_vbr_la_parameters(spec, ['high', 'main', 'baseline']))
Expand Down

0 comments on commit bcbe9dd

Please sign in to comment.