Add helper to convert from FOURCC to VIDEO_FORMAT

This commit is contained in:
Palana
2014-04-15 17:23:38 +02:00
parent 8830c4102f
commit b77b9feb61
5 changed files with 57 additions and 2 deletions

View File

@@ -116,6 +116,7 @@ set(libobs_graphics_HEADERS
set(libobs_mediaio_SOURCES
media-io/video-io.c
media-io/video-fourcc.c
media-io/audio-io.c
media-io/video-frame.c
media-io/format-conversion.c

View File

@@ -0,0 +1,48 @@
/******************************************************************************
Copyright (C) 2014 by Ruwen Hahn <palana@stunned.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/
#include "../util/c99defs.h"
#include "video-io.h"
enum video_format video_format_from_fourcc(uint32_t fourcc)
{
switch (fourcc) {
case 'UYVY':
case 'HDYC':
case 'UYNV':
case 'UYNY':
case 'uyv1':
case '2vuy':
case '2Vuy':
return VIDEO_FORMAT_UYVY;
case 'YUY2':
case 'Y422':
case 'V422':
case 'VYUY':
case 'YUNV':
case 'yuv2':
case 'yuvs':
return VIDEO_FORMAT_YUY2;
case 'YVYU':
return VIDEO_FORMAT_YVYU;
}
return VIDEO_FORMAT_NONE;
}

View File

@@ -109,6 +109,8 @@ struct video_scale_info {
enum video_colorspace colorspace;
};
EXPORT enum video_format video_format_from_fourcc(uint32_t fourcc);
#define VIDEO_OUTPUT_SUCCESS 0
#define VIDEO_OUTPUT_INVALIDPARAM -1
#define VIDEO_OUTPUT_FAIL -2