public EncodedFrame encodeFrame ( Picture pic , ByteBuffer _out ) { if ( pic . getColor ( ) != ColorSpace . YUV420J ) throw new IllegalArgumentException ( "Input picture color is not supported: " + pic . getColor ( ) ) ; if ( frameNumber >= keyInterval ) { frameNumber = 0 ; } SliceType sliceType = frameNumber == 0 ? SliceType . I : SliceType . P ; boolean idr = frameNumber == 0 ; ByteBuffer data = doEncodeFrame ( pic , _out , idr , frameNumber ++ , sliceType ) ; return new EncodedFrame ( data , idr ) ; }
Encode this picture into h . 264 frame . Frame type will be selected by encoder .