Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  hfi_platform.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
 */


#ifndef __HFI_PLATFORM_H__
#define __HFI_PLATFORM_H__

#include <linux/types.h>
#include <linux/videodev2.h>

#include "hfi.h"
#include "hfi_plat_bufs.h"
#include "hfi_helper.h"

#define MAX_PLANES  4
#define MAX_FMT_ENTRIES  32
#define MAX_CAP_ENTRIES  32
#define MAX_ALLOC_MODE_ENTRIES 16
#define MAX_CODEC_NUM  32
#define MAX_SESSIONS  16

struct raw_formats {
 u32 buftype;
 u32 fmt;
};

struct hfi_plat_caps {
 u32 codec;
 u32 domain;
 bool cap_bufs_mode_dynamic;
 unsigned int num_caps;
 struct hfi_capability caps[MAX_CAP_ENTRIES];
 unsigned int num_pl;
 struct hfi_profile_level pl[HFI_MAX_PROFILE_COUNT];
 unsigned int num_fmts;
 struct raw_formats fmts[MAX_FMT_ENTRIES];
 bool valid; /* used only for Venus v1xx */
};

struct hfi_platform_codec_freq_data {
 u32 pixfmt;
 u32 session_type;
 unsigned long vpp_freq;
 unsigned long vsp_freq;
 unsigned long low_power_freq;
};

struct hfi_platform {
 unsigned long (*codec_vpp_freq)(u32 session_type, u32 codec);
 unsigned long (*codec_vsp_freq)(u32 session_type, u32 codec);
 unsigned long (*codec_lp_freq)(u32 session_type, u32 codec);
 void (*codecs)(u32 *enc_codecs, u32 *dec_codecs, u32 *count);
 const struct hfi_plat_caps *(*capabilities)(unsigned int *entries);
 int (*bufreq)(struct hfi_plat_buffers_params *params, u32 session_type,
        u32 buftype, struct hfi_buffer_requirements *bufreq);
};

extern const struct hfi_platform hfi_plat_v4;
extern const struct hfi_platform hfi_plat_v6;

const struct hfi_platform *hfi_platform_get(enum hfi_version version);
unsigned long hfi_platform_get_codec_vpp_freq(enum hfi_version version, u32 codec,
           u32 session_type);
unsigned long hfi_platform_get_codec_vsp_freq(enum hfi_version version, u32 codec,
           u32 session_type);
unsigned long hfi_platform_get_codec_lp_freq(enum hfi_version version, u32 codec,
          u32 session_type);
int hfi_platform_get_codecs(struct venus_core *core, u32 *enc_codecs, u32 *dec_codecs,
       u32 *count);
#endif

Messung V0.5
C=96 H=100 G=97

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge