| b35d3fea | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: write vui parameters for HEVC
The vui parameters are optional. However, the vui data allows to specify the color space of the encoded video. Write the vui parameters to make sure tha
media: allegro: write vui parameters for HEVC
The vui parameters are optional. However, the vui data allows to specify the color space of the encoded video. Write the vui parameters to make sure that decoders are able to pick up the correct color space.
Also implement the necessary lookup functions to convert the values from the V4L2 controls to the values specified in the hevc standard.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|
| 42fd2806 | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: nal-hevc: implement generator for vui
The NAL unit generator for HEVC does not support the generation of vui parameters. Implement it to allow drivers to set the vui parameters in th
media: allegro: nal-hevc: implement generator for vui
The NAL unit generator for HEVC does not support the generation of vui parameters. Implement it to allow drivers to set the vui parameters in the coded video stream.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|
| 0317c05f | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: write correct colorspace into SPS
Currently, the driver always writes PAL as video format into the SPS of the encoded stream.
Set the video format to the default value 5 (unspecifie
media: allegro: write correct colorspace into SPS
Currently, the driver always writes PAL as video format into the SPS of the encoded stream.
Set the video format to the default value 5 (unspecified) and use the color description that is already configured on the channel as color space. This fixes the color space definition in the coded data to reflect the configured color space of the video data that is encoded.
Add lookup functions to convert the color primaries, transfer function and matrix coefficients from the V4L2 control values to the values specified in the h.264 standard.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|
| e5c28f21 | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: extract nal value lookup functions to header
The lookup of the h.264 or hevc values for the respective V4L2 controls is done by the driver that uses the sps/pps generator and not in
media: allegro: extract nal value lookup functions to header
The lookup of the h.264 or hevc values for the respective V4L2 controls is done by the driver that uses the sps/pps generator and not in the generator. Therefore, it is more intuitive to define these functions directly in the header and not in the module.
Extract the functions to the headers as static inline functions.
Also simplify the function name and add kernel-doc for the hevc functions.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|
| 89091e12 | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: correctly scale the bit rate in SPS
The bit rate in the SPS can be scaled by an exponent, which allows to reduce the number of bits in the SPS in case of high bit rates.
The driver
media: allegro: correctly scale the bit rate in SPS
The bit rate in the SPS can be scaled by an exponent, which allows to reduce the number of bits in the SPS in case of high bit rates.
The driver did not scale the bitrate, but used a scaling exponent of 0. Fix this by properly calculating the scaling factor and writing the bit rate as value and scaling factor into the SPS.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|
| c0a3753c | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: remove external QP table
The VCU allows to specify the QP per frame and coding unit. A buffer that specifies the QP is passed via the ep2 field in the ENCODE_FRAME message.
The driv
media: allegro: remove external QP table
The VCU allows to specify the QP per frame and coding unit. A buffer that specifies the QP is passed via the ep2 field in the ENCODE_FRAME message.
The driver currently does not support the external QP table. Simplify the driver by not setting the ep2 fields at all.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|
| 436ee4b5 | 08-Sep-2021 |
Michael Tretter <[email protected]> |
media: allegro: fix row and column in response message
The fields for the number of rows and columns in the encode frame response message are switched. This causes broken PPS, if the encoder uses ti
media: allegro: fix row and column in response message
The fields for the number of rows and columns in the encode frame response message are switched. This causes broken PPS, if the encoder uses tiles for encoding and the number of rows and columns differ.
Write the fields of the response message into the correct fields of the the internal data structure when parsing the response message.
Signed-off-by: Michael Tretter <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
show more ...
|