/* Note RGBA is expressed little-endian, so the first byte in the word is R, second
G, third B, fourth A.
*/
- shared_ptr<Image> image (new Image (PIX_FMT_RGBA, dcp::Size (rect->w, rect->h), true));
+ shared_ptr<Image> image (new Image (AV_PIX_FMT_RGBA, dcp::Size (rect->w, rect->h), true));
/* Start of the first line in the subtitle */
uint8_t* sub_p = rect->pict.data[0];
}
AVBufferSinkParams* sink_params = av_buffersink_params_alloc ();
- PixelFormat* pixel_fmts = new PixelFormat[2];
+ AVPixelFormat* pixel_fmts = new AVPixelFormat[2];
pixel_fmts[0] = _pixel_format;
- pixel_fmts[1] = PIX_FMT_NONE;
+ pixel_fmts[1] = AV_PIX_FMT_NONE;
sink_params->pixel_fmts = pixel_fmts;
if (avfilter_graph_create_filter (&_buffer_sink_context, buffer_sink, N_("out"), 0, sink_params, graph) < 0) {
throw PixelFormatError ("planes()", _pixel_format);
}
- if ((d->flags & PIX_FMT_PLANAR) == 0) {
+ if ((d->flags & AV_PIX_FMT_FLAG_PLANAR) == 0) {
return 1;
}
static uint16_t const sixteen_bit_uv = (1 << 15) - 1;
switch (_pixel_format) {
- case PIX_FMT_YUV420P:
- case PIX_FMT_YUV422P:
- case PIX_FMT_YUV444P:
- case PIX_FMT_YUV411P:
+ case AV_PIX_FMT_YUV420P:
+ case AV_PIX_FMT_YUV422P:
+ case AV_PIX_FMT_YUV444P:
+ case AV_PIX_FMT_YUV411P:
memset (data()[0], 0, sample_size(0).height * stride()[0]);
memset (data()[1], eight_bit_uv, sample_size(1).height * stride()[1]);
memset (data()[2], eight_bit_uv, sample_size(2).height * stride()[2]);
break;
- case PIX_FMT_YUVJ420P:
- case PIX_FMT_YUVJ422P:
- case PIX_FMT_YUVJ444P:
+ case AV_PIX_FMT_YUVJ420P:
+ case AV_PIX_FMT_YUVJ422P:
+ case AV_PIX_FMT_YUVJ444P:
memset (data()[0], 0, sample_size(0).height * stride()[0]);
memset (data()[1], eight_bit_uv + 1, sample_size(1).height * stride()[1]);
memset (data()[2], eight_bit_uv + 1, sample_size(2).height * stride()[2]);
break;
- case PIX_FMT_YUV422P9LE:
- case PIX_FMT_YUV444P9LE:
+ case AV_PIX_FMT_YUV422P9LE:
+ case AV_PIX_FMT_YUV444P9LE:
yuv_16_black (nine_bit_uv, false);
break;
- case PIX_FMT_YUV422P9BE:
- case PIX_FMT_YUV444P9BE:
+ case AV_PIX_FMT_YUV422P9BE:
+ case AV_PIX_FMT_YUV444P9BE:
yuv_16_black (swap_16 (nine_bit_uv), false);
break;
- case PIX_FMT_YUV422P10LE:
- case PIX_FMT_YUV444P10LE:
+ case AV_PIX_FMT_YUV422P10LE:
+ case AV_PIX_FMT_YUV444P10LE:
yuv_16_black (ten_bit_uv, false);
break;
- case PIX_FMT_YUV422P16LE:
- case PIX_FMT_YUV444P16LE:
+ case AV_PIX_FMT_YUV422P16LE:
+ case AV_PIX_FMT_YUV444P16LE:
yuv_16_black (sixteen_bit_uv, false);
break;
- case PIX_FMT_YUV444P10BE:
- case PIX_FMT_YUV422P10BE:
+ case AV_PIX_FMT_YUV444P10BE:
+ case AV_PIX_FMT_YUV422P10BE:
yuv_16_black (swap_16 (ten_bit_uv), false);
break;
yuv_16_black (sixteen_bit_uv, true);
break;
- case PIX_FMT_RGB24:
- case PIX_FMT_ARGB:
- case PIX_FMT_RGBA:
- case PIX_FMT_ABGR:
- case PIX_FMT_BGRA:
- case PIX_FMT_RGB555LE:
- case PIX_FMT_RGB48LE:
- case PIX_FMT_RGB48BE:
+ case AV_PIX_FMT_RGB24:
+ case AV_PIX_FMT_ARGB:
+ case AV_PIX_FMT_RGBA:
+ case AV_PIX_FMT_ABGR:
+ case AV_PIX_FMT_BGRA:
+ case AV_PIX_FMT_RGB555LE:
+ case AV_PIX_FMT_RGB48LE:
+ case AV_PIX_FMT_RGB48BE:
memset (data()[0], 0, sample_size(0).height * stride()[0]);
break;
- case PIX_FMT_UYVY422:
+ case AV_PIX_FMT_UYVY422:
{
int const Y = sample_size(0).height;
int const X = line_size()[0];
void
Image::make_transparent ()
{
- if (_pixel_format != PIX_FMT_RGBA) {
+ if (_pixel_format != AV_PIX_FMT_RGBA) {
throw PixelFormatError ("make_transparent()", _pixel_format);
}
void
Image::alpha_blend (shared_ptr<const Image> other, Position<int> position)
{
- DCPOMATIC_ASSERT (other->pixel_format() == PIX_FMT_RGBA);
+ DCPOMATIC_ASSERT (other->pixel_format() == AV_PIX_FMT_RGBA);
int const other_bpp = 4;
int start_tx = position.x;
}
switch (_pixel_format) {
- case PIX_FMT_RGB24:
+ case AV_PIX_FMT_RGB24:
{
int const this_bpp = 3;
for (int ty = start_ty, oy = start_oy; ty < size().height && oy < other->size().height; ++ty, ++oy) {
}
break;
}
- case PIX_FMT_BGRA:
- case PIX_FMT_RGBA:
+ case AV_PIX_FMT_BGRA:
+ case AV_PIX_FMT_RGBA:
{
int const this_bpp = 4;
for (int ty = start_ty, oy = start_oy; ty < size().height && oy < other->size().height; ++ty, ++oy) {
}
break;
}
- case PIX_FMT_RGB48LE:
+ case AV_PIX_FMT_RGB48LE:
{
int const this_bpp = 6;
for (int ty = start_ty, oy = start_oy; ty < size().height && oy < other->size().height; ++ty, ++oy) {
Image::copy (shared_ptr<const Image> other, Position<int> position)
{
/* Only implemented for RGB24 onto RGB24 so far */
- DCPOMATIC_ASSERT (_pixel_format == PIX_FMT_RGB24 && other->pixel_format() == PIX_FMT_RGB24);
+ DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB24 && other->pixel_format() == AV_PIX_FMT_RGB24);
DCPOMATIC_ASSERT (position.x >= 0 && position.y >= 0);
int const N = min (position.x + other->size().width, size().width) - position.x;
bpp[3] = floor ((d->comp[3].depth_minus1 + 1 + 7) / 8) / pow (2.0f, d->log2_chroma_w);
}
- if ((d->flags & PIX_FMT_PLANAR) == 0) {
+ if ((d->flags & AV_PIX_FMT_FLAG_PLANAR) == 0) {
/* Not planar; sum them up */
return bpp[0] + bpp[1] + bpp[2] + bpp[3];
}
Image::fade (float f)
{
switch (_pixel_format) {
- case PIX_FMT_YUV420P:
- case PIX_FMT_YUV422P:
- case PIX_FMT_YUV444P:
- case PIX_FMT_YUV411P:
- case PIX_FMT_YUVJ420P:
- case PIX_FMT_YUVJ422P:
- case PIX_FMT_YUVJ444P:
- case PIX_FMT_RGB24:
- case PIX_FMT_ARGB:
- case PIX_FMT_RGBA:
- case PIX_FMT_ABGR:
- case PIX_FMT_BGRA:
- case PIX_FMT_RGB555LE:
+ case AV_PIX_FMT_YUV420P:
+ case AV_PIX_FMT_YUV422P:
+ case AV_PIX_FMT_YUV444P:
+ case AV_PIX_FMT_YUV411P:
+ case AV_PIX_FMT_YUVJ420P:
+ case AV_PIX_FMT_YUVJ422P:
+ case AV_PIX_FMT_YUVJ444P:
+ case AV_PIX_FMT_RGB24:
+ case AV_PIX_FMT_ARGB:
+ case AV_PIX_FMT_RGBA:
+ case AV_PIX_FMT_ABGR:
+ case AV_PIX_FMT_BGRA:
+ case AV_PIX_FMT_RGB555LE:
/* 8-bit */
for (int c = 0; c < 3; ++c) {
uint8_t* p = data()[c];
}
break;
- case PIX_FMT_YUV422P9LE:
- case PIX_FMT_YUV444P9LE:
- case PIX_FMT_YUV422P10LE:
- case PIX_FMT_YUV444P10LE:
- case PIX_FMT_YUV422P16LE:
- case PIX_FMT_YUV444P16LE:
+ case AV_PIX_FMT_YUV422P9LE:
+ case AV_PIX_FMT_YUV444P9LE:
+ case AV_PIX_FMT_YUV422P10LE:
+ case AV_PIX_FMT_YUV444P10LE:
+ case AV_PIX_FMT_YUV422P16LE:
+ case AV_PIX_FMT_YUV444P16LE:
case AV_PIX_FMT_YUVA420P9LE:
case AV_PIX_FMT_YUVA422P9LE:
case AV_PIX_FMT_YUVA444P9LE:
}
break;
- case PIX_FMT_YUV422P9BE:
- case PIX_FMT_YUV444P9BE:
- case PIX_FMT_YUV444P10BE:
- case PIX_FMT_YUV422P10BE:
+ case AV_PIX_FMT_YUV422P9BE:
+ case AV_PIX_FMT_YUV444P9BE:
+ case AV_PIX_FMT_YUV444P10BE:
+ case AV_PIX_FMT_YUV422P10BE:
case AV_PIX_FMT_YUVA420P9BE:
case AV_PIX_FMT_YUVA422P9BE:
case AV_PIX_FMT_YUVA444P9BE:
}
break;
- case PIX_FMT_UYVY422:
+ case AV_PIX_FMT_UYVY422:
{
int const Y = sample_size(0).height;
int const X = line_size()[0];
shared_ptr<Image>
J2KImageProxy::image (optional<dcp::NoteHandler> note) const
{
- shared_ptr<Image> image (new Image (PIX_FMT_RGB48LE, _size, true));
+ shared_ptr<Image> image (new Image (AV_PIX_FMT_RGB48LE, _size, true));
shared_ptr<dcp::OpenJPEGImage> oj = dcp::decompress_j2k (const_cast<uint8_t*> (_data.data().get()), _data.size (), 0);
dcp::Size size (magick_image->columns(), magick_image->rows());
- _image.reset (new Image (PIX_FMT_RGB24, size, true));
+ _image.reset (new Image (AV_PIX_FMT_RGB24, size, true));
/* Write line-by-line here as _image must be aligned, and write() cannot be told about strides */
uint8_t* p = _image->data()[0];
if (node->optional_number_child<int> ("SubtitleX")) {
shared_ptr<Image> image (
- new Image (PIX_FMT_RGBA, dcp::Size (node->number_child<int> ("SubtitleWidth"), node->number_child<int> ("SubtitleHeight")), true)
+ new Image (AV_PIX_FMT_RGBA, dcp::Size (node->number_child<int> ("SubtitleWidth"), node->number_child<int> ("SubtitleHeight")), true)
);
image->read_from_socket (socket);
/* ...and add a bit more for luck */
height += target.height / 11;
- shared_ptr<Image> image (new Image (PIX_FMT_RGBA, dcp::Size (target.width, height), false));
+ shared_ptr<Image> image (new Image (AV_PIX_FMT_RGBA, dcp::Size (target.width, height), false));
image->make_black ();
Cairo::RefPtr<Cairo::ImageSurface> surface = Cairo::ImageSurface::create (
, _last_seek_accurate (true)
, _ignore_video (false)
{
- _black_image.reset (new Image (PIX_FMT_RGB24, _video_content->video_size(), true));
+ _black_image.reset (new Image (AV_PIX_FMT_RGB24, _video_content->video_size(), true));
_black_image->make_black ();
}
if (!pvf.empty ()) {
try {
- _frame = pvf.front()->image (PIX_FMT_RGB24, boost::bind (&Log::dcp_log, _film->log().get(), _1, _2));
+ _frame = pvf.front()->image (AV_PIX_FMT_RGB24, boost::bind (&Log::dcp_log, _film->log().get(), _1, _2));
ImageChanged (pvf.front ());
dcp::YUVToRGB yuv_to_rgb = dcp::YUV_TO_RGB_REC601;
yuv_to_rgb = pvf.front()->colour_conversion().get().yuv_to_rgb();
}
- _frame = _frame->scale (_frame->size(), yuv_to_rgb, PIX_FMT_RGB24, false);
+ _frame = _frame->scale (_frame->size(), yuv_to_rgb, AV_PIX_FMT_RGB24, false);
_position = pvf.front()->time ();
_inter_position = pvf.front()->inter_position ();
_inter_size = pvf.front()->inter_size ();
}
dcp::Size const size = _image->size();
- _waveform.reset (new Image (PIX_FMT_RGB24, dcp::Size (size.width, size.height), true));
+ _waveform.reset (new Image (AV_PIX_FMT_RGB24, dcp::Size (size.width, size.height), true));
for (int x = 0; x < size.width; ++x) {
_waveform = _waveform->scale (
dcp::Size (GetSize().GetWidth() - 32, GetSize().GetHeight() - _vertical_margin * 2),
- dcp::YUV_TO_RGB_REC709, PIX_FMT_RGB24, false
+ dcp::YUV_TO_RGB_REC709, AV_PIX_FMT_RGB24, false
);
}
BOOST_AUTO_TEST_CASE (client_server_test_rgb)
{
- shared_ptr<Image> image (new Image (PIX_FMT_RGB24, dcp::Size (1998, 1080), true));
+ shared_ptr<Image> image (new Image (AV_PIX_FMT_RGB24, dcp::Size (1998, 1080), true));
uint8_t* p = image->data()[0];
for (int y = 0; y < 1080; ++y) {
p += image->stride()[0];
}
- shared_ptr<Image> sub_image (new Image (PIX_FMT_RGBA, dcp::Size (100, 200), true));
+ shared_ptr<Image> sub_image (new Image (AV_PIX_FMT_RGBA, dcp::Size (100, 200), true));
p = sub_image->data()[0];
for (int y = 0; y < 200; ++y) {
uint8_t* q = p;
BOOST_AUTO_TEST_CASE (client_server_test_yuv)
{
- shared_ptr<Image> image (new Image (PIX_FMT_YUV420P, dcp::Size (1998, 1080), true));
+ shared_ptr<Image> image (new Image (AV_PIX_FMT_YUV420P, dcp::Size (1998, 1080), true));
for (int i = 0; i < image->planes(); ++i) {
uint8_t* p = image->data()[i];
}
}
- shared_ptr<Image> sub_image (new Image (PIX_FMT_RGBA, dcp::Size (100, 200), true));
+ shared_ptr<Image> sub_image (new Image (AV_PIX_FMT_RGBA, dcp::Size (100, 200), true));
uint8_t* p = sub_image->data()[0];
for (int y = 0; y < 200; ++y) {
uint8_t* q = p;
BOOST_AUTO_TEST_CASE (client_server_test_j2k)
{
- shared_ptr<Image> image (new Image (PIX_FMT_YUV420P, dcp::Size (1998, 1080), true));
+ shared_ptr<Image> image (new Image (AV_PIX_FMT_YUV420P, dcp::Size (1998, 1080), true));
for (int i = 0; i < image->planes(); ++i) {
uint8_t* p = image->data()[i];
BOOST_AUTO_TEST_CASE (aligned_image_test)
{
- Image* s = new Image (PIX_FMT_RGB24, dcp::Size (50, 50), true);
+ Image* s = new Image (AV_PIX_FMT_RGB24, dcp::Size (50, 50), true);
BOOST_CHECK_EQUAL (s->planes(), 1);
/* 160 is 150 aligned to the nearest 32 bytes */
BOOST_CHECK_EQUAL (s->stride()[0], 160);
BOOST_CHECK_EQUAL (t->stride()[0], s->stride()[0]);
/* assignment operator */
- Image* u = new Image (PIX_FMT_YUV422P, dcp::Size (150, 150), false);
+ Image* u = new Image (AV_PIX_FMT_YUV422P, dcp::Size (150, 150), false);
*u = *s;
BOOST_CHECK_EQUAL (u->planes(), 1);
BOOST_CHECK_EQUAL (u->stride()[0], 160);
BOOST_AUTO_TEST_CASE (compact_image_test)
{
- Image* s = new Image (PIX_FMT_RGB24, dcp::Size (50, 50), false);
+ Image* s = new Image (AV_PIX_FMT_RGB24, dcp::Size (50, 50), false);
BOOST_CHECK_EQUAL (s->planes(), 1);
BOOST_CHECK_EQUAL (s->stride()[0], 50 * 3);
BOOST_CHECK_EQUAL (s->line_size()[0], 50 * 3);
BOOST_CHECK_EQUAL (t->stride()[0], s->stride()[0]);
/* assignment operator */
- Image* u = new Image (PIX_FMT_YUV422P, dcp::Size (150, 150), true);
+ Image* u = new Image (AV_PIX_FMT_YUV422P, dcp::Size (150, 150), true);
*u = *s;
BOOST_CHECK_EQUAL (u->planes(), 1);
BOOST_CHECK_EQUAL (u->stride()[0], 50 * 3);
for (list<AVPixelFormat>::const_iterator i = pix_fmts.begin(); i != pix_fmts.end(); ++i) {
boost::shared_ptr<Image> foo (new Image (*i, in_size, true));
foo->make_black ();
- boost::shared_ptr<Image> bar = foo->scale (out_size, dcp::YUV_TO_RGB_REC601, PIX_FMT_RGB24, true);
+ boost::shared_ptr<Image> bar = foo->scale (out_size, dcp::YUV_TO_RGB_REC601, AV_PIX_FMT_RGB24, true);
uint8_t* p = bar->data()[0];
for (int y = 0; y < bar->size().height; ++y) {