Skip to content

Commit

Permalink
VideoPlayer: codec factory updates
Browse files Browse the repository at this point in the history
  • Loading branch information
FernetMenta authored and popcornmix committed Apr 10, 2017
1 parent e71c288 commit 7be2f34
Show file tree
Hide file tree
Showing 5 changed files with 178 additions and 164 deletions.
24 changes: 12 additions & 12 deletions xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecUtils.cpp
Expand Up @@ -19,7 +19,7 @@
*/

#include "DVDCodecUtils.h"
#include "DVDClock.h"
#include "TimingConstants.h"
#include "cores/VideoPlayer/VideoRenderers/RenderManager.h"
#include "utils/log.h"
#include "cores/FFmpeg.h"
Expand All @@ -30,9 +30,9 @@ extern "C" {
}

// allocate a new picture (AV_PIX_FMT_YUV420P)
DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight)
VideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight)
{
DVDVideoPicture* pPicture = new DVDVideoPicture;
VideoPicture* pPicture = new VideoPicture;
if (pPicture)
{
pPicture->iWidth = iWidth;
Expand Down Expand Up @@ -64,13 +64,13 @@ DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight)
return pPicture;
}

void CDVDCodecUtils::FreePicture(DVDVideoPicture* pPicture)
void CDVDCodecUtils::FreePicture(VideoPicture* pPicture)
{
av_free(pPicture->data[0]);
delete pPicture;
}

bool CDVDCodecUtils::CopyPicture(DVDVideoPicture* pDst, DVDVideoPicture* pSrc)
bool CDVDCodecUtils::CopyPicture(VideoPicture* pDst, VideoPicture* pSrc)
{
uint8_t *s, *d;
int w = pSrc->iWidth;
Expand Down Expand Up @@ -109,7 +109,7 @@ bool CDVDCodecUtils::CopyPicture(DVDVideoPicture* pDst, DVDVideoPicture* pSrc)
return true;
}

bool CDVDCodecUtils::CopyPicture(YV12Image* pImage, DVDVideoPicture *pSrc)
bool CDVDCodecUtils::CopyPicture(YV12Image* pImage, VideoPicture *pSrc)
{
uint8_t *s = pSrc->data[0];
uint8_t *d = pImage->plane[0];
Expand Down Expand Up @@ -163,10 +163,10 @@ bool CDVDCodecUtils::CopyPicture(YV12Image* pImage, DVDVideoPicture *pSrc)
return true;
}

DVDVideoPicture* CDVDCodecUtils::ConvertToNV12Picture(DVDVideoPicture *pSrc)
VideoPicture* CDVDCodecUtils::ConvertToNV12Picture(VideoPicture *pSrc)
{
// Clone a YV12 picture to new NV12 picture.
DVDVideoPicture* pPicture = new DVDVideoPicture;
VideoPicture* pPicture = new VideoPicture;
if (pPicture)
{
*pPicture = *pSrc;
Expand Down Expand Up @@ -220,10 +220,10 @@ DVDVideoPicture* CDVDCodecUtils::ConvertToNV12Picture(DVDVideoPicture *pSrc)
return pPicture;
}

DVDVideoPicture* CDVDCodecUtils::ConvertToYUV422PackedPicture(DVDVideoPicture *pSrc, ERenderFormat format)
VideoPicture* CDVDCodecUtils::ConvertToYUV422PackedPicture(VideoPicture *pSrc, ERenderFormat format)
{
// Clone a YV12 picture to new YUY2 or UYVY picture.
DVDVideoPicture* pPicture = new DVDVideoPicture;
VideoPicture* pPicture = new VideoPicture;
if (pPicture)
{
*pPicture = *pSrc;
Expand Down Expand Up @@ -275,7 +275,7 @@ DVDVideoPicture* CDVDCodecUtils::ConvertToYUV422PackedPicture(DVDVideoPicture *p
return pPicture;
}

bool CDVDCodecUtils::CopyNV12Picture(YV12Image* pImage, DVDVideoPicture *pSrc)
bool CDVDCodecUtils::CopyNV12Picture(YV12Image* pImage, VideoPicture *pSrc)
{
uint8_t *s = pSrc->data[0];
uint8_t *d = pImage->plane[0];
Expand Down Expand Up @@ -318,7 +318,7 @@ bool CDVDCodecUtils::CopyNV12Picture(YV12Image* pImage, DVDVideoPicture *pSrc)
return true;
}

bool CDVDCodecUtils::CopyYUV422PackedPicture(YV12Image* pImage, DVDVideoPicture *pSrc)
bool CDVDCodecUtils::CopyYUV422PackedPicture(YV12Image* pImage, VideoPicture *pSrc)
{
uint8_t *s = pSrc->data[0];
uint8_t *d = pImage->plane[0];
Expand Down
16 changes: 8 additions & 8 deletions xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecUtils.h
Expand Up @@ -32,15 +32,15 @@ struct YV12Image;
class CDVDCodecUtils
{
public:
static DVDVideoPicture* AllocatePicture(int iWidth, int iHeight);
static void FreePicture(DVDVideoPicture* pPicture);
static bool CopyPicture(DVDVideoPicture* pDst, DVDVideoPicture* pSrc);
static bool CopyPicture(YV12Image* pDst, DVDVideoPicture *pSrc);
static VideoPicture* AllocatePicture(int iWidth, int iHeight);
static void FreePicture(VideoPicture* pPicture);
static bool CopyPicture(VideoPicture* pDst, VideoPicture* pSrc);
static bool CopyPicture(YV12Image* pDst, VideoPicture *pSrc);

static DVDVideoPicture* ConvertToNV12Picture(DVDVideoPicture *pSrc);
static DVDVideoPicture* ConvertToYUV422PackedPicture(DVDVideoPicture *pSrc, ERenderFormat format);
static bool CopyNV12Picture(YV12Image* pImage, DVDVideoPicture *pSrc);
static bool CopyYUV422PackedPicture(YV12Image* pImage, DVDVideoPicture *pSrc);
static VideoPicture* ConvertToNV12Picture(VideoPicture *pSrc);
static VideoPicture* ConvertToYUV422PackedPicture(VideoPicture *pSrc, ERenderFormat format);
static bool CopyNV12Picture(YV12Image* pImage, VideoPicture *pSrc);
static bool CopyYUV422PackedPicture(YV12Image* pImage, VideoPicture *pSrc);

static bool IsVP3CompatibleWidth(int width);

Expand Down
4 changes: 0 additions & 4 deletions xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecs.h
Expand Up @@ -24,10 +24,6 @@
#include <vector>
#include "cores/VideoPlayer/VideoRenderers/RenderFormats.h"

// 0x100000 is the video starting range

// 0x200000 is the audio starting range

// special options that can be passed to a codec
class CDVDCodecOption
{
Expand Down

0 comments on commit 7be2f34

Please sign in to comment.