#include <stddef.h>
#include <xevd.h>
#include "libavutil/internal.h"
#include "libavutil/common.h"
#include "libavutil/pixdesc.h"
#include "libavutil/pixfmt.h"
#include "libavutil/imgutils.h"
#include "libavutil/cpu.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "profiles.h"
#include "decode.h"
Go to the source code of this file.
|
struct | XevdContext |
| The structure stores all the states associated with the instance of Xeve MPEG-5 EVC decoder. More...
|
|
|
static void | get_conf (AVCodecContext *avctx, XEVD_CDSC *cdsc) |
| The function populates the XEVD_CDSC structure. More...
|
|
static uint32_t | read_nal_unit_length (const uint8_t *bs, int bs_size, AVCodecContext *avctx) |
| Read NAL unit length. More...
|
|
static int | export_stream_params (const XevdContext *xectx, AVCodecContext *avctx) |
|
static int | libxevd_image_copy (struct AVCodecContext *avctx, XEVD_IMGB *imgb, struct AVFrame *frame) |
| Copy image in imgb to frame. More...
|
|
static av_cold int | libxevd_init (AVCodecContext *avctx) |
| Initialize decoder Create a decoder instance and allocate all the needed resources. More...
|
|
static int | libxevd_return_frame (AVCodecContext *avctx, AVFrame *frame, XEVD_IMGB *imgb, AVPacket **pkt_au) |
|
static int | libxevd_receive_frame (AVCodecContext *avctx, AVFrame *frame) |
| Decode frame with decoupled packet/frame dataflow. More...
|
|
static av_cold int | libxevd_close (AVCodecContext *avctx) |
| Destroy decoder. More...
|
|
◆ XEVD_PARAM_BAD_NAME
#define XEVD_PARAM_BAD_NAME -1 |
◆ XEVD_PARAM_BAD_VALUE
#define XEVD_PARAM_BAD_VALUE -2 |
◆ EVC_NAL_HEADER_SIZE
#define EVC_NAL_HEADER_SIZE 2 /* byte */ |
◆ get_conf()
The function populates the XEVD_CDSC structure.
XEVD_CDSC contains all decoder parameters that should be initialized before its use.
- Parameters
-
[in] | avctx | codec context |
[out] | cdsc | contains all decoder parameters that should be initialized before its use |
Definition at line 67 of file libxevd.c.
Referenced by libxevd_init().
◆ read_nal_unit_length()
static uint32_t read_nal_unit_length |
( |
const uint8_t * |
bs, |
|
|
int |
bs_size, |
|
|
AVCodecContext * |
avctx |
|
) |
| |
|
static |
Read NAL unit length.
- Parameters
-
- Returns
- the length of NAL unit on success, 0 value on failure
Definition at line 88 of file libxevd.c.
Referenced by libxevd_receive_frame().
◆ export_stream_params()
- Parameters
-
[in] | xectx | the structure that stores all the state associated with the instance of Xeve MPEG-5 EVC decoder |
[out] | avctx | codec context |
- Returns
- 0 on success, negative value on failure
Definition at line 115 of file libxevd.c.
Referenced by libxevd_receive_frame().
◆ libxevd_image_copy()
static int libxevd_image_copy |
( |
struct AVCodecContext * |
avctx, |
|
|
XEVD_IMGB * |
imgb, |
|
|
struct AVFrame * |
frame |
|
) |
| |
|
static |
Copy image in imgb to frame.
- Parameters
-
| avctx | codec context |
[in] | imgb | |
[out] | frame | |
- Returns
- 0 on success, negative value on failure
Definition at line 190 of file libxevd.c.
Referenced by libxevd_return_frame().
◆ libxevd_init()
Initialize decoder Create a decoder instance and allocate all the needed resources.
- Parameters
-
- Returns
- 0 on success, negative error code on failure
Definition at line 223 of file libxevd.c.
◆ libxevd_return_frame()
◆ libxevd_receive_frame()
Decode frame with decoupled packet/frame dataflow.
- Parameters
-
| avctx | codec context |
[out] | frame | decoded frame |
- Returns
- 0 on success, negative error code on failure
Definition at line 315 of file libxevd.c.
◆ libxevd_close()
Destroy decoder.
- Parameters
-
- Returns
- 0 on success
Definition at line 457 of file libxevd.c.
◆ ff_libxevd_decoder
Initial value:= {
.p.name = "evc",
.p.wrapper_name = "libxevd",
}
Definition at line 471 of file libxevd.c.
The structure stores all the states associated with the instance of Xeve MPEG-5 EVC decoder.