From 380cfce2b2138a0513f7c054134458b3b4c92fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= Date: Tue, 16 Apr 2013 15:00:13 +0200 Subject: lavc: add AV_CODEC_PROP_TEXT_SUB. CC are not marked. Also allow potential mixed types later. --- libavcodec/avcodec.h | 6 ++++++ libavcodec/codec_desc.c | 16 ++++++++++++++++ libavcodec/version.h | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) (limited to 'libavcodec') diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 0251b6c..6aebb48 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -541,8 +541,14 @@ typedef struct AVCodecDescriptor { #define AV_CODEC_PROP_LOSSLESS (1 << 2) /** * Subtitle codec is bitmap based + * Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field. */ #define AV_CODEC_PROP_BITMAP_SUB (1 << 16) +/** + * Subtitle codec is text based. + * Decoded AVSubtitle data can be read from the AVSubtitleRect->ass field. + */ +#define AV_CODEC_PROP_TEXT_SUB (1 << 17) /** * @ingroup lavc_decoding diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c index c8a5d11..c973025 100644 --- a/libavcodec/codec_desc.c +++ b/libavcodec/codec_desc.c @@ -2394,6 +2394,7 @@ static const AVCodecDescriptor codec_descriptors[] = { .type = AVMEDIA_TYPE_SUBTITLE, .name = "text", .long_name = NULL_IF_CONFIG_SMALL("raw UTF-8 text"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_XSUB, @@ -2407,18 +2408,21 @@ static const AVCodecDescriptor codec_descriptors[] = { .type = AVMEDIA_TYPE_SUBTITLE, .name = "ass", .long_name = NULL_IF_CONFIG_SMALL("ASS (Advanced SSA) subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_SSA, .type = AVMEDIA_TYPE_SUBTITLE, .name = "ssa", .long_name = NULL_IF_CONFIG_SMALL("SSA (SubStation Alpha) subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_MOV_TEXT, .type = AVMEDIA_TYPE_SUBTITLE, .name = "mov_text", .long_name = NULL_IF_CONFIG_SMALL("MOV text"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_HDMV_PGS_SUBTITLE, @@ -2438,24 +2442,28 @@ static const AVCodecDescriptor codec_descriptors[] = { .type = AVMEDIA_TYPE_SUBTITLE, .name = "srt", .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle with embedded timing"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_SUBRIP, .type = AVMEDIA_TYPE_SUBTITLE, .name = "subrip", .long_name = NULL_IF_CONFIG_SMALL("SubRip subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_MICRODVD, .type = AVMEDIA_TYPE_SUBTITLE, .name = "microdvd", .long_name = NULL_IF_CONFIG_SMALL("MicroDVD subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_MPL2, .type = AVMEDIA_TYPE_SUBTITLE, .name = "mpl2", .long_name = NULL_IF_CONFIG_SMALL("MPL2 subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_EIA_608, @@ -2468,48 +2476,56 @@ static const AVCodecDescriptor codec_descriptors[] = { .type = AVMEDIA_TYPE_SUBTITLE, .name = "jacosub", .long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_PJS, .type = AVMEDIA_TYPE_SUBTITLE, .name = "pjs", .long_name = NULL_IF_CONFIG_SMALL("PJS (Phoenix Japanimation Society) subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_SAMI, .type = AVMEDIA_TYPE_SUBTITLE, .name = "sami", .long_name = NULL_IF_CONFIG_SMALL("SAMI subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_REALTEXT, .type = AVMEDIA_TYPE_SUBTITLE, .name = "realtext", .long_name = NULL_IF_CONFIG_SMALL("RealText subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_SUBVIEWER1, .type = AVMEDIA_TYPE_SUBTITLE, .name = "subviewer1", .long_name = NULL_IF_CONFIG_SMALL("SubViewer v1 subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_SUBVIEWER, .type = AVMEDIA_TYPE_SUBTITLE, .name = "subviewer", .long_name = NULL_IF_CONFIG_SMALL("SubViewer subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_VPLAYER, .type = AVMEDIA_TYPE_SUBTITLE, .name = "vplayer", .long_name = NULL_IF_CONFIG_SMALL("VPlayer subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_WEBVTT, .type = AVMEDIA_TYPE_SUBTITLE, .name = "webvtt", .long_name = NULL_IF_CONFIG_SMALL("WebVTT subtitle"), + .props = AV_CODEC_PROP_TEXT_SUB, }, { .id = AV_CODEC_ID_BINTEXT, diff --git a/libavcodec/version.h b/libavcodec/version.h index 1e24d83..12c9a83 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #include "libavutil/avutil.h" #define LIBAVCODEC_VERSION_MAJOR 55 -#define LIBAVCODEC_VERSION_MINOR 3 +#define LIBAVCODEC_VERSION_MINOR 4 #define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ -- cgit v1.1