mirror of https://git.ffmpeg.org/ffmpeg.git
using Juanjo's way to pass forced type - especially as I_TYPE/P_TYPE defines aren't exported in the public interface, and the flagged method matches the way as qscale forcing work
Originally committed as revision 366 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
4d69fbc99e
commit
60e575acc8
|
@ -69,6 +69,7 @@ extern int motion_estimation_method;
|
|||
#define CODEC_FLAG_B 0x0008 /* use B frames */
|
||||
#define CODEC_FLAG_QPEL 0x0010 /* use qpel MC */
|
||||
#define CODEC_FLAG_GMC 0x0020 /* use GMC */
|
||||
#define CODEC_FLAG_TYPE 0x0040 /* fixed I/P frame type, from avctx->key_frame */
|
||||
|
||||
/* codec capabilities */
|
||||
|
||||
|
@ -121,8 +122,6 @@ typedef struct AVCodecContext {
|
|||
int qmax; /* max qscale */
|
||||
int max_qdiff; /* max qscale difference between frames */
|
||||
|
||||
int force_type; /* 0= no force, otherwise I_TYPE, P_TYPE, ... */
|
||||
|
||||
struct AVCodec *codec;
|
||||
void *priv_data;
|
||||
|
||||
|
|
|
@ -514,7 +514,8 @@ int MPV_encode_picture(AVCodecContext *avctx,
|
|||
|
||||
init_put_bits(&s->pb, buf, buf_size, NULL, NULL);
|
||||
|
||||
s->force_type= avctx->force_type;
|
||||
s->force_type= (avctx->flags&CODEC_FLAG_TYPE) ?
|
||||
(avctx->key_frame ? I_TYPE : P_TYPE) : 0;
|
||||
if (!s->intra_only) {
|
||||
/* first picture of GOP is intra */
|
||||
if (s->picture_in_gop_number % s->gop_size==0 || s->force_type==I_TYPE){
|
||||
|
|
Loading…
Reference in New Issue