- Jul 05, 2022
-
-
Benjamin Gaignard authored
Hantro G2 decoder only support 4:0:0 and 4:2:0 chroma formats. Filter out all others chroma formats and apply the selected chroma on hardware register.
-
Benjamin Gaignard authored
Luma and chroma depth are set on different hardware registers. Even if they aren't identical the bitstream can be compliant to HEVC specifications and decoded by the hardware. With this patch TSUNEQBD_A_MAIN10_Technicolor_2 conformance test is successfully decoded. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Expose 10bit pixel formats to enable 10bit decoding in IMX8M SoCs. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Stop limiting HEVC support to 8-bits bitstreams also accept 10-bits bitstreams. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Move output format setting in postproc and make sure that 8/10bit configuration is correctly set. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
The chroma offset depends of the bitstream depth. Make sure that ctx->bit_depth is used to compute it. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
SAO and FILTER buffers size depend of the bit depth. Make sure we have enough space for 10bit bitstreams. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Store HEVC bit depth in context. Bit depth is equal to hevc sps bit_depth_luma_minus8 + 8. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Now that infrastructure for 10-bit decoding exists, enable it for Allwinner H6. Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
Now that we have proper infrastructure for postprocessing 10-bit formats, store VP9 bit depth in context. Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
Currently chroma offset calculation assumes only 1 byte per luma, with no consideration for stride. Take necessary information from destination pixel format which makes calculation completely universal. Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
Some postproc legacy registers were set in VP9 code. Move them to postproc and fix their value. Reviewed-by:
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
When allocating aux buffers for postprocessing, it's assumed that base buffer size is the same as that of output. Coincidentally, that's true most of the time, but not always. 10-bit source also needs aux buffer size which is appropriate for 10-bit native format, even if the output format is 8-bit. Similarly, mv sizes and other extra buffer size also depends on source width/height, not destination. Reviewed-by:
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
In preparation for supporting 10-bit formats, add mechanism which will filter formats based on pixel depth. Hantro G2 supports only one decoding format natively and that is based on bit depth of current video frame. Additionally, it makes no sense to upconvert bitness, so filter those out too. Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
Add P010 tiled format Signed-off-by:
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> [rebased and updated pixel format name] Signed-off-by:
Jernej Skrabec <jernej.skrabec@gmail.com>
-
Benjamin Gaignard authored
HEVC uAPI is used by 2 mainline drivers (Hantro, Cedrus) and at least 2 out-of-tree drivers (rkvdec, RPi). The uAPI has been reviewed so it is time to make it 'public' by un-staging it. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
'F.7.3.6.1 General slice segment header syntax' section of HEVC specification describes that a slice header always end aligned on byte boundary, therefore we only need to provide the data offset in bytes. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Fix padding where needed to remove holes and stay aligned on cache boundaries Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
The number of bits to skip in the slice header can be computed in the driver by using sps, pps and decode_params information. This makes it possible to remove Hantro dedicated control. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Simply print the type of the control. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Move the HEVC stateless controls types out of staging, and re-number them. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
The number of 'entry point offset' can be very variable. Instead of using a large static array define a v4l2 dynamic array of U32 (V4L2_CTRL_TYPE_U32). The number of entry point offsets is reported by the elems field and in struct v4l2_ctrl_hevc_slice_params.num_entry_point_offsets field. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Move HEVC pixel format since we are ready to stabilize the uAPI Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Make explicit that V4L2_CID_STATELESS_HEVC_SLICE_PARAMS control is a dynamic array control type. Some drivers may be able to receive multiple slices in one control to improve decoding performance. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Add kernel-doc documentation for all the HEVC structures. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
The possible values for the field_pic field in the v4l2_hevc_dpb_entry structure are defined in the table D.2 in HEVC specification section D.3.3. Add flags and documentation for each of them. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
The HEVC specification describes the following: "PicOrderCntVal is derived as follows: PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb The value of PicOrderCntVal shall be in the range of −2^31 to 2^31 − 1, inclusive." To match with these definitions change __u16 pic_order_cnt[2] into __s32 pic_order_cnt_val. Change v4l2_ctrl_hevc_slice_params->slice_pic_order_cnt to __s32 too. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Benjamin Gaignard authored
Change HEVC stateless controls names to V4L2_CID_STATELESS_HEVC instead of V4L2_CID_MPEG_VIDEO_HEVC be coherent with v4l2 naming convention. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com> Reviewed-by:
Nicolas Dufresne <nicolas.dufresne@collabora.com>
-
Benjamin Gaignard authored
Complete the HEVC controls with missing fields from H.265 specifications. Even if these fields aren't used by the current mainlined drivers they will be required for (at least) the rkvdec driver. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
Add a dynamic array test control to help test support for this feature. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Implement support for dynamically allocated arrays. Most of the changes concern keeping track of the number of elements of the array and the number of elements allocated for the array and reallocating memory if needed. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Add a new flag that indicates that this control is a dynamically sized array. Also document this flag. Currently dynamically sized arrays are limited to one dimensional arrays, but that might change in the future if there is a need for it. The initial use-case of dynamic arrays are stateless codecs. A frame can be divided in many slices, so you want to provide an array containing slice information for each slice. Typically the number of slices is small, but the standard allow for hundreds or thousands of slices. Dynamic arrays are a good solution since sizing the array for the worst case would waste substantial amounts of memory. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl>
-
Benjamin Gaignard authored
Hardware documentation said that G2 max frequency is 300MHz. Fix dts to be aligned with this value. Signed-off-by:
Benjamin Gaignard <benjamin.gaignard@collabora.com>
-
- Jun 27, 2022
-
-
Hirokazu Honda authored
The media driver supports constant bitrate mode only. The supported rate control mode is reported through querymenu() and s_ctrl() fails if non constant bitrate mode (e.g. VBR) is requested. Signed-off-by:
Hirokazu Honda <hiroh@chromium.org> Reviewed-by:
Irui Wang <irui.wang@mediatek.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Jiang Jian authored
file: ./drivers/staging/media/av7110/av7110.c line: 2367 * reset with with MASK_31 to MC1 changed to * reset with MASK_31 to MC1 Signed-off-by:
Jiang Jian <jiangjian@cdjrlc.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Jiang Jian authored
file: drivers/media/pci/saa7164/saa7164-api.c line: 804 /* Assumption: Hauppauge eeprom is at 0xa0 on on bus 0 */ changed to /* Assumption: Hauppauge eeprom is at 0xa0 on bus 0 */ Signed-off-by:
Jiang Jian <jiangjian@cdjrlc.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Yunfei Dong authored
According to subdev_bitmap bit value to open hardware power, need to set subdev_bitmap value for non subdev architecture. Fixes: c05bada3 ("media: mtk-vcodec: Add to support multi hardware decode") Signed-off-by:
Yunfei Dong <yunfei.dong@mediatek.com> Reviewed-by:
Chen-Yu Tsai <wenst@chromium.org> Tested-by:
Chen-Yu Tsai <wenst@chromium.org> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Jiang Jian authored
Consider "*" alignment in comments Signed-off-by:
Jiang Jian <jiangjian@cdjrlc.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Miaoqian Lin authored
video_device_alloc() allocates memory for vdev, when video_register_device() fails, it doesn't release the memory and leads to memory leak, call video_device_release() to fix this. Fixes: 704a84cc ("[media] media: Support Intersil/Techwell TW686x-based video capture cards") Signed-off-by:
Miaoqian Lin <linmq006@gmail.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Jian Zhang authored
In function mxc_jpeg_probe(), when devm_clk_get() fail, the return value will be unexpected, and it should be the devm_clk_get's error code. Fixes: 4c2e5156 ("media: imx-jpeg: Add pm-runtime support for imx-jpeg") Reported-by:
Hulk Robot <hulkci@huawei.com> Signed-off-by:
Jian Zhang <zhangjian210@huawei.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-