43 printf(
"Testing av_video_enc_params_alloc()\n");
44 for (
int i = 0;
i < 3;
i++) {
47 printf(
"%s: OK, type=%d, nb_blocks=%u, size>0=%s\n",
49 size > 0 ?
"yes" :
"no");
62 printf(
"zero blocks: FAIL\n");
67 printf(
"alloc (no size): %s\n", par ?
"OK" :
"FAIL");
71 printf(
"\nTesting av_video_enc_params_block()\n");
77 printf(
"frame qp=%d, delta_qp[0]={%d,%d}\n",
80 for (
int i = 0;
i < 3;
i++) {
84 printf(
"block %d: pointer inconsistent with blocks_offset/block_size\n",
i);
91 for (
int i = 0;
i < 3;
i++) {
93 printf(
"block %d: src=(%d,%d) size=%dx%d delta_qp=%d\n",
101 printf(
"\nTesting av_video_enc_params_create_side_data()\n");
107 printf(
"side_data: OK, type=%d, nb_blocks=%u\n",
112 printf(
"side_data block 0: delta_qp=%d\n",
block->delta_qp);
114 printf(
"side_data: FAIL\n");
120 printf(
"\nTesting NONE type\n");
#define i(width, name, range_min, range_max)
__device__ int printf(const char *,...)
reference-counted frame API
void av_frame_free(AVFrame **frame)
Free the frame and any dynamically allocated objects in it, e.g.
AVFrame * av_frame_alloc(void)
Allocate an AVFrame and set its fields to default values.
Memory handling functions.
This structure describes decoded (raw) audio or video data.
Data structure for storing block-level encoding information.
Video encoding parameters for a given frame.
int32_t delta_qp[4][2]
Quantisation parameter offset from the base (per-frame) qp for a given plane (first index) and AC/DC ...
enum AVVideoEncParamsType type
Type of the parameters (the codec they are used with).
unsigned int nb_blocks
Number of blocks in the array.
int32_t qp
Base quantisation parameter for the frame.
size_t blocks_offset
Offset in bytes from the beginning of this structure at which the array of blocks starts.
AVVideoEncParams * av_video_enc_params_create_side_data(AVFrame *frame, enum AVVideoEncParamsType type, unsigned int nb_blocks)
Allocates memory for AVEncodeInfoFrame plus an array of nb_blocks AVEncodeInfoBlock in the given AVFr...
AVVideoEncParams * av_video_enc_params_alloc(enum AVVideoEncParamsType type, unsigned int nb_blocks, size_t *out_size)
Allocates memory for AVVideoEncParams of the given type, plus an array of nb_blocks AVVideoBlockParam...
static av_always_inline AVVideoBlockParams * av_video_enc_params_block(AVVideoEncParams *par, unsigned int idx)
Get the block at the specified idx.
@ AV_VIDEO_ENC_PARAMS_NONE
@ AV_VIDEO_ENC_PARAMS_VP9
VP9 stores:
@ AV_VIDEO_ENC_PARAMS_MPEG2
@ AV_VIDEO_ENC_PARAMS_H264
H.264 stores: