[mythtv-commits] Ticket #12986: Distorted video when recording (but audio is fine)
MythTV
noreply at mythtv.org
Wed Feb 1 05:24:01 UTC 2017
#12986: Distorted video when recording (but audio is fine)
----------------------------------+---------------------------
Reporter: WilliamDeRieux@… | Owner: jyavenard
Type: Bug Report - General | Status: new
Priority: critical | Milestone: 0.28.1
Component: MythTV - Recording | Version: 0.28.0
Severity: high | Resolution:
Keywords: | Ticket locked: 0
----------------------------------+---------------------------
Comment (by WilliamDeRieux@…):
Also commit:
https://github.com/MythTV/mythtv/commit/db5c40cfc14dcca456446fe059b01fe90211dd60
states:
{{{
Create pitch/strides that are a multiple of 32 bytes
Allows all lines in a frame to be 16-bytes aligned
}}}
I really don't understand how a value of 64 was determined...
{{{
mythframe.h:
------------------------
static inline void init(VideoFrame *vf, VideoFrameType _codec,
unsigned char *_buf, int _width, int _height, int
_size,
const int *p = 0,
const int *o = 0,
float _aspect = -1.0f, double _rate = -1.0f,
int _aligned = 64) MUNUSED;
static inline uint buffersize(VideoFrameType type, int width, int height,
int _aligned = 64)
videobuffers.h
------------------------
public:
YUVInfo(uint w, uint h, uint size, const int *p, const int *o,
int aligned = 64);
}}}
I would think that maximum alignment would be 32 (since using a value
greater than 32 causes the issue)
Both of these will work (and the distorted video when recording and/or
watching live tv no longer occurs):
{{{
mythframe.h:
------------------------
static inline void init(VideoFrame *vf, VideoFrameType _codec,
unsigned char *_buf, int _width, int _height, int
_size,
const int *p = 0,
const int *o = 0,
float _aspect = -1.0f, double _rate = -1.0f,
int _aligned = 0) MUNUSED;
static inline uint buffersize(VideoFrameType type, int width, int height,
int _aligned = 16)
videobuffers.h
------------------------
public:
YUVInfo(uint w, uint h, uint size, const int *p, const int *o,
int aligned = 0);
}}}
{{{
mythframe.h:
------------------------
static inline void init(VideoFrame *vf, VideoFrameType _codec,
unsigned char *_buf, int _width, int _height, int
_size,
const int *p = 0,
const int *o = 0,
float _aspect = -1.0f, double _rate = -1.0f,
int _aligned = 32) MUNUSED;
static inline uint buffersize(VideoFrameType type, int width, int height,
int _aligned = 32)
videobuffers.h
------------------------
public:
YUVInfo(uint w, uint h, uint size, const int *p, const int *o,
int aligned = 32);
}}}
--
Ticket URL: <https://code.mythtv.org/trac/ticket/12986#comment:3>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list