diff --git a/build/jam/OptionalBuildFeatures b/build/jam/OptionalBuildFeatures index 8c6a5ad65a..40727bc37a 100644 --- a/build/jam/OptionalBuildFeatures +++ b/build/jam/OptionalBuildFeatures @@ -222,7 +222,7 @@ if $(TARGET_ARCH) = x86 { HAIKU_LIBOGG_FILE = libogg-1.3.0-x86-gcc4-2012-03-12.zip ; HAIKU_LIBVPX_FILE = libvpx-1.0.0-x86-gcc4-2012-03-14.zip ; } else { - HAIKU_FFMPEG_FILE = ffmpeg-0.10-x86-gcc2-2012-03-19.zip ; + HAIKU_FFMPEG_FILE = ffmpeg-0.10-x86-gcc2-2012-03-22.zip ; HAIKU_SPEEX_FILE = speex-1.2rc1-x86-gcc2-2012-03-11.zip ; HAIKU_LIBTHEORA_FILE = libtheora-1.1.1-x86-gcc2-2012-03-11.zip ; HAIKU_LIBVORBIS_FILE = libvorbis-1.3.2-x86-gcc2-2012-03-11.zip ; diff --git a/src/add-ons/accelerants/radeon_hd/atombios/ObjectID.h b/src/add-ons/accelerants/radeon_hd/atombios/ObjectID.h index c61c3fe9fb..8ec594ced7 100644 --- a/src/add-ons/accelerants/radeon_hd/atombios/ObjectID.h +++ b/src/add-ons/accelerants/radeon_hd/atombios/ObjectID.h @@ -85,6 +85,7 @@ #define ENCODER_OBJECT_ID_INTERNAL_KLDSCP_LVTMA 0x1F #define ENCODER_OBJECT_ID_INTERNAL_UNIPHY1 0x20 #define ENCODER_OBJECT_ID_INTERNAL_UNIPHY2 0x21 +#define ENCODER_OBJECT_ID_INTERNAL_VCE 0x24 #define ENCODER_OBJECT_ID_GENERAL_EXTERNAL_DVO 0xFF @@ -387,6 +388,10 @@ GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ ENCODER_OBJECT_ID_NUTMEG << OBJECT_ID_SHIFT) +#define ENCODER_VCE_ENUM_ID1 ( GRAPH_OBHECT_TYPE_ENCODER << OBJECT_TYPE_SHIFT |\ + GRAPH_OBJECT_ENUM_ID1 << ENUM_ID_SHIFT |\ + ENCODER_OBJECT_ID_INTERNAL_VCE << OBJECT_ID_SHIFT) + /****************************************************/ /* Connector Object ID definition - Shared with BIOS */ /****************************************************/ diff --git a/src/add-ons/accelerants/radeon_hd/connector.cpp b/src/add-ons/accelerants/radeon_hd/connector.cpp index d5b307e44d..829bbf83ff 100644 --- a/src/add-ons/accelerants/radeon_hd/connector.cpp +++ b/src/add-ons/accelerants/radeon_hd/connector.cpp @@ -674,8 +674,8 @@ connector_probe() } // Set up information buses such as ddc - if ((connectorFlags - & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) { + if (((connectorFlags & ATOM_DEVICE_TV_SUPPORT) == 0) + && (connectorFlags & ATOM_DEVICE_CV_SUPPORT) == 0) { for (j = 0; j < connectorObject->ucNumberOfObjects; j++) { if (B_LENDIAN_TO_HOST_INT16(path->usConnObjectId) == B_LENDIAN_TO_HOST_INT16( diff --git a/src/add-ons/accelerants/radeon_hd/encoder.cpp b/src/add-ons/accelerants/radeon_hd/encoder.cpp index f5215a60d1..e4ccc02eb0 100644 --- a/src/add-ons/accelerants/radeon_hd/encoder.cpp +++ b/src/add-ons/accelerants/radeon_hd/encoder.cpp @@ -295,11 +295,14 @@ encoder_mode_set(uint8 id, uint32 pixelClock) case ENCODER_OBJECT_ID_INTERNAL_DAC2: case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2: encoder_analog_setup(connectorIndex, pixelClock, ATOM_ENABLE); - if ((encoderFlags - & (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) != 0) { - encoder_tv_setup(connectorIndex, pixelClock, ATOM_ENABLE); - } else { - encoder_tv_setup(connectorIndex, pixelClock, ATOM_DISABLE); + if (info.dceMajor < 5) { + // TV encoder was dropped in DCE 5 + if ((encoderFlags & ATOM_DEVICE_TV_SUPPORT != 0) + || (encoderFlags & ATOM_DEVICE_CV_SUPPORT) != 0) { + encoder_tv_setup(connectorIndex, pixelClock, ATOM_ENABLE); + } else { + encoder_tv_setup(connectorIndex, pixelClock, ATOM_DISABLE); + } } break; case ENCODER_OBJECT_ID_INTERNAL_TMDS1: @@ -1773,7 +1776,7 @@ encoder_output_lock(bool lock) } -static const char* encoder_name_matrix[36] = { +static const char* encoder_name_matrix[37] = { "NONE", "Internal Radeon LVDS", "Internal Radeon TMDS1", @@ -1809,7 +1812,8 @@ static const char* encoder_name_matrix[36] = { "Internal Kaleidoscope UNIPHY1", "Internal Kaleidoscope UNIPHY2", "External Travis Bridge", - "External Nutmeg Bridge" + "External Nutmeg Bridge", + "Internal Kaleidoscope VCE" }; diff --git a/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp b/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp index eebc583b82..9a1e0d3b9e 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVCodecDecoder.cpp @@ -127,9 +127,9 @@ AVCodecDecoder::~AVCodecDecoder() if (fCodecInitDone) avcodec_close(fContext); - free(fOutputPicture); - free(fInputPicture); - free(fContext); + av_free(fOutputPicture); + av_free(fInputPicture); + av_free(fContext); #if USE_SWS_FOR_COLOR_SPACE_CONVERSION if (fSwsContext != NULL) diff --git a/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp b/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp index 42804be611..58b26cc946 100644 --- a/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp +++ b/src/add-ons/media/plugins/ffmpeg/AVCodecEncoder.cpp @@ -106,10 +106,10 @@ AVCodecEncoder::~AVCodecEncoder() fFrame->linesize[1] = 0; fFrame->linesize[2] = 0; fFrame->linesize[3] = 0; - free(fFrame); + av_free(fFrame); } - free(fOwnContext); + av_free(fOwnContext); delete[] fChunkBuffer; }