mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-23 11:19:55 +00:00
Export H264 profile and level in AVCodecContext.
Patch by Rafaël Carré, rafael D carre A gmail Originally committed as revision 21517 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
88517e9f9d
commit
dd0cd3d273
@ -30,7 +30,7 @@
|
||||
#include "libavutil/avutil.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 52
|
||||
#define LIBAVCODEC_VERSION_MINOR 48
|
||||
#define LIBAVCODEC_VERSION_MINOR 49
|
||||
#define LIBAVCODEC_VERSION_MICRO 0
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
@ -2123,11 +2123,21 @@ typedef struct AVCodecContext {
|
||||
*/
|
||||
int profile;
|
||||
#define FF_PROFILE_UNKNOWN -99
|
||||
|
||||
#define FF_PROFILE_AAC_MAIN 0
|
||||
#define FF_PROFILE_AAC_LOW 1
|
||||
#define FF_PROFILE_AAC_SSR 2
|
||||
#define FF_PROFILE_AAC_LTP 3
|
||||
|
||||
#define FF_PROFILE_H264_BASELINE 66
|
||||
#define FF_PROFILE_H264_MAIN 77
|
||||
#define FF_PROFILE_H264_EXTENDED 88
|
||||
#define FF_PROFILE_H264_HIGH 100
|
||||
#define FF_PROFILE_H264_HIGH_10 110
|
||||
#define FF_PROFILE_H264_HIGH_422 122
|
||||
#define FF_PROFILE_H264_HIGH_444 244
|
||||
#define FF_PROFILE_H264_CAVLC_444 44
|
||||
|
||||
/**
|
||||
* level
|
||||
* - encoding: Set by user.
|
||||
|
@ -2527,6 +2527,9 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
|
||||
if((err = decode_slice_header(hx, h)))
|
||||
break;
|
||||
|
||||
avctx->profile = hx->sps.profile_idc;
|
||||
avctx->level = hx->sps.level_idc;
|
||||
|
||||
if (s->avctx->hwaccel && h->current_slice == 1) {
|
||||
if (s->avctx->hwaccel->start_frame(s->avctx, NULL, 0) < 0)
|
||||
return -1;
|
||||
@ -2560,6 +2563,9 @@ static int decode_nal_units(H264Context *h, const uint8_t *buf, int buf_size){
|
||||
if ((err = decode_slice_header(hx, h)) < 0)
|
||||
break;
|
||||
|
||||
avctx->profile = hx->sps.profile_idc;
|
||||
avctx->level = hx->sps.level_idc;
|
||||
|
||||
hx->s.data_partitioning = 1;
|
||||
|
||||
break;
|
||||
|
@ -185,6 +185,9 @@ static inline int parse_nal_units(AVCodecParserContext *s,
|
||||
h->sps = *h->sps_buffers[h->pps.sps_id];
|
||||
h->frame_num = get_bits(&h->s.gb, h->sps.log2_max_frame_num);
|
||||
|
||||
avctx->profile = h->sps.profile_idc;
|
||||
avctx->level = h->sps.level_idc;
|
||||
|
||||
if(h->sps.frame_mbs_only_flag){
|
||||
h->s.picture_structure= PICT_FRAME;
|
||||
}else{
|
||||
|
Loading…
Reference in New Issue
Block a user