*width = codec_context->width;
*height = codec_context->height;
- mlt_properties_set_int( frame_properties, "width", *width );
- mlt_properties_set_int( frame_properties, "height", *height );
if ( codec_context->pix_fmt == PIX_FMT_RGB32 )
size = *width * ( *height + 1 ) * 4;
// Set the resolution
*width = codec_context->width;
*height = codec_context->height;
- mlt_properties_set_int( frame_properties, "width", *width );
- mlt_properties_set_int( frame_properties, "height", *height );
+
+ // Workaround 1088 encodings missing cropping info.
+ if ( *height == 1088 && mlt_profile_dar( mlt_service_profile( MLT_PRODUCER_SERVICE( producer ) ) ) == 16.0/9.0 )
+ *height = 1080;
// Cache hit
int size;
{
// Duplicate it
if ( ( image_size = allocate_buffer( frame_properties, codec_context, buffer, format, width, height ) ) )
+ {
+ // Workaround 1088 encodings missing cropping info.
+ if ( *height == 1088 && mlt_profile_dar( mlt_service_profile( MLT_PRODUCER_SERVICE( producer ) ) ) == 16.0/9.0 )
+ *height = 1080;
#ifdef VDPAU
if ( this->vdpau && this->vdpau->buffer )
{
else
#endif
convert_image( (void**) &this->swscale, this->av_frame, *buffer, codec_context->pix_fmt, format, *width, *height );
+ }
else
mlt_frame_get_image( frame, buffer, format, width, height, writable );
}
{
if ( ( image_size = allocate_buffer( frame_properties, codec_context, buffer, format, width, height ) ) )
{
+ // Workaround 1088 encodings missing cropping info.
+ if ( *height == 1088 && mlt_profile_dar( mlt_service_profile( MLT_PRODUCER_SERVICE( producer ) ) ) == 16.0/9.0 )
+ *height = 1080;
#ifdef VDPAU
if ( this->vdpau )
{
mlt_properties_set_int( frame_properties, "real_height", this->video_codec->height );
mlt_properties_set_double( frame_properties, "aspect_ratio", aspect_ratio );
+ // Workaround 1088 encodings missing cropping info.
+ if ( this->video_codec->height == 1088 && mlt_profile_dar( mlt_service_profile( MLT_PRODUCER_SERVICE( producer ) ) ) == 16.0/9.0 )
+ mlt_properties_set_int( frame_properties, "real_height", 1080 );
+
// Add our image operation
mlt_frame_push_service( frame, this );
mlt_frame_push_get_image( frame, producer_get_image );