You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avcodec: Deprecate dtg_active_format field in favor of avframe side-data
Signed-off-by: Diego Biurrun <diego@biurrun.de>
This commit is contained in:
committed by
Diego Biurrun
parent
d0393d79bc
commit
1ef9e83764
@@ -13,6 +13,10 @@ libavutil: 2013-12-xx
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2014-08-xx - xxxxxxx - lavc 55.57.2 - avcodec.h
|
||||||
|
2014-08-xx - xxxxxxx - lavu 53.20.0 - frame.h
|
||||||
|
Deprecate AVCodecContext.dtg_active_format and use side-data instead.
|
||||||
|
|
||||||
2014-08-xx - xxxxxxx - lavc 55.57.1 - avcodec.h
|
2014-08-xx - xxxxxxx - lavc 55.57.1 - avcodec.h
|
||||||
Deprecate unused FF_IDCT_IPP define and ipp avcodec option.
|
Deprecate unused FF_IDCT_IPP define and ipp avcodec option.
|
||||||
Deprecate unused FF_DEBUG_PTS define and pts avcodec option.
|
Deprecate unused FF_DEBUG_PTS define and pts avcodec option.
|
||||||
|
@@ -1503,6 +1503,7 @@ typedef struct AVCodecContext {
|
|||||||
*/
|
*/
|
||||||
int me_subpel_quality;
|
int me_subpel_quality;
|
||||||
|
|
||||||
|
#if FF_API_AFD
|
||||||
/**
|
/**
|
||||||
* DTG active format information (additional aspect ratio
|
* DTG active format information (additional aspect ratio
|
||||||
* information only used in DVB MPEG-2 transport streams)
|
* information only used in DVB MPEG-2 transport streams)
|
||||||
@@ -1510,8 +1511,9 @@ typedef struct AVCodecContext {
|
|||||||
*
|
*
|
||||||
* - encoding: unused
|
* - encoding: unused
|
||||||
* - decoding: Set by decoder.
|
* - decoding: Set by decoder.
|
||||||
|
* @deprecated Deprecated in favor of AVSideData
|
||||||
*/
|
*/
|
||||||
int dtg_active_format;
|
attribute_deprecated int dtg_active_format;
|
||||||
#define FF_DTG_AFD_SAME 8
|
#define FF_DTG_AFD_SAME 8
|
||||||
#define FF_DTG_AFD_4_3 9
|
#define FF_DTG_AFD_4_3 9
|
||||||
#define FF_DTG_AFD_16_9 10
|
#define FF_DTG_AFD_16_9 10
|
||||||
@@ -1519,6 +1521,7 @@ typedef struct AVCodecContext {
|
|||||||
#define FF_DTG_AFD_4_3_SP_14_9 13
|
#define FF_DTG_AFD_4_3_SP_14_9 13
|
||||||
#define FF_DTG_AFD_16_9_SP_14_9 14
|
#define FF_DTG_AFD_16_9_SP_14_9 14
|
||||||
#define FF_DTG_AFD_SP_4_3 15
|
#define FF_DTG_AFD_SP_4_3 15
|
||||||
|
#endif /* FF_API_AFD */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* maximum motion estimation search range in subpel units
|
* maximum motion estimation search range in subpel units
|
||||||
|
@@ -54,6 +54,8 @@ typedef struct Mpeg1Context {
|
|||||||
int has_stereo3d;
|
int has_stereo3d;
|
||||||
uint8_t *a53_caption;
|
uint8_t *a53_caption;
|
||||||
int a53_caption_size;
|
int a53_caption_size;
|
||||||
|
uint8_t afd;
|
||||||
|
int has_afd;
|
||||||
int slice_count;
|
int slice_count;
|
||||||
int save_aspect_info;
|
int save_aspect_info;
|
||||||
int save_width, save_height, save_progressive_seq;
|
int save_width, save_height, save_progressive_seq;
|
||||||
@@ -1631,6 +1633,18 @@ static int mpeg_field_start(MpegEncContext *s, const uint8_t *buf, int buf_size)
|
|||||||
*stereo = s1->stereo3d;
|
*stereo = s1->stereo3d;
|
||||||
s1->has_stereo3d = 0;
|
s1->has_stereo3d = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (s1->has_afd) {
|
||||||
|
AVFrameSideData *sd =
|
||||||
|
av_frame_new_side_data(s->current_picture_ptr->f,
|
||||||
|
AV_FRAME_DATA_AFD, 1);
|
||||||
|
if (!sd)
|
||||||
|
return AVERROR(ENOMEM);
|
||||||
|
|
||||||
|
*sd->data = s1->afd;
|
||||||
|
s1->has_afd = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_FRAME))
|
if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_FRAME))
|
||||||
ff_thread_finish_setup(avctx);
|
ff_thread_finish_setup(avctx);
|
||||||
} else { // second field
|
} else { // second field
|
||||||
@@ -2221,6 +2235,7 @@ static void mpeg_decode_user_data(AVCodecContext *avctx,
|
|||||||
const uint8_t *p, int buf_size)
|
const uint8_t *p, int buf_size)
|
||||||
{
|
{
|
||||||
const uint8_t *buf_end = p + buf_size;
|
const uint8_t *buf_end = p + buf_size;
|
||||||
|
Mpeg1Context *s1 = avctx->priv_data;
|
||||||
|
|
||||||
/* we parse the DTG active format information */
|
/* we parse the DTG active format information */
|
||||||
if (buf_end - p >= 5 &&
|
if (buf_end - p >= 5 &&
|
||||||
@@ -2234,7 +2249,11 @@ static void mpeg_decode_user_data(AVCodecContext *avctx,
|
|||||||
if (flags & 0x40) {
|
if (flags & 0x40) {
|
||||||
if (buf_end - p < 1)
|
if (buf_end - p < 1)
|
||||||
return;
|
return;
|
||||||
|
#if FF_API_AFD
|
||||||
avctx->dtg_active_format = p[0] & 0x0f;
|
avctx->dtg_active_format = p[0] & 0x0f;
|
||||||
|
#endif /* FF_API_AFD */
|
||||||
|
s1->has_afd = 1;
|
||||||
|
s1->afd = p[0] & 0x0f;
|
||||||
}
|
}
|
||||||
} else if (buf_end - p >= 6 &&
|
} else if (buf_end - p >= 6 &&
|
||||||
p[0] == 'J' && p[1] == 'P' && p[2] == '3' && p[3] == 'D' &&
|
p[0] == 'J' && p[1] == 'P' && p[2] == '3' && p[3] == 'D' &&
|
||||||
@@ -2246,7 +2265,6 @@ static void mpeg_decode_user_data(AVCodecContext *avctx,
|
|||||||
S3D_video_format_type == 0x04 ||
|
S3D_video_format_type == 0x04 ||
|
||||||
S3D_video_format_type == 0x08 ||
|
S3D_video_format_type == 0x08 ||
|
||||||
S3D_video_format_type == 0x23) {
|
S3D_video_format_type == 0x23) {
|
||||||
Mpeg1Context *s1 = avctx->priv_data;
|
|
||||||
|
|
||||||
s1->has_stereo3d = 1;
|
s1->has_stereo3d = 1;
|
||||||
|
|
||||||
|
@@ -30,7 +30,7 @@
|
|||||||
|
|
||||||
#define LIBAVCODEC_VERSION_MAJOR 55
|
#define LIBAVCODEC_VERSION_MAJOR 55
|
||||||
#define LIBAVCODEC_VERSION_MINOR 57
|
#define LIBAVCODEC_VERSION_MINOR 57
|
||||||
#define LIBAVCODEC_VERSION_MICRO 1
|
#define LIBAVCODEC_VERSION_MICRO 2
|
||||||
|
|
||||||
#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, \
|
||||||
@@ -147,5 +147,8 @@
|
|||||||
#ifndef FF_API_CODEC_NAME
|
#ifndef FF_API_CODEC_NAME
|
||||||
#define FF_API_CODEC_NAME (LIBAVCODEC_VERSION_MAJOR < 57)
|
#define FF_API_CODEC_NAME (LIBAVCODEC_VERSION_MAJOR < 57)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef FF_API_AFD
|
||||||
|
#define FF_API_AFD (LIBAVCODEC_VERSION_MAJOR < 57)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* AVCODEC_VERSION_H */
|
#endif /* AVCODEC_VERSION_H */
|
||||||
|
@@ -122,6 +122,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
|
|||||||
av_log(ctx, AV_LOG_INFO, "displaymatrix: rotation of %.2f degrees",
|
av_log(ctx, AV_LOG_INFO, "displaymatrix: rotation of %.2f degrees",
|
||||||
av_display_rotation_get((int32_t *)sd->data));
|
av_display_rotation_get((int32_t *)sd->data));
|
||||||
break;
|
break;
|
||||||
|
case AV_FRAME_DATA_AFD:
|
||||||
|
av_log(ctx, AV_LOG_INFO, "afd: value of %"PRIu8, sd->data[0]);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
av_log(ctx, AV_LOG_WARNING, "unknown side data type %d (%d bytes)",
|
av_log(ctx, AV_LOG_WARNING, "unknown side data type %d (%d bytes)",
|
||||||
sd->type, sd->size);
|
sd->type, sd->size);
|
||||||
|
@@ -82,6 +82,21 @@ enum AVFrameSideDataType {
|
|||||||
* See libavutil/display.h for a detailed description of the data.
|
* See libavutil/display.h for a detailed description of the data.
|
||||||
*/
|
*/
|
||||||
AV_FRAME_DATA_DISPLAYMATRIX,
|
AV_FRAME_DATA_DISPLAYMATRIX,
|
||||||
|
/**
|
||||||
|
* Active Format Description data consisting of a single byte as specified
|
||||||
|
* in ETSI TS 101 154 using enum AVActiveFormatDescription.
|
||||||
|
*/
|
||||||
|
AV_FRAME_DATA_AFD,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum AVActiveFormatDescription {
|
||||||
|
AV_AFD_SAME = 8,
|
||||||
|
AV_AFD_4_3 = 9,
|
||||||
|
AV_AFD_16_9 = 10,
|
||||||
|
AV_AFD_14_9 = 11,
|
||||||
|
AV_AFD_4_3_SP_14_9 = 13,
|
||||||
|
AV_AFD_16_9_SP_14_9 = 14,
|
||||||
|
AV_AFD_SP_4_3 = 15,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct AVFrameSideData {
|
typedef struct AVFrameSideData {
|
||||||
|
@@ -54,7 +54,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 53
|
#define LIBAVUTIL_VERSION_MAJOR 53
|
||||||
#define LIBAVUTIL_VERSION_MINOR 19
|
#define LIBAVUTIL_VERSION_MINOR 20
|
||||||
#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, \
|
||||||
|
Reference in New Issue
Block a user