mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-17 21:14:47 +00:00
Do not recalculate constant part of is_complex for every MB.
Originally committed as revision 16172 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
41e4055b63
commit
89db0bae26
@ -2610,9 +2610,7 @@ static void hl_decode_mb(H264Context *h){
|
||||
MpegEncContext * const s = &h->s;
|
||||
const int mb_xy= h->mb_xy;
|
||||
const int mb_type= s->current_picture.mb_type[mb_xy];
|
||||
int is_complex = FRAME_MBAFF || MB_FIELD || IS_INTRA_PCM(mb_type) || s->codec_id != CODEC_ID_H264 ||
|
||||
(ENABLE_GRAY && (s->flags&CODEC_FLAG_GRAY)) || (ENABLE_H264_ENCODER && s->encoding) || ENABLE_SMALL ||
|
||||
s->qscale == 0;
|
||||
int is_complex = h->is_complex || IS_INTRA_PCM(mb_type) || s->qscale == 0;
|
||||
|
||||
if(ENABLE_H264_ENCODER && !s->decode)
|
||||
return;
|
||||
@ -6573,6 +6571,9 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg){
|
||||
|
||||
s->mb_skip_run= -1;
|
||||
|
||||
h->is_complex = FRAME_MBAFF || s->picture_structure != PICT_FRAME || s->codec_id != CODEC_ID_H264 ||
|
||||
(ENABLE_GRAY && (s->flags&CODEC_FLAG_GRAY)) || (ENABLE_H264_ENCODER && s->encoding) || ENABLE_SMALL;
|
||||
|
||||
if( h->pps.cabac ) {
|
||||
int i;
|
||||
|
||||
|
@ -491,6 +491,8 @@ typedef struct H264Context{
|
||||
* pic_struct in picture timing SEI message
|
||||
*/
|
||||
SEI_PicStructType sei_pic_struct;
|
||||
|
||||
int is_complex;
|
||||
}H264Context;
|
||||
|
||||
#endif /* AVCODEC_H264_H */
|
||||
|
Loading…
Reference in New Issue
Block a user