[mythtv-users] BBC HD (1080) h.264 / AVC playback
Rudy Zijlstra
mythtv at edsons.demon.nl
Sun Feb 25 16:08:13 UTC 2007
Janne Grunau wrote:
> On Thursday 22 February 2007 00:47:17 Chris Glover wrote:
>
>> Hi Janne,
>>
>> Did you have a chance to prepare a patch to set skiploopfilter=all
>> for H.264 content?
>>
>
> Yes, it is attached. I was quite busy. sorry it took so long.
>
> To activate it you have run following sql statement. $YOUR_HOST is the
> hostname of the frontend host.
>
> INSERT INTO settings (value, data, hostname) VALUES ("AVSkipLoopFilter",
> 1, $YOUR_HOST);
>
> Janne
>
Hi Janne,
Applied on my shiny new test box, Athlon 64 4600+, and it plays now the
BBC H264 streams.
I see a significant difference with mplayer though. With mplayer play
back is smooth, with myth it is jerky.
Good progress though.
I had to modify the patch a bit. After applying it avformatdecoder.cpp
would no longer compile. Changing it to:
if (!force_xv && kCodec_NORMAL_END < mcid &&
kCodec_STD_XVMC_END > mcid)
{
enc->pix_fmt = (idct) ?
PIX_FMT_XVMC_MPEG2_IDCT : PIX_FMT_XVMC_MPEG2_MC;
}
}
#else
if (CODEC_ID_H264 == enc->codec_id)
{
video_codec_id = kCodec_H264;
if (avopt_skiploopfilter)
{
VERBOSE(VB_PLAYBACK, LOC + "Skipping the h.264
loop filter");
enc->skip_loop_filter = AVDISCARD_ALL;
}
}
else
video_codec_id = kCodec_MPEG2; // default to MPEG2
#endif // USING_XVMC
if (enc->codec)
The part that went wrong? was as the else, which had a
if (0)
#endif // USING_XVMC
else if (CODEC_ID_H264 == enc->codec_id)
{
video_codec_id = kCodec_H264;
Cheers,
Rudy
More information about the mythtv-users
mailing list