linux/drivers/media/pci/ivtv/ivtv-yuv.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
    yuv support

    Copyright (C) 2007  Ian Armstrong <[email protected]>

 */

#include "ivtv-driver.h"
#include "ivtv-udma.h"
#include "ivtv-yuv.h"

/* YUV buffer offsets */
const u32 yuv_offset[IVTV_YUV_BUFFERS] =;

static int ivtv_yuv_prep_user_dma(struct ivtv *itv, struct ivtv_user_dma *dma,
				  struct ivtv_dma_frame *args)
{}

/* We rely on a table held in the firmware - Quick check. */
int ivtv_yuv_filter_check(struct ivtv *itv)
{}

static void ivtv_yuv_filter(struct ivtv *itv, int h_filter, int v_filter_1, int v_filter_2)
{}

static void ivtv_yuv_handle_horizontal(struct ivtv *itv, struct yuv_frame_info *f)
{}

static void ivtv_yuv_handle_vertical(struct ivtv *itv, struct yuv_frame_info *f)
{}

/* Modify the supplied coordinate information to fit the visible osd area */
static u32 ivtv_yuv_window_setup(struct ivtv *itv, struct yuv_frame_info *f)
{}

/* Update the scaling register to the requested value */
void ivtv_yuv_work_handler(struct ivtv *itv)
{}

static void ivtv_yuv_init(struct ivtv *itv)
{}

/* Get next available yuv buffer on PVR350 */
static void ivtv_yuv_next_free(struct ivtv *itv)
{}

/* Set up frame according to ivtv_dma_frame parameters */
static void ivtv_yuv_setup_frame(struct ivtv *itv, struct ivtv_dma_frame *args)
{}

/* Frame is complete & ready for display */
void ivtv_yuv_frame_complete(struct ivtv *itv)
{}

static int ivtv_yuv_udma_frame(struct ivtv *itv, struct ivtv_dma_frame *args)
{}

/* Setup frame according to V4L2 parameters */
void ivtv_yuv_setup_stream_frame(struct ivtv *itv)
{}

/* Attempt to dma a frame from a user buffer */
int ivtv_yuv_udma_stream_frame(struct ivtv *itv, void __user *src)
{}

/* IVTV_IOC_DMA_FRAME ioctl handler */
int ivtv_yuv_prep_frame(struct ivtv *itv, struct ivtv_dma_frame *args)
{}

void ivtv_yuv_close(struct ivtv *itv)
{}