gst-plugins-base: Add FourCC and type description for FFVHuff video

The FFVHuff video codec is a FFmpeg-specific variant of the lossless
HuffYUV codec with increased coverage of supported pixel formats and bit
depths.

Fixes #2389.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4250>
This commit is contained in:
Tobias Rapp 2023-03-22 12:33:27 +01:00 committed by GStreamer Marge Bot
parent ba81f3597d
commit c467ac0869
3 changed files with 13 additions and 2 deletions

View file

@ -203,6 +203,7 @@ static const FormatInfo formats[] = {
FLAG_VIDEO, ""},
{"subpicture/x-dvd", "DVD subpicture", FLAG_VIDEO, ""},
{"video/x-ffv", N_("FFMpeg v1"), FLAG_VIDEO, ""},
{"video/x-ffvhuff", "FFmpeg Huffman YUV variant", FLAG_VIDEO, ""},
{"video/x-flash-screen", "Flash Screen Video", FLAG_VIDEO, ""},
{"video/x-flash-video", "Sorenson Spark Video", FLAG_VIDEO, ""},
{"video/x-h261", "H.261", FLAG_VIDEO, ""},

View file

@ -256,6 +256,16 @@ gst_riff_create_video_caps (guint32 codec_fcc,
*codec_name = g_strdup ("Huffman Lossless Codec");
break;
case GST_MAKE_FOURCC ('F', 'F', 'V', 'H'):
caps = gst_caps_new_empty_simple ("video/x-ffvhuff");
if (strf) {
gst_caps_set_simple (caps, "bpp",
G_TYPE_INT, (int) strf->bit_cnt, NULL);
}
if (codec_name)
*codec_name = g_strdup ("FFmpeg Huffman YUV variant");
break;
case GST_MAKE_FOURCC ('M', 'P', 'E', 'G'):
case GST_MAKE_FOURCC ('M', 'P', 'G', 'I'):
case GST_MAKE_FOURCC ('m', 'p', 'g', '1'):

View file

@ -320,8 +320,8 @@ static const gchar *caps_strings[] = {
"audio/x-wms", "audio/x-voxware", "audio/x-xi", "video/sp5x", "video/vivo",
"video/x-4xm", "video/x-apple-video", "video/x-camtasia",
"video/x-cdxa", "video/x-cinepak", "video/x-cirrus-logic-accupak",
"video/x-compressed-yuv", "subpicture/x-dvd",
"video/x-ffv", "video/x-flash-screen", "video/x-flash-video",
"video/x-compressed-yuv", "subpicture/x-dvd", "video/x-ffv",
"video/x-ffvhuff", "video/x-flash-screen", "video/x-flash-video",
"video/x-h261", "video/x-huffyuv", "video/x-intel-h263", "video/x-jpeg",
"video/x-mjpeg", "video/x-mjpeg-b", "video/mpegts", "video/x-mng",
"video/x-mszh", "video/x-msvideocodec", "video/x-mve", "video/x-nut",