mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
lavc: add pkt_size field to AVFrame
This commit is contained in:
parent
a8b3f0c5cf
commit
96d815fc0c
@ -15,6 +15,9 @@ libavutil: 2012-10-22
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2012-12-15 - xxxxxxx - lavc 54.80.100 - avcodec.h
|
||||
Add pkt_size field to AVFrame.
|
||||
|
||||
2012-11-25 - xxxxxxx - lavu 52.9.100 - opt.h
|
||||
Add the following convenience functions to opt.h:
|
||||
av_opt_get_image_size
|
||||
|
@ -1467,6 +1467,16 @@ typedef struct AVFrame {
|
||||
* - decoding: Read by user.
|
||||
*/
|
||||
int64_t channels;
|
||||
|
||||
/**
|
||||
* size of the corresponding packet containing the compressed
|
||||
* frame. It must be accessed using av_frame_get_pkt_size() and
|
||||
* av_frame_set_pkt_size().
|
||||
* It is set to a negative value if unknown.
|
||||
* - encoding: unused
|
||||
* - decoding: set by libavcodec, read by user.
|
||||
*/
|
||||
int pkt_size;
|
||||
} AVFrame;
|
||||
|
||||
/**
|
||||
@ -1490,6 +1500,8 @@ AVDictionary *av_frame_get_metadata (const AVFrame *frame);
|
||||
void av_frame_set_metadata (AVFrame *frame, AVDictionary *val);
|
||||
int av_frame_get_decode_error_flags (const AVFrame *frame);
|
||||
void av_frame_set_decode_error_flags (AVFrame *frame, int val);
|
||||
int av_frame_get_pkt_size(const AVFrame *frame);
|
||||
void av_frame_set_pkt_size(AVFrame *frame, int val);
|
||||
|
||||
struct AVCodecInternal;
|
||||
|
||||
|
@ -248,6 +248,7 @@ const AVClass *avcodec_get_class(void)
|
||||
static const AVOption frame_options[]={
|
||||
{"best_effort_timestamp", "", FOFFSET(best_effort_timestamp), AV_OPT_TYPE_INT64, {.i64 = AV_NOPTS_VALUE }, INT64_MIN, INT64_MAX, 0},
|
||||
{"pkt_pos", "", FOFFSET(pkt_pos), AV_OPT_TYPE_INT64, {.i64 = -1 }, INT64_MIN, INT64_MAX, 0},
|
||||
{"pkt_size", "", FOFFSET(pkt_size), AV_OPT_TYPE_INT64, {.i64 = -1 }, INT64_MIN, INT64_MAX, 0},
|
||||
{"sample_aspect_ratio", "", FOFFSET(sample_aspect_ratio), AV_OPT_TYPE_RATIONAL, {.dbl = 0 }, 0, INT_MAX, 0},
|
||||
{"width", "", FOFFSET(width), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX, 0},
|
||||
{"height", "", FOFFSET(height), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, INT_MAX, 0},
|
||||
|
@ -512,10 +512,12 @@ void ff_init_buffer_info(AVCodecContext *s, AVFrame *frame)
|
||||
frame->pkt_pts = s->pkt->pts;
|
||||
frame->pkt_pos = s->pkt->pos;
|
||||
frame->pkt_duration = s->pkt->duration;
|
||||
frame->pkt_size = s->pkt->size;
|
||||
} else {
|
||||
frame->pkt_pts = AV_NOPTS_VALUE;
|
||||
frame->pkt_pos = -1;
|
||||
frame->pkt_duration = 0;
|
||||
frame->pkt_size = -1;
|
||||
}
|
||||
frame->reordered_opaque = s->reordered_opaque;
|
||||
|
||||
@ -677,6 +679,7 @@ void avcodec_get_frame_defaults(AVFrame *frame)
|
||||
frame->best_effort_timestamp = AV_NOPTS_VALUE;
|
||||
frame->pkt_duration = 0;
|
||||
frame->pkt_pos = -1;
|
||||
frame->pkt_size = -1;
|
||||
frame->key_frame = 1;
|
||||
frame->sample_aspect_ratio = (AVRational) {0, 1 };
|
||||
frame->format = -1; /* unknown */
|
||||
@ -723,6 +726,7 @@ MAKE_ACCESSORS(AVFrame, frame, int, channels)
|
||||
MAKE_ACCESSORS(AVFrame, frame, int, sample_rate)
|
||||
MAKE_ACCESSORS(AVFrame, frame, AVDictionary *, metadata)
|
||||
MAKE_ACCESSORS(AVFrame, frame, int, decode_error_flags)
|
||||
MAKE_ACCESSORS(AVFrame, frame, int, pkt_size)
|
||||
|
||||
MAKE_ACCESSORS(AVCodecContext, codec, AVRational, pkt_timebase)
|
||||
MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor)
|
||||
|
@ -29,8 +29,8 @@
|
||||
#include "libavutil/avutil.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 54
|
||||
#define LIBAVCODEC_VERSION_MINOR 79
|
||||
#define LIBAVCODEC_VERSION_MICRO 102
|
||||
#define LIBAVCODEC_VERSION_MINOR 80
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user