Lines Matching defs:avctx

71             av_log(avctx, AV_LOG_ERROR,                                   \
196 AVCodecContext *avctx;
280 av_log(s->avctx, AV_LOG_ERROR, "OMX error %"PRIx32"\n", (uint32_t) data1);
289 av_log(s->avctx, AV_LOG_VERBOSE, "OMX state changed to %"PRIu32"\n", (uint32_t) data2);
293 av_log(s->avctx, AV_LOG_VERBOSE, "OMX port %"PRIu32" disabled\n", (uint32_t) data2);
295 av_log(s->avctx, AV_LOG_VERBOSE, "OMX port %"PRIu32" enabled\n", (uint32_t) data2);
297 av_log(s->avctx, AV_LOG_VERBOSE, "OMX command complete, command %"PRIu32", value %"PRIu32"\n",
302 av_log(s->avctx, AV_LOG_VERBOSE, "OMX port %"PRIu32" settings changed\n", (uint32_t) data1);
305 av_log(s->avctx, AV_LOG_VERBOSE, "OMX event %d %"PRIx32" %"PRIx32"\n",
394 static av_cold int omx_component_init(AVCodecContext *avctx, const char *role)
396 OMXCodecContext *s = avctx->priv_data;
411 av_log(avctx, AV_LOG_ERROR, "OMX_GetHandle(%s) failed: %x\n", s->component_name, err);
433 av_log(avctx, AV_LOG_WARNING, "port %d error %x\n", port, err);
445 av_log(avctx, AV_LOG_ERROR, "No in or out port found (in %d out %d)\n", s->in_port, s->out_port);
463 av_log(avctx, AV_LOG_ERROR, "No supported pixel formats (%d formats available)\n", i);
474 s->stride = avctx->width;
475 s->plane_size = avctx->height;
480 in_port_params.format.video.nFrameWidth = avctx->width;
481 in_port_params.format.video.nFrameHeight = avctx->height;
482 if (avctx->framerate.den > 0 && avctx->framerate.num > 0)
483 in_port_params.format.video.xFramerate = (1LL << 16) * avctx->framerate.num / avctx->framerate.den;
485 in_port_params.format.video.xFramerate = (1LL << 16) * avctx->time_base.den / avctx->time_base.num;
500 out_port_params.format.video.nFrameWidth = avctx->width;
501 out_port_params.format.video.nFrameHeight = avctx->height;
504 out_port_params.format.video.nBitrate = avctx->bit_rate;
507 if (avctx->codec->id == AV_CODEC_ID_MPEG4)
509 else if (avctx->codec->id == AV_CODEC_ID_H264)
521 vid_param_bitrate.nTargetBitrate = avctx->bit_rate;
524 av_log(avctx, AV_LOG_WARNING, "Unable to set video bitrate parameter\n");
526 if (avctx->codec->id == AV_CODEC_ID_H264) {
533 avc.nPFrames = avctx->gop_size - 1;
534 switch (s->profile == FF_PROFILE_UNKNOWN ? avctx->profile : s->profile) {
576 av_log(avctx, AV_LOG_ERROR, "Didn't get OMX_StateIdle\n");
582 av_log(avctx, AV_LOG_ERROR, "Didn't get OMX_StateExecuting\n");
642 static av_cold int omx_encode_init(AVCodecContext *avctx)
644 OMXCodecContext *s = avctx->priv_data;
654 s->omx_context = omx_init(avctx, s->libname, s->libprefix);
658 s->avctx = avctx;
662 switch (avctx->codec->id) {
673 if ((ret = find_component(s->omx_context, avctx, role, s->component_name, sizeof(s->component_name))) < 0)
676 av_log(avctx, AV_LOG_INFO, "Using %s\n", s->component_name);
678 if ((ret = omx_component_init(avctx, role)) < 0)
681 if (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
686 if ((ret = av_reallocp(&avctx->extradata, avctx->extradata_size + buffer->nFilledLen + AV_INPUT_BUFFER_PADDING_SIZE)) < 0) {
687 avctx->extradata_size = 0;
690 memcpy(avctx->extradata + avctx->extradata_size, buffer->pBuffer + buffer->nOffset, buffer->nFilledLen);
691 avctx->extradata_size += buffer->nFilledLen;
692 memset(avctx->extradata + avctx->extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
698 av_log(avctx, AV_LOG_ERROR, "OMX_FillThisBuffer failed: %x\n", err);
702 if (avctx->codec->id == AV_CODEC_ID_H264) {
708 for (i = 0; i + 4 < avctx->extradata_size; i++) {
709 if (!avctx->extradata[i + 0] &&
710 !avctx->extradata[i + 1] &&
711 !avctx->extradata[i + 2] &&
712 avctx->extradata[i + 3] == 1) {
713 nals[avctx->extradata[i + 4] & 0x1f]++;
719 if (avctx->extradata_size > 0)
731 static int omx_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
734 OMXCodecContext *s = avctx->priv_data;
747 buffer->nFilledLen = av_image_fill_arrays(dst, linesize, buffer->pBuffer, avctx->pix_fmt, s->stride, s->plane_size, 1);
752 av_image_fill_arrays(src, src_linesize, frame->data[0], avctx->pix_fmt, s->stride, s->plane_size, 1);
776 int image_buffer_size = av_image_get_buffer_size(avctx->pix_fmt, s->stride, s->plane_size, 1);
789 buffer->nFilledLen = av_image_fill_arrays(dst, linesize, buffer->pBuffer, avctx->pix_fmt, s->stride, s->plane_size, 1);
796 av_image_copy(dst, linesize, (const uint8_t**) frame->data, frame->linesize, avctx->pix_fmt, avctx->width, avctx->height);
801 buffer->nTimeStamp = to_omx_ticks(av_rescale_q(frame->pts, avctx->time_base, AV_TIME_BASE_Q));
809 av_log(avctx, AV_LOG_ERROR, "OMX_SetConfig(RequestIFrame) failed: %x\n", err);
818 av_log(avctx, AV_LOG_ERROR, "OMX_SetConfig(IntraVOPRefresh) failed: %x\n", err);
825 av_log(avctx, AV_LOG_ERROR, "OMX_EmptyThisBuffer failed: %x\n", err);
838 av_log(avctx, AV_LOG_ERROR, "OMX_EmptyThisBuffer failed: %x\n", err);
857 if (buffer->nFlags & OMX_BUFFERFLAG_CODECCONFIG && avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) {
858 if ((ret = av_reallocp(&avctx->extradata, avctx->extradata_size + buffer->nFilledLen + AV_INPUT_BUFFER_PADDING_SIZE)) < 0) {
859 avctx->extradata_size = 0;
862 memcpy(avctx->extradata + avctx->extradata_size, buffer->pBuffer + buffer->nOffset, buffer->nFilledLen);
863 avctx->extradata_size += buffer->nFilledLen;
864 memset(avctx->extradata + avctx->extradata_size, 0, AV_INPUT_BUFFER_PADDING_SIZE);
882 pkt->pts = av_rescale_q(from_omx_ticks(buffer->nTimeStamp), AV_TIME_BASE_Q, avctx->time_base);
900 av_log(avctx, AV_LOG_ERROR, "OMX_FillThisBuffer failed: %x\n", err);
907 static av_cold int omx_encode_end(AVCodecContext *avctx)
909 OMXCodecContext *s = avctx->priv_data;