Browse Source

Export profiles from the mpeg2 video decoder

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
tags/n0.8
Benjamin Larsson Ronald S. Bultje 15 years ago
parent
commit
aecd0a4496
2 changed files with 21 additions and 0 deletions
  1. +8
    -0
      libavcodec/avcodec.h
  2. +13
    -0
      libavcodec/mpeg12.c

+ 8
- 0
libavcodec/avcodec.h View File

@@ -2277,6 +2277,7 @@ typedef struct AVCodecContext {
*/
int profile;
#define FF_PROFILE_UNKNOWN -99
#define FF_PROFILE_RESERVED -100

#define FF_PROFILE_AAC_MAIN 0
#define FF_PROFILE_AAC_LOW 1
@@ -2289,6 +2290,13 @@ typedef struct AVCodecContext {
#define FF_PROFILE_DTS_HD_HRA 50
#define FF_PROFILE_DTS_HD_MA 60

#define FF_PROFILE_MPEG2_422 0
#define FF_PROFILE_MPEG2_HIGH 1
#define FF_PROFILE_MPEG2_SS 2
#define FF_PROFILE_MPEG2_SNR_SCALABLE 3
#define FF_PROFILE_MPEG2_MAIN 4
#define FF_PROFILE_MPEG2_SIMPLE 5

#define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag
#define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag



+ 13
- 0
libavcodec/mpeg12.c View File

@@ -2471,6 +2471,18 @@ static int mpeg_decode_end(AVCodecContext *avctx)
return 0;
}

static const AVProfile mpeg2_video_profiles[] = {
{ FF_PROFILE_MPEG2_422, "4:2:2" },
{ FF_PROFILE_MPEG2_HIGH, "High" },
{ FF_PROFILE_MPEG2_SS, "Spatially Scalable" },
{ FF_PROFILE_MPEG2_SNR_SCALABLE, "SNR Scalable" },
{ FF_PROFILE_MPEG2_MAIN, "Main" },
{ FF_PROFILE_MPEG2_SIMPLE, "Simple" },
{ FF_PROFILE_RESERVED, "Reserved" },
{ FF_PROFILE_RESERVED, "Reserved" },
};


AVCodec ff_mpeg1video_decoder = {
"mpeg1video",
AVMEDIA_TYPE_VIDEO,
@@ -2499,6 +2511,7 @@ AVCodec ff_mpeg2video_decoder = {
.flush= flush,
.max_lowres= 3,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-2 video"),
.profiles = NULL_IF_CONFIG_SMALL(mpeg2_video_profiles),
};

//legacy decoder


Loading…
Cancel
Save