mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02:00
frame: add a cropping rectangle to AVFrame
Extend the width/height doxy to clarify that it should store coded values.
This commit is contained in:
parent
b68e353136
commit
52627248e4
@ -13,6 +13,10 @@ libavutil: 2015-08-28
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2016-xx-xx - xxxxxxx - lavu 55.30.0 - frame.h
|
||||||
|
Add AVFrame.crop_left/right/top/bottom fields for attaching cropping
|
||||||
|
information to video frames.
|
||||||
|
|
||||||
2016-xx-xx - xxxxxxx
|
2016-xx-xx - xxxxxxx
|
||||||
Change av_sha_update() and av_md5_sum()/av_md5_update() length
|
Change av_sha_update() and av_md5_sum()/av_md5_update() length
|
||||||
parameter type to size_t at next major bump.
|
parameter type to size_t at next major bump.
|
||||||
|
@ -390,6 +390,10 @@ int av_frame_copy_props(AVFrame *dst, const AVFrame *src)
|
|||||||
dst->key_frame = src->key_frame;
|
dst->key_frame = src->key_frame;
|
||||||
dst->pict_type = src->pict_type;
|
dst->pict_type = src->pict_type;
|
||||||
dst->sample_aspect_ratio = src->sample_aspect_ratio;
|
dst->sample_aspect_ratio = src->sample_aspect_ratio;
|
||||||
|
dst->crop_top = src->crop_top;
|
||||||
|
dst->crop_bottom = src->crop_bottom;
|
||||||
|
dst->crop_left = src->crop_left;
|
||||||
|
dst->crop_right = src->crop_right;
|
||||||
dst->pts = src->pts;
|
dst->pts = src->pts;
|
||||||
dst->repeat_pict = src->repeat_pict;
|
dst->repeat_pict = src->repeat_pict;
|
||||||
dst->interlaced_frame = src->interlaced_frame;
|
dst->interlaced_frame = src->interlaced_frame;
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#ifndef AVUTIL_FRAME_H
|
#ifndef AVUTIL_FRAME_H
|
||||||
#define AVUTIL_FRAME_H
|
#define AVUTIL_FRAME_H
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
#include "avutil.h"
|
#include "avutil.h"
|
||||||
@ -180,9 +181,18 @@ typedef struct AVFrame {
|
|||||||
uint8_t **extended_data;
|
uint8_t **extended_data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* width and height of the video frame
|
* @name Video dimensions
|
||||||
|
* Video frames only. The coded dimensions (in pixels) of the video frame,
|
||||||
|
* i.e. the size of the rectangle that contains some well-defined values.
|
||||||
|
*
|
||||||
|
* @note The part of the frame intended for display/presentation is further
|
||||||
|
* restricted by the @ref cropping "Cropping rectangle".
|
||||||
|
* @{
|
||||||
*/
|
*/
|
||||||
int width, height;
|
int width, height;
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* number of audio samples (per channel) described by this frame
|
* number of audio samples (per channel) described by this frame
|
||||||
@ -369,6 +379,22 @@ typedef struct AVFrame {
|
|||||||
* AVHWFramesContext describing the frame.
|
* AVHWFramesContext describing the frame.
|
||||||
*/
|
*/
|
||||||
AVBufferRef *hw_frames_ctx;
|
AVBufferRef *hw_frames_ctx;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @anchor cropping
|
||||||
|
* @name Cropping
|
||||||
|
* Video frames only. The number of pixels to discard from the the
|
||||||
|
* top/bottom/left/right border of the frame to obtain the sub-rectangle of
|
||||||
|
* the frame intended for presentation.
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
size_t crop_top;
|
||||||
|
size_t crop_bottom;
|
||||||
|
size_t crop_left;
|
||||||
|
size_t crop_right;
|
||||||
|
/**
|
||||||
|
* @}
|
||||||
|
*/
|
||||||
} AVFrame;
|
} AVFrame;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 55
|
#define LIBAVUTIL_VERSION_MAJOR 55
|
||||||
#define LIBAVUTIL_VERSION_MINOR 29
|
#define LIBAVUTIL_VERSION_MINOR 30
|
||||||
#define LIBAVUTIL_VERSION_MICRO 0
|
#define LIBAVUTIL_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user