Lines Matching defs:fmt_info
82 static enum AVColorRange dshow_color_range(DXVA2_ExtendedFormat *fmt_info)
84 switch (fmt_info->NominalRange)
106 static enum AVColorSpace dshow_color_space(DXVA2_ExtendedFormat *fmt_info)
108 switch (fmt_info->VideoTransferMatrix)
120 if (fmt_info->VideoTransferFunction == 12) // MFVideoTransFunc_2020_const
130 static enum AVColorPrimaries dshow_color_primaries(DXVA2_ExtendedFormat *fmt_info)
132 switch (fmt_info->VideoPrimaries)
167 static enum AVColorTransferCharacteristic dshow_color_trc(DXVA2_ExtendedFormat *fmt_info)
169 switch (fmt_info->VideoTransferFunction)
202 if (fmt_info->VideoTransferMatrix == 5) // MFVideoTransferMatrix_BT2020_12
222 static enum AVChromaLocation dshow_chroma_loc(DXVA2_ExtendedFormat *fmt_info)
224 if (fmt_info->VideoChromaSubsampling == DXVA2_VideoChromaSubsampling_Cosited) // that is: (DXVA2_VideoChromaSubsampling_Horizontally_Cosited | DXVA2_VideoChromaSubsampling_Vertically_Cosited | DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes)
226 else if (fmt_info->VideoChromaSubsampling == DXVA2_VideoChromaSubsampling_MPEG1) // that is: DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes
228 else if (fmt_info->VideoChromaSubsampling == DXVA2_VideoChromaSubsampling_MPEG2) // that is: (DXVA2_VideoChromaSubsampling_Horizontally_Cosited | DXVA2_VideoChromaSubsampling_Vertically_AlignedChromaPlanes)
230 else if (fmt_info->VideoChromaSubsampling == DXVA2_VideoChromaSubsampling_DV_PAL) // that is: (DXVA2_VideoChromaSubsampling_Horizontally_Cosited | DXVA2_VideoChromaSubsampling_Vertically_Cosited)
694 struct dshow_format_info *fmt_info = NULL;
723 fmt_info = av_mallocz(sizeof(struct dshow_format_info));
724 if (!fmt_info)
727 fmt_info->pix_fmt = AV_PIX_FMT_NONE;
728 fmt_info->col_space = AVCOL_SPC_UNSPECIFIED;
729 fmt_info->col_prim = AVCOL_PRI_UNSPECIFIED;
730 fmt_info->col_trc = AVCOL_TRC_UNSPECIFIED;
732 fmt_info->devtype = devtype;
734 fmt_info->width = bih->biWidth;
735 fmt_info->height = bih->biHeight;
736 fmt_info->framerate = framerate;
737 fmt_info->pix_fmt = dshow_pixfmt(bih->biCompression, bih->biBitCount);
738 if (fmt_info->pix_fmt == AV_PIX_FMT_NONE) {
740 fmt_info->codec_id = av_codec_get_id(tags, bih->biCompression);
743 fmt_info->codec_id = AV_CODEC_ID_RAWVIDEO;
746 fmt_info->col_range = dshow_color_range(extended_format_info);
747 fmt_info->col_space = dshow_color_space(extended_format_info);
748 fmt_info->col_prim = dshow_color_primaries(extended_format_info);
749 fmt_info->col_trc = dshow_color_trc(extended_format_info);
750 fmt_info->chroma_loc = dshow_chroma_loc(extended_format_info);
753 fmt_info->sample_rate = fx->nSamplesPerSec;
754 fmt_info->sample_size = fx->wBitsPerSample;
755 fmt_info->channels = fx->nChannels;
758 return fmt_info;
849 struct dshow_format_info *fmt_info = dshow_get_format_info(type);
850 if (fmt_info) {
851 if (fmt_info->devtype == VideoDevice) {
852 requested_video_codec_id = fmt_info->codec_id;
853 requested_pixel_format = fmt_info->pix_fmt;
854 requested_framerate = fmt_info->framerate;
855 requested_width = fmt_info->width;
856 requested_height = fmt_info->height;
858 requested_sample_rate = fmt_info->sample_rate;
859 requested_sample_size = fmt_info->sample_size;
860 requested_channels = fmt_info->channels;
862 av_free(fmt_info); // free but don't set to NULL to enable below check
869 if (!fmt_info)
872 fmt_info = NULL;
886 struct dshow_format_info *fmt_info = NULL;
894 fmt_info = dshow_get_format_info(type);
895 if (!fmt_info)
906 if (fmt_info->devtype != VideoDevice)
922 const char *chroma = av_chroma_location_name(fmt_info->chroma_loc);
923 if (fmt_info->pix_fmt == AV_PIX_FMT_NONE) {
924 const AVCodec *codec = avcodec_find_decoder(fmt_info->codec_id);
925 if (fmt_info->codec_id == AV_CODEC_ID_NONE || !codec) {
931 av_log(avctx, AV_LOG_INFO, " pixel_format=%s", av_get_pix_fmt_name(fmt_info->pix_fmt));
939 if (fmt_info->col_range != AVCOL_RANGE_UNSPECIFIED ||
940 fmt_info->col_space != AVCOL_SPC_UNSPECIFIED ||
941 fmt_info->col_prim != AVCOL_PRI_UNSPECIFIED ||
942 fmt_info->col_trc != AVCOL_TRC_UNSPECIFIED) {
943 const char *range = av_color_range_name(fmt_info->col_range);
944 const char *space = av_color_space_name(fmt_info->col_space);
945 const char *prim = av_color_primaries_name(fmt_info->col_prim);
946 const char *trc = av_color_transfer_name(fmt_info->col_trc);
952 if (fmt_info->chroma_loc != AVCHROMA_LOC_UNSPECIFIED)
956 else if (fmt_info->chroma_loc != AVCHROMA_LOC_UNSPECIFIED)
963 if (requested_video_codec_id != fmt_info->codec_id)
967 requested_pixel_format != fmt_info->pix_fmt) {
1030 av_freep(&fmt_info);
1534 struct dshow_format_info *fmt_info = NULL;
1549 fmt_info = dshow_get_format_info(&type);
1550 if (!fmt_info) {
1578 par->width = fmt_info->width;
1579 par->height = fmt_info->height;
1581 par->format = fmt_info->pix_fmt;
1586 par->color_range = fmt_info->col_range;
1587 par->color_space = fmt_info->col_space;
1588 par->color_primaries = fmt_info->col_prim;
1589 par->color_trc = fmt_info->col_trc;
1590 par->chroma_location = fmt_info->chroma_loc;
1591 par->codec_id = fmt_info->codec_id;
1621 par->format = sample_fmt_bits_per_sample(fmt_info->sample_size);
1623 par->sample_rate = fmt_info->sample_rate;
1624 par->ch_layout.nb_channels = fmt_info->channels;
1632 av_freep(&fmt_info);