Commit bca06e77 authored by Anton Khirnov's avatar Anton Khirnov

lavc: add avcodec_get_type() for mapping codec_id -> type.

parent 7f5bf4fb
...@@ -13,6 +13,9 @@ libavutil: 2011-04-18 ...@@ -13,6 +13,9 @@ libavutil: 2011-04-18
API changes, most recent first: API changes, most recent first:
2011-08-xx - xxxxxxx - lavc 53.8.0
Add avcodec_get_type().
2011-08-06 - 2f63440 - lavf 53.4.0 2011-08-06 - 2f63440 - lavf 53.4.0
Add error_recognition to AVFormatContext. Add error_recognition to AVFormatContext.
......
...@@ -210,6 +210,7 @@ enum CodecID { ...@@ -210,6 +210,7 @@ enum CodecID {
CODEC_ID_DFA, CODEC_ID_DFA,
/* various PCM "codecs" */ /* various PCM "codecs" */
CODEC_ID_FIRST_AUDIO = 0x10000, ///< A dummy id pointing at the start of audio codecs
CODEC_ID_PCM_S16LE= 0x10000, CODEC_ID_PCM_S16LE= 0x10000,
CODEC_ID_PCM_S16BE, CODEC_ID_PCM_S16BE,
CODEC_ID_PCM_U16LE, CODEC_ID_PCM_U16LE,
...@@ -340,6 +341,7 @@ enum CodecID { ...@@ -340,6 +341,7 @@ enum CodecID {
CODEC_ID_QDMC, CODEC_ID_QDMC,
/* subtitle codecs */ /* subtitle codecs */
CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
CODEC_ID_DVD_SUBTITLE= 0x17000, CODEC_ID_DVD_SUBTITLE= 0x17000,
CODEC_ID_DVB_SUBTITLE, CODEC_ID_DVB_SUBTITLE,
CODEC_ID_TEXT, ///< raw UTF-8 text CODEC_ID_TEXT, ///< raw UTF-8 text
...@@ -351,6 +353,7 @@ enum CodecID { ...@@ -351,6 +353,7 @@ enum CodecID {
CODEC_ID_SRT, CODEC_ID_SRT,
/* other specific kind of codecs (generally used for attachments) */ /* other specific kind of codecs (generally used for attachments) */
CODEC_ID_FIRST_UNKNOWN = 0x18000, ///< A dummy ID pointing at the start of various fake codecs.
CODEC_ID_TTF= 0x18000, CODEC_ID_TTF= 0x18000,
CODEC_ID_PROBE= 0x19000, ///< codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it CODEC_ID_PROBE= 0x19000, ///< codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it
...@@ -4273,4 +4276,9 @@ enum AVLockOp { ...@@ -4273,4 +4276,9 @@ enum AVLockOp {
*/ */
int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op)); int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
/**
* Get the type of the given codec.
*/
enum AVMediaType avcodec_get_type(enum CodecID codec_id);
#endif /* AVCODEC_AVCODEC_H */ #endif /* AVCODEC_AVCODEC_H */
...@@ -1301,3 +1301,17 @@ int avcodec_thread_init(AVCodecContext *s, int thread_count) ...@@ -1301,3 +1301,17 @@ int avcodec_thread_init(AVCodecContext *s, int thread_count)
return ff_thread_init(s); return ff_thread_init(s);
} }
#endif #endif
enum AVMediaType avcodec_get_type(enum CodecID codec_id)
{
if (codec_id <= CODEC_ID_NONE)
return AVMEDIA_TYPE_UNKNOWN;
else if (codec_id < CODEC_ID_FIRST_AUDIO)
return AVMEDIA_TYPE_VIDEO;
else if (codec_id < CODEC_ID_FIRST_SUBTITLE)
return AVMEDIA_TYPE_AUDIO;
else if (codec_id < CODEC_ID_FIRST_UNKNOWN)
return AVMEDIA_TYPE_SUBTITLE;
return AVMEDIA_TYPE_UNKNOWN;
}
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
#define AVCODEC_VERSION_H #define AVCODEC_VERSION_H
#define LIBAVCODEC_VERSION_MAJOR 53 #define LIBAVCODEC_VERSION_MAJOR 53
#define LIBAVCODEC_VERSION_MINOR 7 #define LIBAVCODEC_VERSION_MINOR 8
#define LIBAVCODEC_VERSION_MICRO 1 #define LIBAVCODEC_VERSION_MICRO 0
#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, \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment