v4l2slh264dec: Fix reading mode and start code type
These two controls are not pointer based, so we don't need to pass any size or pointer and need to copy the values afterward. This fixes H264 decoding regression with Hantro and RKVDEC drivers. Fixes 037730a787c6cdeeee5779c1834315c1ca764505 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1330>
This commit is contained in:
parent
52a82f5b84
commit
483539f45c
@ -115,13 +115,9 @@ gst_v4l2_codec_h264_dec_open (GstVideoDecoder * decoder)
|
||||
struct v4l2_ext_control control[] = {
|
||||
{
|
||||
.id = V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE,
|
||||
.ptr = &self->decode_mode,
|
||||
.size = sizeof (self->decode_mode),
|
||||
},
|
||||
{
|
||||
.id = V4L2_CID_MPEG_VIDEO_H264_START_CODE,
|
||||
.ptr = &self->start_code,
|
||||
.size = sizeof (self->start_code),
|
||||
},
|
||||
};
|
||||
/* *INDENT-ON* */
|
||||
@ -141,6 +137,9 @@ gst_v4l2_codec_h264_dec_open (GstVideoDecoder * decoder)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
self->decode_mode = control[0].value;
|
||||
self->start_code = control[1].value;
|
||||
|
||||
GST_INFO_OBJECT (self, "Opened H264 %s decoder %s",
|
||||
is_frame_based (self) ? "frame based" : "slice based",
|
||||
needs_start_codes (self) ? "using start-codes" : "withouth start-codes");
|
||||
|
Loading…
x
Reference in New Issue
Block a user