Query final values of session params like stage,
pipe and quality mode from FW and check if they
are the same intended values as configured by
the driver.
Change-Id: I1a504401a599860ab971e34e1e184e67631d6120
Signed-off-by: Chandrakant I Viraktamath <civirakt@codeaurora.org>
add support for HFI_PROP_MAX_NUM_REORDER_FRAMES.
add ctrl for this metadata for avc and hevc.
Change-Id: I9a7b95f130e58f810255aff23e9b605304841072
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Set default value for number of hw blocks as 1 for video
client.
Change-Id: I64927db72abc9b8ad4be9ff6d125ca9424787372
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
In msm_vidc_packetize_control api, there is a stack-out-of-bounds
possibility. So added change to fix this issue.
Change-Id: I9c9a0217b55dd2586cfd6f814401c80ddb0c011f
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Decoder is not supposed to support VIDIOC_ENCODER_CMD.
Encoder is not supposed to support VIDIOC_DECODER_CMD.
To do the same define separate ioctl ops for encoder and decoder
and remove unsupported ops.
Fixes: v4l2-compliance:
testEncoder(VIDIOC_(TRY_)ENCODER_CMD) on decoder.
testDecoder(VIDIOC_(TRY_)DECODER_CMD) on encoder.
Change-Id: I1560bd2f64c5df1e4b4f125d5b6d542eb9eb42e3
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
Any video device which supports capture multiplanar buf type
should implement VIDIOC_TRY_FMT.
Fixes: v4l2-compliance: testTryFormats (VIDIOC_TRY_FMT).
Change-Id: Id7ec171115c9374c6173fcf74a609382c3acf2d0
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
- Decoder should support G_SELECTION on capture plane only,
so return -EINVAL for other buffer types.
- Return -EINVAL for unsupported/invalid selection target.
Fixes: v4l2-compliance: testLegacyCrop(VIDIOC_G_SELECTION)
on decoder.
Change-Id: I790f0fb95cb5f1d0e5b2132f4e580b7fa1b68c51
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
- CROP should be supported only for V4L2_SEL_TGT_CROP selection
target.
- Compose should be supported only for V4L2_SEL_TGT_COMPOSE
selecion target.
Fixes: v4l2-compliance: testCrop/testCompose (VIDIOC_S_SELECTION)
on encoder.
Change-Id: Iaada9e0078602ab5ddcdd25d94c9abb29c053811
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
- Set capability for capture and output plane.
- Update denominator and numerator of timeperframe structure
to default values if set with zero.
Fixes: v4l2-compliance: testParm(VIDIOC_S/G_PARM) for encoder.
Change-Id: Ib9d92f07fc526a11253ac5d1adc1b639eef3632e
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
- Added change to print buffer statistics like total and avg
etb, ebd, ftb, fbd counts, client set fps, actual fps,
bitrate values in 1 sec window and these stats currently
configured to print at every 1sec boundary.
- Convert meta buffer prints to low level logs.
Change-Id: I1c93eea90fbd5460eb51bbf133c513157003d51e
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
add null check for pkt before accessing pkt
type in handle_system_error function.
Change-Id: If2c3d4c789fed16ed5c385258edc20e122bf1ea9
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Migrate to threaded IRQ from workqueue based
IRQ handling.
Change-Id: I5cf2ecaa6d9b8d67698bbaf41e8d5ff77249ab1c
Signed-off-by: Priyanka Gujjula <pgujjula@codeaurora.org>
Cap chroma qp offset value other than -12 as 0.
Change-Id: I0ca9c4844ab835a9365e695f38deff90768191aa
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
VIDIOC_ENUM_FRAMESIZES was not handled for OUTPUT_MPLANE.
Fixes: v4l2-compliance: testFrameSize(VIDIOC_ENUM_FRAMESIZES)
on encoder.
Change-Id: I9031e018c13ebae94e516be1b5558d30c68b2862
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
Added support to dump subsystem region along with firmware
region and queues.
Change-Id: If032553f23195b3c9ddc9d6e18854319452558c7
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
If client fails to configure color aspects to driver, driver does not set
required color space flags to firmware. For RGBA enc session, there is
implicit CSC. Hence, resultant color space should be BT709 LR. But
firmware fails to generate this color space info assuming that color
space info is not required. Hence, fix this by setting BT709 LR as
default color space info for RGBA enc session.
Change-Id: I6f9fa0986dd8657b1d6bcc2c86286aa51813f518
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
when client does stream on and stream off on input port,
and if ipsc is raised by fw at the same time, the ipsc
is discarded by driver and this race condition results in
incorrect port setting properties used by the driver.
To resolve this, driver will resubscribe for port settings
during the following input port streamon and fw will reraise
ipsc and new properties will be used.
Signed-off-by: Darshana Patil <darshana@codeaurora.org>
Change-Id: Id777f9c039a089846e65406e007501b62a571a25
move driver state to ERROR if any session pkt processing failed.
Change-Id: Id9c653eb01a0845d6d25cf16383f34707d76ba96
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Queue pending buffers from decode_batch during ipsc to avoid
reconfig latency. So added change to queue all pending buffers,
if inst->state is not in START state.
Change-Id: I09eab9c1f4708ec4390486230579fab2ef216a46
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Enumerate supported color formats based on preference.
Compressed format should be populated first, then linear formats.
Change-Id: I82ebd9b9386098575c257b193be37e07ab476d9a
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
Ignore input port or output port streamoff if corresponding port is already
streamed off.
Change-Id: I708126b24758ee0f76bc2646527d1baee59e5178
Signed-off-by: Akshata Sahukar <asahukar@codeaurora.org>
The driver should update field variable of format
structure with a value other than V4L2_FIELD_ANY.
Update it with V4L2_FIELD_NONE.
Fixes: v4l2-compliance: testGetFormats(VIDIOC_G_FMT).
Change-Id: I2338c867b543b2964c0c6a84f76cfad6862a935f
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
In case, when control id passed by client is 0, ctrl ref will be NULL.
handle such NULL ctrl by returning -EINVAL from driver.
Fix: v4l2-compliance: testSimpleControls: Invalid Control.
Change-Id: Ie7dfe96775dd5fe71a4e467539dd261e4ba9efaf
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>
Image session should run as fast as possible mode and dynamic
framerate detection is not applicable for image session. So
added change to disable that feature for image decode session.
Change-Id: Ifcfeb24d1f70009ba48e9ade77bd765c1b0e8fd7
Signed-off-by: Govindaraj Rajagopal <grajagop@codeaurora.org>
Sequence change property would configure firmware to generate psc at every
key frame. This property is configured based on low latency settings from
the client.
For cases, when client sets low latency from 1 to 0, the hardware would
continue to run in direct mode (low latency mode). Since the sequence
change property gets disabled, there would not be psc from firmware to
change the mode to 2 stage. Hence the sequence change property to be reset
only during psc handling.
Change-Id: Ie8e17e44c921f036763f6f390397d4d812120e23
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
There are few apk which does not set the rate. As per the design,
video sessions should run in non real time mode for such sessions.
It is leading to high power as the resources are clocked to max
in non realtime mode.
Keeping the mode as real time for such sessions.
Change-Id: I072b33038b1169788f37711ebf6cb069d0f07381
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
- Bus_info in caps shouldn’t be empty and
the name should have valid prefix.
- Update MSM_VIDC_VERSION to ((5 << 16) + (10 << 8) + 0).
Partially Fixes: v4l2-compliance: testCap (VIDIOC_QUERYCAP).
Change-Id: I2405d1154fbb0e71f859a26169a09ed77ffa330e
Signed-off-by: Dikshita Agarwal <dikshita@codeaurora.org>