요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. c:namespace:: V4L
.. _streaming-par:
********************
Streaming Parameters
********************
Streaming parameters are intended to optimize the video capture process
as well as I/O. Presently applications can request a high quality
capture mode with the :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl.
The current video standard determines a nominal number of frames per
second. If less than this number of frames is to be captured or output,
applications can request frame skipping or duplicating on the driver
side. This is especially useful when using the
:c:func:`read()` or :c:func:`write()`, which are
not augmented by timestamps or sequence counters, and to avoid
unnecessary data copying.
Finally these ioctls can be used to determine the number of buffers used
internally by a driver in read/write mode. For implications see the
section discussing the :c:func:`read()` function.
To get and set the streaming parameters applications call the
:ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and
:ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl, respectively. They take
a pointer to a struct :c:type:`v4l2_streamparm`, which
contains a union holding separate parameters for input and output
devices.
These ioctls are optional, drivers need not implement them. If so, they
return the ``EINVAL`` error code.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
캡처 품질, 프레임 속도 및 내부 버퍼
1-34스트리밍 매개변수는 비디오 캡처 과정과 I/O를 최적화하기 위한 설정입니다. 현재 응용 프로그램은 `VIDIOC_S_PARM`을 사용해 고품질 캡처 모드를 요청할 수 있습니다.
현재 비디오 표준은 명목 초당 프레임 수를 정합니다. 응용 프로그램이 그보다 적은 프레임을 캡처하거나 출력하려면 드라이버 측 프레임 건너뛰기 또는 복제를 요청할 수 있습니다. 타임스탬프나 시퀀스 카운터가 없는 `read()` 및 `write()` I/O에서 특히 유용하며 불필요한 데이터 복사를 줄일 수 있습니다.
`VIDIOC_G_PARM`과 `VIDIOC_S_PARM`은 각각 현재 스트리밍 매개변수를 조회하고 설정합니다. 인수는 입력 및 출력 장치용 매개변수를 별도 union에 담는 `v4l2_streamparm` 구조체 포인터입니다. read/write 모드에서 드라이버가 내부적으로 사용하는 버퍼 수도 이 호출로 확인할 수 있습니다.
두 ioctl은 선택 사항이므로 드라이버가 구현하지 않아도 됩니다. 구현하지 않은 드라이버는 `EINVAL`을 반환합니다.
표준 프레임 속도와 응용 프로그램 요청 사이의 처리 흐름입니다.
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
.. c:namespace:: V4L
.. _streaming-par:
********************
Streaming Parameters
********************
Streaming parameters are intended to optimize the video capture process
as well as I/O. Presently applications can request a high quality
capture mode with the :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl.
The current video standard determines a nominal number of frames per
second. If less than this number of frames is to be captured or output,
applications can request frame skipping or duplicating on the driver
side. This is especially useful when using the
:c:func:`read()` or :c:func:`write()`, which are
not augmented by timestamps or sequence counters, and to avoid
unnecessary data copying.
Finally these ioctls can be used to determine the number of buffers used
internally by a driver in read/write mode. For implications see the
section discussing the :c:func:`read()` function.
To get and set the streaming parameters applications call the
:ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and
:ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` ioctl, respectively. They take
a pointer to a struct :c:type:`v4l2_streamparm`, which
contains a union holding separate parameters for input and output
devices.
These ioctls are optional, drivers need not implement them. If so, they
return the ``EINVAL`` error code.
요약·해설
streaming-par.rst:1-34프레임 속도, 고품질 캡처, 프레임 건너뛰기와 내부 버퍼 매개변수를 설명합니다.