| @@ -15,6 +15,9 @@ libavutil: 2012-10-22 | |||||
| API changes, most recent first: | 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 | 2012-11-25 - xxxxxxx - lavu 52.9.100 - opt.h | ||||
| Add the following convenience functions to opt.h: | Add the following convenience functions to opt.h: | ||||
| av_opt_get_image_size | av_opt_get_image_size | ||||
| @@ -1467,6 +1467,16 @@ typedef struct AVFrame { | |||||
| * - decoding: Read by user. | * - decoding: Read by user. | ||||
| */ | */ | ||||
| int64_t channels; | 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; | } AVFrame; | ||||
| /** | /** | ||||
| @@ -1490,6 +1500,8 @@ AVDictionary *av_frame_get_metadata (const AVFrame *frame); | |||||
| void av_frame_set_metadata (AVFrame *frame, AVDictionary *val); | void av_frame_set_metadata (AVFrame *frame, AVDictionary *val); | ||||
| int av_frame_get_decode_error_flags (const AVFrame *frame); | int av_frame_get_decode_error_flags (const AVFrame *frame); | ||||
| void av_frame_set_decode_error_flags (AVFrame *frame, int val); | 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; | struct AVCodecInternal; | ||||
| @@ -248,6 +248,7 @@ const AVClass *avcodec_get_class(void) | |||||
| static const AVOption frame_options[]={ | 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}, | {"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_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}, | {"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}, | {"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}, | {"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_pts = s->pkt->pts; | ||||
| frame->pkt_pos = s->pkt->pos; | frame->pkt_pos = s->pkt->pos; | ||||
| frame->pkt_duration = s->pkt->duration; | frame->pkt_duration = s->pkt->duration; | ||||
| frame->pkt_size = s->pkt->size; | |||||
| } else { | } else { | ||||
| frame->pkt_pts = AV_NOPTS_VALUE; | frame->pkt_pts = AV_NOPTS_VALUE; | ||||
| frame->pkt_pos = -1; | frame->pkt_pos = -1; | ||||
| frame->pkt_duration = 0; | frame->pkt_duration = 0; | ||||
| frame->pkt_size = -1; | |||||
| } | } | ||||
| frame->reordered_opaque = s->reordered_opaque; | 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->best_effort_timestamp = AV_NOPTS_VALUE; | ||||
| frame->pkt_duration = 0; | frame->pkt_duration = 0; | ||||
| frame->pkt_pos = -1; | frame->pkt_pos = -1; | ||||
| frame->pkt_size = -1; | |||||
| frame->key_frame = 1; | frame->key_frame = 1; | ||||
| frame->sample_aspect_ratio = (AVRational) {0, 1 }; | frame->sample_aspect_ratio = (AVRational) {0, 1 }; | ||||
| frame->format = -1; /* unknown */ | 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, int, sample_rate) | ||||
| MAKE_ACCESSORS(AVFrame, frame, AVDictionary *, metadata) | MAKE_ACCESSORS(AVFrame, frame, AVDictionary *, metadata) | ||||
| MAKE_ACCESSORS(AVFrame, frame, int, decode_error_flags) | 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, AVRational, pkt_timebase) | ||||
| MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor) | MAKE_ACCESSORS(AVCodecContext, codec, const AVCodecDescriptor *, codec_descriptor) | ||||
| @@ -29,8 +29,8 @@ | |||||
| #include "libavutil/avutil.h" | #include "libavutil/avutil.h" | ||||
| #define LIBAVCODEC_VERSION_MAJOR 54 | #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, \ | #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ | ||||
| LIBAVCODEC_VERSION_MINOR, \ | LIBAVCODEC_VERSION_MINOR, \ | ||||