<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/ffmpeg_decoder.cc, branch v2.15.183</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=v2.15.183</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=v2.15.183'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2022-01-11T21:16:16Z</updated>
<entry>
<title>Fix failure to decode multiple video frames from one packet (#2159).</title>
<updated>2022-01-11T21:16:16Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-01-11T15:42:30Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=758c1ba16ab87152621f6c7c62c2e011a2ae2712'/>
<id>urn:sha1:758c1ba16ab87152621f6c7c62c2e011a2ae2712</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Cleanup: move some stuff into process_video_frame().</title>
<updated>2022-01-11T21:16:08Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-01-11T15:38:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=84039db657c3cc72719706a136c90741170c765a'/>
<id>urn:sha1:84039db657c3cc72719706a136c90741170c765a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use a separate AVFrame for each stream when decoding.</title>
<updated>2022-01-11T21:16:04Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2022-01-11T15:34:26Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b703142e8750c509174b4d964009aecf93f3d834'/>
<id>urn:sha1:b703142e8750c509174b4d964009aecf93f3d834</id>
<content type='text'>
This seems to be what ffplay does and it feels like it makes sense
as frames may be built from multiple packets AFAICS.
</content>
</entry>
<entry>
<title>Ignore errors from avcodec_send_packet.</title>
<updated>2021-10-13T13:52:40Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-10-13T13:50:13Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ca44e3542214050de6cb8bbb223138765ac4bdb7'/>
<id>urn:sha1:ca44e3542214050de6cb8bbb223138765ac4bdb7</id>
<content type='text'>
After seeking it appears that we often get irrelevant errors from this
method.  ffplay.c seems to ignore them, and this commit means that
we do too (just logging them).

I think these errors during a non-seeking "encoding" run could be
cause for concern; perhaps we should take more note of them in that
case.
</content>
</entry>
<entry>
<title>Replace aligned bool with enum Alignment.</title>
<updated>2021-09-27T11:41:46Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-09-15T21:36:21Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3799e91d126d243d41c44dcb0ca1bfa66b53a57e'/>
<id>urn:sha1:3799e91d126d243d41c44dcb0ca1bfa66b53a57e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Various alignment adjustments.</title>
<updated>2021-09-27T11:41:46Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-09-14T23:00:33Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9bfa07293928c371d59db2091ba2b7e715ce5994'/>
<id>urn:sha1:9bfa07293928c371d59db2091ba2b7e715ce5994</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix missing subtitles embedded in files decoded by FFmpeg (#2060).</title>
<updated>2021-09-12T23:22:00Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-09-12T20:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=60450bd93af0b331d7b98c88aa199366305f0721'/>
<id>urn:sha1:60450bd93af0b331d7b98c88aa199366305f0721</id>
<content type='text'>
Since the FFmpeg 4.4 update it seems that AVSubtitle::pts is no longer
set (it's AV_NOPTS_VALUE, i think).

Instead we apparently need to get the PTS from the packet, which in
turn requires the stream's timebase.
</content>
</entry>
<entry>
<title>Add missing avsubtitle_free().</title>
<updated>2021-09-12T23:22:00Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-09-12T20:43:38Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=df811a0dd2772417496991b72fde0ef3304241d9'/>
<id>urn:sha1:df811a0dd2772417496991b72fde0ef3304241d9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix errors when seeking FFmpeg for some formats.</title>
<updated>2021-06-04T20:31:07Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-06-03T20:55:44Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=9f4cb3b340376d93be39dc97c2e0c631e9cf73c4'/>
<id>urn:sha1:9f4cb3b340376d93be39dc97c2e0c631e9cf73c4</id>
<content type='text'>
The comments discuss this in a bit more depth, but basically we see
errors from avcodec_send_packet after seek.  ffplay etc. seem basically
to ignore all errors from avcodec_send_packet, and I can't find a
"proper" fix, so here's a half-way house hack: ignore some errors
after seek.  Nasty.
</content>
</entry>
<entry>
<title>Ignore errors from avcodec_receive_frame when flushing video (#2035).</title>
<updated>2021-06-03T18:40:16Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2021-06-03T18:40:16Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ab3be5fa1893bf1756627e1646b065c41e69336a'/>
<id>urn:sha1:ab3be5fa1893bf1756627e1646b065c41e69336a</id>
<content type='text'>
The test fails if we don't do this; it doesn't really seem 100%
convincing but we are already doing this for audio.
</content>
</entry>
</feed>
